mcp-origin

One MCP server to rule (well... manage) them all.

Visit Server
Added on 3/28/2025

🌱 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

Apache-2.0 license


© 2025 David Stotijn