Skip to main content
Glama

proxy-mcp

Universal MCP proxy server that discovers, searches, and executes tools across all your configured MCP servers from a single entry point.

Features

  • Proxy execution — Call any tool on any MCP server through execute_mcp_tool

  • Semantic search — Find tools by describing what you want to do, not by exact name

  • Connection pool — MCP subprocesses are spawned on-demand and reused across calls

  • Weight learning — The search system learns from your selections to improve rankings over time

  • Auto-indexing — All MCP tools are indexed on server startup (non-blocking)

Related MCP server: mcpproxy-go

Tools

Tool

Description

execute_mcp_tool

Execute any tool on any configured MCP server

search_tools

Semantic search across all indexed tools

list_available_mcps

List configured MCP servers and their status

refresh_tool_index

Re-index tools from MCP servers

get_learned_weights

View learned search weights

reset_learned_weights

Reset all learned weights

close_mcp_connections

Close all active MCP connections

Requirements

  • Python >= 3.10

  • uv (recommended) or pip

Installation

# Clone
git clone https://github.com/Rixmerz/proxy-mcp.git
cd proxy-mcp

# Install with uv
uv sync

Configuration

Add to ~/.claude.json under mcpServers:

{
  "mcpServers": {
    "proxy-mcp": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/proxy-mcp", "proxy-mcp"]
    }
  }
}

The proxy reads MCP server configs from:

  1. ~/.agentcockpit/mcps.json (priority)

  2. ~/.claude.json (fallback)

Usage examples

# Search for a tool by what you want to do
search_tools(query="expose service to internet")

# Execute a tool on a specific MCP
execute_mcp_tool(
    mcp_name="Context7",
    tool_name="get-library-docs",
    arguments={"context7CompatibleLibraryID": "/vercel/next.js", "topic": "routing"}
)

# List all available MCPs
list_available_mcps()

Data

Learned weights are stored at ~/.proxy-mcp/learned_weights.json.

License

MIT

Available Tools

7 tools
close_mcp_connectionsA

Close all active MCP connections.

Use this to clean up resources when done with MCP tools. Connections will be re-established on next use.

Inputs: no named parameters. Returns: object

execute_mcp_toolA

Execute any available MCP tool through the proxy.

This is the universal gateway for calling MCP tools. The proxy spawns MCP servers on-demand and maintains a connection pool for efficient reuse. MCP configurations are read from ~/.claude.json or ~/.agentcockpit/mcps.json.

Inputs: mcp_name (required), arguments (required), tool_name (required). Returns: object

get_learned_weightsA

View the learned weights from the search system.

Shows which tools have been selected and for which keywords, revealing how the system has learned from your selections.

Inputs: top_n, tool_filter. Returns: object

list_available_mcpsA

List all configured MCP servers and their connection status.

Returns the names of all MCP servers found in configuration, along with which ones have active connections.

Inputs: no named parameters. Returns: object

refresh_tool_indexA

Refresh the tool index for semantic search.

Connects to MCP servers and retrieves their tool lists for indexing. Use after adding new MCPs. The index is auto-loaded on server startup.

Inputs: mcp_name. Returns: object

reset_learned_weightsA

Reset all learned weights.

WARNING: This erases all accumulated learning.

Inputs: confirm. Returns: object

search_toolsA

Search tools by objective or description using semantic similarity.

Useful when you don't know the exact tool name but know what you want to do.

Inputs: query (required), mcp_filter, max_results. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.3/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: execution, search, server listing, weight management, index refresh, and connection cleanup. There is no functional overlap between any pair of tools.

    Naming Consistency5/5

    All tool names follow a uniform verb-first snake_case pattern (e.g., execute_mcp_tool, list_available_mcps, reset_learned_weights). The verbs are action-oriented and consistently describe the operation.

    Tool Count5/5

    Seven tools is well-scoped for a proxy MCP server covering discovery, execution, learning, and maintenance. Each tool earns its place without redundancy or bloat.

    Completeness5/5

    The tool set covers all essential operations for the proxy's purpose: finding tools (search_tools, refresh_tool_index), executing tools (execute_mcp_tool), managing servers (list_available_mcps, close_mcp_connections), and controlling learning (get/reset_learned_weights). No significant gaps are evident.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      B
      maintenance
      A flexible proxy server that aggregates multiple backend MCP servers into a single interface using STDIO or SSE transports. It supports dynamic server management via an HTTP API and utilizes namespacing to prevent tool conflicts across connected services.
      3
      1
      MIT
    • A
      license
      A
      quality
      A
      maintenance
      Local-first MCP proxy with BM25 tool discovery, quarantine security, Docker isolation, OAuth support, activity logging, and web UI. Routes multiple upstream MCP servers through a single endpoint.
      9
      413
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A proxy MCP server that aggregates tools from multiple MCP servers and forwards calls to the appropriate server, used with the Metatool App for GUI tool management.
      5
      Apache 2.0
    • A
      license
      Not graded
      quality
      D
      maintenance
      Aggregates multiple backend MCP servers into a single unified interface with optional web management UI for tool control and configuration.
      120 npm
      195
      MIT