About 🌱 mcp-origin
mcp-origin is an MCP server that acts as a proxy for managing and connecting to multiple MCP servers. It discovers their tools and exposes them under server-specific names; configuration is stored in a JSON file.
Key features
- 01Connects multiple MCP servers through one proxy
- 02Registers tools discovered from connected servers
- 03Prefixes proxied tools with server IDs
- 04Stores server settings in a JSON file
- 05Installs and removes server connections
Use cases
- 01Combining tools from several MCP servers
- 02Adding or disconnecting a server through built-in tools
- 03Refreshing tools after server configuration changes
- 04Calling a proxied tool by its server ID
MCP support
It connects to other MCP servers and proxies their tools to MCP clients. The README describes stdio connections as supported; SSE proxy support is listed as a TODO.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project README🌱 mcp-origin
One MCP server to rule (well... manage) them all.
Features
- Connect to multiple MCP servers via a single MCP proxy
- Proxy tool calls to the appropriate server using a consistent naming scheme
- Store server configurations in a simple JSON configuration file
- Automatic tool discovery and registration from connected MCP servers
TODO
- Use external MCP registry service for discovery
- Support SSE for proxied MCP servers
Usage
Use the following command and args for MCP over stdio:
npx binrun github.com/dstotijn/mcp-origin@latest
Available Tools
mcp-origin provides the following built-in tools:
search_mcp_servers
Search for available MCP servers that can be installed.
Important
This tool isn't implemented yet.
install_mcp_server
Install and connect to an MCP server. This tool requires the following parameters:
{
"id": "foobar", // Unique identifier for the MCP server
"type": "stdio", // Connection type (currently only "stdio" is supported)
"command": "npx", // Command to execute to start the MCP server
"args": ["-y", "@acme/mcp-foobar", ...] // Arguments to pass to the command
}
uninstall_mcp_server
Remove an MCP server from the configuration and disconnect from it. This tool requires the following parameter:
{
"id": "foobar" // The ID of the server to uninstall
}
refresh_tools
Refresh the list of tools from connected MCP servers. This tool accepts an optional parameter:
{
"server_id": "foobar" // Optional: Only refresh tools for this specific server
}
Proxied Tools
All tools from connected MCP servers are available with the prefix serverID.,
where serverID is the unique identifier for the MCP server.
For example, if you have a server installed with ID foobar that provides a
tool called search, the tool will be listed and is callable as
foobar.search.
Command-line Options
--http: HTTP listen address (default: ":8080")--stdio: Enable stdio transport (default: true)--sse: Enable SSE transport (default: false)--config: Path to configuration file (default: "~/.config/mcp-origin/mcp_origin_config.json")
License
© 2025 David Stotijn
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.