mcpField
🌱
🌱 mcp-origin

🌱 mcp-origin

Local
github.com/dstotijnDeveloper Tools5Updated 84w ago

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

  1. 01Connects multiple MCP servers through one proxy
  2. 02Registers tools discovered from connected servers
  3. 03Prefixes proxied tools with server IDs
  4. 04Stores server settings in a JSON file
  5. 05Installs and removes server connections

Use cases

  1. 01Combining tools from several MCP servers
  2. 02Adding or disconnecting a server through built-in tools
  3. 03Refreshing tools after server configuration changes
  4. 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.

mcp.json · Universal config
{
"mcpServers": {
"origin": {
"command": "npx",
"args": [
"-y",
"binrun"
]
}
}
}
Run commandnpx -y binrun

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmbinrun

Tools

No tool list yet

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

Apache-2.0 license


© 2025 David Stotijn

Comments

Markdown supported

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.