About MCP Gateway
MCP Gateway aggregates multiple MCP resource servers behind one interface. It is for users who want a single endpoint, parallel batch tool calls, and configuration merging with Claude desktop.
Key features
- 01Proxy multiple servers through one endpoint
- 02Run tool calls in parallel batches
- 03Merge configuration with Claude desktop
- 04Customize or disable tools
Use cases
- 01Access several MCP servers through one interface
- 02Run multiple tool calls in parallel
- 03Apply tool overrides to configured servers
MCP support
Acts as an MCP proxy, aggregating multiple MCP servers and exposing them through a single endpoint. It supports batch tool requests and configurable tool overrides.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
1Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| purpose | string | Yes | A sentence describing the goal this batch call helps achieve. |
| requests | array | Yes |
Details
From the project READMEMCP 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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.