Proxies many MCP servers behind one, managing their tools, prompts and resources through MetaMCP.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add metamcp --env METAMCP_API_KEY='<METAMCP_API_KEY>' -- npx -y @metamcp/mcp-server-metamcp@latest~/.codex/config.toml
[mcp_servers.metamcp]
command = "npx"
args = ["-y", "@metamcp/mcp-server-metamcp@latest"]
env = { METAMCP_API_KEY = "<METAMCP_API_KEY>" }
# codex mcp add metamcp --env METAMCP_API_KEY='<METAMCP_API_KEY>' -- npx -y @metamcp/mcp-server-metamcp@latest~/.cursor/mcp.json
{
"mcpServers": {
"metamcp": {
"command": "npx",
"args": [
"-y",
"@metamcp/mcp-server-metamcp@latest"
],
"env": {
"METAMCP_API_KEY": "<METAMCP_API_KEY>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"metamcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@metamcp/mcp-server-metamcp@latest"
],
"env": {
"METAMCP_API_KEY": "<METAMCP_API_KEY>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"metamcp": {
"command": "npx",
"args": [
"-y",
"@metamcp/mcp-server-metamcp@latest"
],
"env": {
"METAMCP_API_KEY": "<METAMCP_API_KEY>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"metamcp": {
"command": "npx",
"args": [
"-y",
"@metamcp/mcp-server-metamcp@latest"
],
"env": {
"METAMCP_API_KEY": "<METAMCP_API_KEY>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"metamcp": {
"command": "npx",
"args": [
"-y",
"@metamcp/mcp-server-metamcp@latest"
],
"env": {
"METAMCP_API_KEY": "<METAMCP_API_KEY>"
}
}
}
}Environment variables
METAMCP_API_KEY
Replace the placeholders with your own credentials and keep them out of version control.