
kfirtoledo/multi-mcp
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
kfirtoledo/multi-mcp는 [[T0]에서 가져온 MCP 서버 후보입니다.
개요
kfirtoledo/multi-mcp는 [[T0]에서 가져온 MCP 서버 후보입니다.
개요(AI 번역)
유연하고 동적인 Multi-MCP 프록시 서버로, 연결과 라우팅 시 단일 MCP 서버로 작용합니다
STDIO 또는 SSE를 통해 여러 백엔드 MCP 서버가 있습니다.
🚀 특징
- ✅
STDIO및SSE전송 모두를 지원합니다 - ✅
STDIO또는SSE모드로 실행되는 MCP 서버에 연결할 수 있습니다 - ✅ 여러 MCP 서버에 대한 프록시 요청
- ✅ 연결된 서버에서 기능(도구, 프롬프트, 리소스)을 자동으로 초기화합니다.
- ✅ 런타임에 동적으로 MCP 서버를 추가/제거* (HTTP API를 통해)
- ✅ 같은 이름의 도구들을 서로 다른 서버에서 지원함(네임스페이스 사용)
- ✅ 쿠버네티스에 배포 가능하며, 프록시를 통해 연결된 모든 MCP 서버에 단일 포트를 노출
📦 설치
이 프로젝트를 현지에서 시작하려면 다음을 소개합니다:
🖥️ 지역 경주
필요에 따라 STDIO 또는 SSE 모드로 프록시를 로컬로 실행할 수 있습니다:
1. STDIO 모드
CLI 스타일 작동(파이프 기반 통신)을 위한 것입니다. 로컬 실행된 도구나 에이전트를 연쇄로 연결하는 데 사용됩니다.
2. SSE 모드
/sse 엔드포인트를 노출하는 HTTP SSE 서버를 실행합니다.
원격 접속, 브라우저 에이전트, 네트워크 기반 도구에 유용합니다.
이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.
README
원문 README의 일부입니다. 원문 보기.
Multi MCP
A flexible and dynamic Multi-MCP Proxy Server that acts as a single MCP server while connecting to and routing between
multiple backend MCP servers over STDIO or SSE.
🚀 Features
- ✅ Supports both
STDIOandSSEtransports - ✅ Can connect to MCP servers running in either
STDIOorSSEmode - ✅ Proxies requests to multiple MCP servers
- ✅ Automatically initializes capabilities (tools, prompts, resources) from connected servers
- ✅ Dynamically add/remove MCP servers at runtime (via HTTP API)
- ✅ Supports tools with the same name on different servers (using namespacing)
- ✅ Deployable on Kubernetes, exposing a single port to access all connected MCP servers through the proxy
📦 Installation
To get started with this project locally:
# Clone the repository
git clone https://github.com/kfirtoledo/multi-mcp.git
cd multi-mcp
# Install using uv (recommended)
uv venv
uv pip install -r requirements.txt
🖥️ Running Locally
You can run the proxy locally in either STDIO or SSE mode depending on your needs:
1. STDIO Mode
For CLI-style operation (pipe-based communication). Used for chaining locally executed tools or agents.
uv run main.py --transport stdio
2. SSE Mode
Runs an HTTP SSE server that exposes a /sse endpoint.
Useful for remote access, browser agents, and network-based tools.
uv run main.py --transport sse
Note: You can also configure the host and port using --host / --port arguments.
⚙️ Configuration
The proxy is initialized using a JSON config (default: ./mcp.json):
{
"mcpServers": {
"weather": {
"command": "python",
"args": ["./tools/get_weather.py"]
},
"calculator": {
"command": "python",
"args": ["./tools/calculator.py"]
}
}
}
This config defines the initial list of MCP-compatible servers to spawn and connect at startup.
Note: Tool names are namespaced internally as server_name::tool_name to avoid conflicts and allow multiple servers to expose tools with the same base name. For example, if an MCP server named calculator provides an add tool, it will be referenced as calculator::add.
You can also connect to a remote MCP server using SSE:
{
"mcpServers": {
"weather": {
"url": "http://127.0.0.1:9080/sse"
}
}
}
More examples can be found in the examples/config/ directory.
🔄 Dynamic Server Management (SSE only)
When running in SSE mode, you can add/remove/list MCP servers at runtime via HTTP endpoints:
| Method | Endpoint | Description |
|---|---|---|
GET |
/mcp_servers |
List active MCP servers |
POST |
/mcp_servers |
Add a new MCP server |
설치
This server does not publish a one-line install command.
Open the repository installation guide MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →설정
{
"mcpServers": {
"weather": {
"command": "python",
"args": ["./tools/get_weather.py"]
},
"calculator": {
"command": "python",
"args": ["./tools/calculator.py"]
}
}
}