sparfenyuk/mcp-proxy

A bridge between Streamable HTTP and stdio MCP transports

해결하는 문제

mcp-proxy를 사용하면 Model Context Protocol (MCP)용 서버 전송 방식을 전환할 수 있습니다. 특히 MCP 클라이언트와 서버가 서로 다른 통신 프로토콜을 사용할 때 발생하는 비호환성 문제를 해결합니다. 예를 들어 클라이언트가 표준 입력/출력(stdio)만 지원하지만 Server-Sent Events(SSE) 또는 Streamable HTTP를 사용하는 원격 서버에 연결해야 하는 경우입니다.

작동 방식

이 도구는 두 가지 주요 모드로 작동합니다.

  1. stdio에서 SSE/StreamableHTTP로: 로컬 브리지 역할을 합니다. MCP 클라이언트(예: Claude Desktop)는 stdio를 통해 mcp-proxy와 통신하고, 프록시는 해당 요청을 SSE 또는 Streamable HTTP를 통해 원격 MCP 서버로 전달합니다.
  2. SSE에서 stdio로: 서버 역할을 합니다. LLM 클라이언트의 SSE 요청을 수신하기 위해 네트워크 포트를 열고, 로컬의 stdio 기반 MCP 서버를 시작하여 해당 요청을 처리합니다.

또한 "명명된 서버"를 지원하여 단일 프록시 인스턴스가 URL 경로에 따라 여러 다른 stdio 서버로 요청을 관리하고 라우팅할 수 있습니다.

대상 사용자

원격 MCP 서버에 연결해야 하거나 로컬 MCP 서버를 원격 클라이언트에 노출해야 하는 MCP 호환 LLM 클라이언트의 개발자 및 사용자. 기본적으로 지원되는 전송 프로토콜에 관계없이 사용할 수 있습니다.

주요 기능

  • 양방향 전송 변환: stdio와 SSE/Streamable HTTP 간을 원활하게 변환합니다.
  • 유연한 인증: OAuth2, 기본 인증, 다이제스트 인증, 사용자 정의 헤더를 포함한 다양한 인증 방법을 지원합니다.
  • 명명된 서버 라우팅: 구성 파일 또는 CLI 인수를 사용하여 단일 SSE 엔드포인트 뒤에서 여러 stdio 서버를 호스팅할 수 있습니다.
  • CORS 지원: 특정 출처를 허용하고 SSE 서버용 사용자 정의 헤더를 노출하는 옵션을 포함합니다.
  • 컨테이너화된 배포: 더 쉬운 설정과 확장을 위해 Docker 이미지로 제공됩니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • Dispatch