Skip to content

list_tools returns empty when connecting to MetaMCP via mcp-proxy (SSE) #9

@mehmetbaykar

Description

@mehmetbaykar

Description

I am running a self-hosted instance of MetaMCP which aggregates approximately 10 different MCP servers. I am attempting to connect Code Mode to this MetaMCP instance to give the agent access to all aggregated tools at once.

I followed the official setup guide and the YouTube tutorial, configuring my .utcp_config.json to use the mcp call template with uvx mcp-proxy.

Current Behavior
The connection appears to initialize without crashing, but when the LLM (or manual execution) calls list_tools or search_tools, the result is always empty. No tools from the MetaMCP instance are discovered or registered by Code Mode.

Configuration
Here is the .utcp_config.json configuration I am using:

{
  "manual_call_templates": [
    {
      "name": "metamcp",
      "call_template_type": "mcp",
      "config": {
        "mcpServers": {
          "metamcp": {
            "command": "uvx",
            "args": [
              "mcp-proxy",
              "--transport",
              "streamablehttp",
              "https://metamcp.myserver.com/metamcp/Default/sse"
            ],
            "env": {
              "API_ACCESS_TOKEN": "MYAPIACCESSTOKEN" 
            }
          }
        }
      }
    }
  ]
}

Environment

  • OS: [macOS ]
  • Transport: SSE (Server-Sent Events)
  • Proxy: mcp-proxy via uvx
  • Aggregation: MetaMCP hosting ~10 servers

Expected Behavior
Code Mode should connect to the MetaMCP SSE endpoint, perform the handshake, and list_tools should populate with the tools aggregated by MetaMCP (e.g., github, filesystem, etc.), allowing the agent to call them via the metamcp namespace.

Possible Cause / Question
It seems like the authentication or tool discovery handshake is failing silently.

  1. Is uvx correctly passing the env variables (specifically API_ACCESS_TOKEN) to the spawned mcp-proxy process?
  2. Does Code Mode support tool discovery over an SSE connection bridged by stdio in this specific configuration?

Any guidance on debugging the connection handshake would be appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions