An MCP proxy server that aggregates and serves multiple MCP resource servers through a single HTTP server.
Overview
what is MCP Proxy Server?
MCP Proxy Server is a tool that aggregates and serves multiple MCP resource servers through a single HTTP server, allowing for efficient management and access to various resources.
how to use MCP Proxy Server?
To use MCP Proxy Server, you can build it from source, install it via Go, or run it using Docker. Configuration is done through a JSON file that specifies server and client settings.
key features of MCP Proxy Server?
- Proxy multiple MCP clients by connecting to various resource servers.
- Support for Server-Sent Events (SSE) for real-time updates.
- Flexible configuration options for different client types.
use cases of MCP Proxy Server?
- Aggregating tools from multiple MCP resource servers for streamlined access.
- Providing real-time updates to clients through SSE.
- Customizing server behavior based on specific client configurations.
FAQ from MCP Proxy Server?
- How do I configure the MCP Proxy Server?
Configuration is done using a JSON file where you can specify server details and client types.
- Can I run MCP Proxy Server in a Docker container?
Yes! You can run it using Docker with the provided commands.
- What programming language is MCP Proxy Server written in?
MCP Proxy Server is written in Go.
Server Config
{
"mcpProxy": {
"baseURL": "https://mcp.example.com",
"addr": ":9090",
"name": "MCP Proxy",
"version": "1.0.0",
"options": {
"panicIfInvalid": false,
"logEnabled": true,
"authTokens": [
"DefaultTokens"
]
}
},
"mcpServers": {
"github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
},
"options": {
"toolFilter": {
"mode": "block",
"list": [
"create_or_update_file"
]
}
}
},
"fetch": {
"command": "uvx",
"args": [
"mcp-server-fetch"
],
"options": {
"panicIfInvalid": true,
"logEnabled": false,
"authTokens": [
"SpecificTokens"
]
}
},
"amap": {
"url": "https://mcp.amap.com/sse?key=<YOUR_TOKEN>"
}
}
}