toolhive icon indicating copy to clipboard operation
toolhive copied to clipboard

[Kubernetes MCPRegistry] Expose deployed and registered servers as remote servers

Open dmartinol opened this issue 2 months ago • 4 comments

Remote Servers

  • Using thv schema for now
  • Validate existing behavior (unit and e2e tests)
  • Watch deployed servers (e.g., MCPServer) and register matching servers as remote servers
    • Store data in separate storage and then merge in /v0/servers/ and /v0/servers/deployed?

dmartinol avatar Oct 07 '25 08:10 dmartinol

Not sure if we want to use the word remote servers here given the fact there is such a think as MCPRemoteProxy in reference to remote servers.

ChrisJBurns avatar Nov 18 '25 19:11 ChrisJBurns

The goal is to advertise these deployed servers using the Anthropic Registry remotes definition, there's way to name it differently if we want to match the standard:

    {
      "server": {
        "$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-16/server.schema.json",
        "name": "ai.smithery/saidsef-mcp-github-pr-issue-analyser",
...
        "remotes": [
          {
            "type": "streamable-http",
            "url": "https://server.smithery.ai/@saidsef/mcp-github-pr-issue-analyser/mcp",
            "headers": [
              {
                "description": "Bearer token for Smithery authentication",
                "value": "Bearer {smithery_api_key}",
                "name": "Authorization"
              }
            ]
          }
        ]
      },
..
    }

MCPRemoteProxy is a ToolHive operator term and it doesn't fit well in this space (of course, implementation-wise the endpoint could be implemented by such a resource, but that's a detail here)

dmartinol avatar Nov 19 '25 08:11 dmartinol

advertising MCPServers without any flag to opt in/out is kinda tricky. I rather have a flag or a way to opt in via annotations which is what i'd expect when operating a cluster. There are cases where I'm not ready to expose an MCPServer even if I've deployed it.

JAORMX avatar Nov 26 '25 17:11 JAORMX

advertising MCPServers without any flag to opt in/out is kinda tricky. I rather have a flag or a way to opt in via annotations which is what i'd expect when operating a cluster. There are cases where I'm not ready to expose an MCPServer even if I've deployed it.

of course labels/annotations must be used to identify the target registry. the original proposal of Sept 4 defined the matching labels

dmartinol avatar Nov 27 '25 08:11 dmartinol