Skip to main content
Version: Next

Dynamic MCP Server Loading

MCPX loads a configuration file listing desired target MCP servers at config/mcp.json (overridable by the SERVERS_CONFIG_PATH environment variable).

This configuration follows the existing convention used by Claude Desktop - as seen here. Since Claude Desktop currently only supports stdio transports, we recommend an adapter such as mcp-remote to connect it to MCPX.

In this example, google-maps, slack, and linear are names of your choice, while the command and args fields under them tells MCPX how to spin up the desired MCP clients. The target MCP servers will run within the process of MCPX.

{
"mcpServers": {
"google-maps": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-google-maps"]
},
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_TEAM_ID": "<your-slack-team-id>",
"SLACK_CHANNEL_IDS": "<relevant-slack-channel-ids>"
}
},
"linear": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.linear.app/sse"]
}
}
}
note

Currently, JavaScript (Node.js), Python, and Docker-based MCP servers are supported. Broader support will be added as this project evolves.