hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Provides code coverage reporting for the mcp-proxy project as indicated by the codecov badge at the top of the README.
Supports running and extending the proxy as a Docker container, with instructions for creating custom Docker images and Docker Compose setup.
Allows installation of the proxy via GitHub repository and displays GitHub license information through a badge.
mcp-프록시
에 대한
mcp-proxy
서버 전송 방식을 전환할 수 있는 도구입니다. 지원되는 모드는 두 가지입니다.
- stdio를 SSE로
- SSE에서 stdio로
1. stdio를 SSE로
stdio에서 원격 SSE 서버에 연결하는 프록시 서버를 실행합니다.
이 모드를 사용하면 Claude Desktop과 같은 클라이언트가 기본적으로 지원되지 않더라도 SSE를 통해 원격 서버와 통신할 수 있습니다.
지엑스피1
1.1 구성
이 모드에서는 프로그램의 첫 번째 인수로 MCP 서버 SSE 엔드포인트에 URL을 전달해야 합니다.
인수
이름 | 필수의 | 설명 | 예 |
---|---|---|---|
command_or_url | 예 | 연결할 MCP 서버 SSE 엔드포인트 | http://example.io/sse |
--headers | 아니요 | MCP 서버 SSE 연결에 사용할 헤더 | 권한 'Bearer my-secret-access-token' |
환경 변수
이름 | 필수의 | 설명 | 예 |
---|---|---|---|
API_ACCESS_TOKEN | 아니요 | --headers Authorization 'Bearer <API_ACCESS_TOKEN>' | 당신의 토큰 |
1.2 사용 예
mcp-proxy
MCP 클라이언트에 의해 시작되도록 되어 있으므로 구성도 그에 맞게 이루어져야 합니다.
Claude Desktop의 경우 구성 항목은 다음과 같습니다.
2. SSE에서 stdio로
로컬 stdio 서버에 연결하는 SSE 서버를 노출하는 프록시 서버를 실행합니다.
이렇게 하면 로컬 stdio 서버에 원격으로 연결할 수 있습니다. mcp-proxy
SSE 요청을 수신하기 위해 포트를 열고, MCP 요청을 처리하는 로컬 stdio 서버를 생성합니다.
2.1 구성
이 모드에서는 --sse-port
인수를 설정해야 합니다. --sse-host
인수를 설정하여 SSE 서버가 수신 대기할 호스트 IP 주소를 지정할 수 있습니다. --env
인수를 사용하여 추가 환경 변수를 로컬 stdio 서버로 전달할 수 있습니다. 로컬 stdio 서버의 명령줄 인수는 --
구분 기호 뒤에 전달해야 합니다.
인수
이름 | 필수의 | 설명 | 예 |
---|---|---|---|
command_or_url | 예 | MCP stdio 서버를 생성하는 명령 | uvx mcp-server-fetch |
--sse-port | 아니요, 무작위로 사용 가능 | 수신할 SSE 서버 포트 | 8080 |
--sse-host | 아니요, 기본값은 127.0.0.1 입니다. | SSE 서버가 수신할 호스트 IP 주소 | 0.0.0.0 |
--env | 아니요 | MCP stdio 서버에 전달할 추가 환경 변수 | 푸=바 |
--pass-environment | 아니요 | 서버를 생성할 때 모든 환경 변수를 전달합니다. | --no-pass-environment |
--allow-origin | 아니요 | 서버를 생성할 때 모든 환경 변수를 전달합니다. | --allow-cors "*" |
2.2 사용 예
포트 8080에서 수신하고 로컬 MCP 서버에 연결하는 mcp-proxy
서버를 시작하려면:
이렇게 하면 http://127.0.0.1:8080/sse
에 연결할 수 있는 MCP 서버가 시작됩니다.
설치
Smithery를 통해 설치
Smithery 를 통해 Claude Desktop용 MCP 프록시를 자동으로 설치하려면:
PyPI를 통해 설치
패키지의 안정 버전은 PyPI 저장소에서 다운로드할 수 있습니다. 다음 명령을 사용하여 설치할 수 있습니다.
설치가 완료되면 mcp-proxy
명령을 사용하여 서버를 실행할 수 있습니다. 각 모드의 구성 옵션은 위에서 확인하세요.
Github 저장소를 통해 설치(최신)
다음 명령을 사용하여 git 저장소에서 최신 버전의 패키지를 설치할 수 있습니다.
[!NOTE] 이미 서버를 설치한 경우
uv tool upgrade --reinstall
명령을 사용하여 업데이트할 수 있습니다.
[!NOTE] 서버를 삭제하려면
uv tool uninstall mcp-proxy
명령을 사용하세요.
컨테이너로 설치
버전 0.3.2부터 해당 컨테이너 이미지를 가져와서 실행할 수 있습니다.
문제 해결
- 문제 : Claude Desktop이 서버를 시작할 수 없습니다. 로그에 ENOENT 코드가 있습니다.해결책 : 바이너리의 전체 경로를 사용해 보세요. 터미널을 열고
where mcp-proxy
(macOS, Linux) 또는where.exe mcp-proxy
(Windows) 명령을 실행하세요. 그런 다음 출력 경로를 'command' 속성의 값으로 사용하세요.Copy
컨테이너 이미지 확장
mcp-proxy
컨테이너 이미지를 확장하여 추가 실행 파일을 포함할 수 있습니다. 예를 들어, uv
기본적으로 포함되어 있지 않지만, 이를 사용하여 사용자 지정 이미지를 만들 수 있습니다.
Docker Compose 설정
사용자 정의 Dockerfile을 사용하면 Docker Compose 파일에서 서비스를 정의할 수 있습니다.
[!NOTE]
--pass-environment
인수를 설정하는 것을 잊지 마세요. 그렇지 않으면 "관리되는 설치 또는 검색 경로에서 인터프리터를 찾을 수 없습니다"라는 오류가 발생합니다.
명령줄 인수
테스트
mcp-server-fetch
서버로 mcp-proxy
서버를 실행하여 확인하세요. 검사기 도구를 사용하여 대상 서버를 테스트할 수 있습니다.
You must be authenticated.
STDIO 대신 SSE 전송을 사용하여 원격 MCP 서버와의 상호작용을 활성화하여 통신 기능을 향상시킵니다.
- About
- 1. stdio to SSE
- 2. SSE to stdio
- Installation
- Extending the container image
- Docker Compose Setup
- Command line arguments
- Testing