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_PATH
if 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.json
in 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