MCP Gateway
by minovap
The MCP Gateway aggregates multiple MCP resource servers through a single interface. It provides a unified endpoint for accessing and managing these servers.
Last updated: N/A
MCP Gateway
An MCP gateway that aggregates multiple MCP resource servers through a single interface.
Features
- MCP Proxy: A single endpoint for accessing multiple MCP servers
- Batch Request Tool: Optimized parallel execution for multiple tool calls
- Configuration Merging: Works with Claude desktop configuration
Configuration Paths
The gateway looks for configuration files in the following order:
- Environment variable:
MCP_CONFIG_PATHif set - Claude desktop config:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
- Default:
config.jsonin current directory
Config Merging with Claude
The gateway can read the proxyBatchMcpServers section from your Claude desktop config:
{
"mcpServers": {
"mcp-gateway": {
"command": "npx",
"args": [
"-y",
"@thinkware/mcp-gateway"
]
}
},
"proxyBatchMcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop",
"/path/to/other/allowed/dir"
],
"toolOverrides": {
"read_file": {
"enabled": true,
"description": "Read complete contents of a file\nInput: path (string)\nReads complete file contents with UTF-8 encoding"
},
"read_multiple_files": {
"enabled": false
}
}
},
"server-1": {
"command": "/path/to/server1/build/index.js",
"toolOverrides": {
"some_tool": {
"enabled": true,
"description": "Custom description"
}
}
}
}
}
Server Configuration Options
| Option | Type | Description | Required |
|--------|------|-------------|----------|
| command | string | Path to server executable | Yes (for command servers) |
| args | string[] | Command arguments | No |
| env | object | Environment variables | No |
| url | string | SSE endpoint URL | Yes (for SSE servers) |
| toolOverrides | object | Tool customization | No |
Tool Override Options
| Option | Type | Description | Default |
|--------|------|-------------|---------|
| enabled | boolean | Enable/disable tool | true |
| description | string | Custom tool description | Original description |
| disabled | boolean | Disable entire tool | false |
Environment Variables
{
"mcpServers": {
"mcp-gateway": {
"command": "npx",
"args": [
"-y",
"@thinkware/mcp-gateway"
],
"env": {
"MCP_GATEWAY_LOG_FILE": "/path/to/logs/mcp-gateway.log"
}
}
}
}
Development
# Install dependencies
npm install
# Development with auto-rebuild
npm run dev
# Build
npm run build