Easy MCP Proxy - Filter, transform, and compose MCP tools
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"easy-mcp-proxy","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# Easy MCP Proxy An MCP proxy server that aggregates tools from multiple upstream MCP servers and exposes them through **tool views** — filtered, transformed, and composed subsets of tools. > **Status**: Experimental 📖 **[Full Documentation](docs/index.md)** | 🚀 **[Tutorial](docs/tutorial.md)** | 📚 **[Reference](docs/reference.md)** ## Quick Start ### 1. Install ```bash uv pip install -e . ``` ### 2. Create a config file ```yaml # config.yaml mcp_servers: filesystem: command: npx args: [-y, "@modelcontextprotocol/server-filesystem", /home/user/documents] tool_views: default: tools: filesystem: read_file: {} list_directory: {} ``` ### 3. Run the proxy ```bash # For Claude Desktop (stdio) mcp-proxy serve --config config.yaml # For HTTP clients mcp-proxy serve --config config.yaml --transport http --port 8000 ``` ### 4. Use with Claude Desktop **Local (stdio)** — runs the proxy as a subprocess: ```json { "mcpServers": { "proxy": { "command": "uv", "args": ["run", "mcp-proxy", "serve", "--config", "/path/to/config.yaml"] } } } ``` **Remote (HTTP)** — connect to a proxy running on a server: ```json { "mcpServers": { "proxy": { "type": "http", "url": "https://your-proxy-server.example.com/mcp", "headers": { "Authorization": "Bearer your-auth-token" } } } } ``` This requires [authentication](docs/reference.md#authentication) to be configured on the proxy. See `mcp-proxy serve --help` for auth options. ## Example Use Cases ### Reduce Tool Count with Search Mode Too many tools overwhelming your LLM? Expose hundreds of tools through just two meta-tools: ```yaml tool_views: everything: exposure_mode: search include_all: true ``` This creates `everything_search_tools` (find tools by description) and `everything_call_tool` (call by name). The LLM searches first, then calls—no need to list every tool. ### Create Domain-Specific Interfaces…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.