Skip to content

everything MCP server not working under ToolHive #379

@BobDickinson

Description

@BobDickinson

I brought this up earlier in DIscord and @ChrisJBurns and I worked on trying to track it down. Seems like it's time to move it here.

When running the everything MCP server in ToolHive (whether using thv run everything or thv run npx://@modelcontextprotocol/server-everything) and connecting with anything that uses the MCP SDK (including Cursor or the MCP Inspector, or my own app, TeamSpark AI Workbench) the MCP server will fail to provide any tools, usually timing out.

I verified that I can run everything locally via stdio or SSE and it works fine from the same test tools, so this is only an issue when combining the MCP SDK, the ToolHive proxy, and the ToolHive container.

Here is what Chris got from Cursor:

Image

And here is what I got from my app logs:

12:56:16.962 › [MCP CLIENT] createTransport - url: http://localhost:25913/sse#everything
12:56:16.981 › MCP client error: Received a response for an unknown message ID: {"jsonrpc":"2.0","id":0,"result":{"protocolVersion":"2024-11-05","capabilities":{"prompts":{},"resources":{"subscribe":true},"tools":{},"logging":{},"completions":{}},"serverInfo":{"name":"example-servers/everything","version":"1.0.0"}}}
12:56:16.982 › [MCP CLIENT] connected, getting version
12:56:16.983 › [MCP CLIENT] connected, got version: {"name":"example-servers/everything","version":"1.0.0"}
12:56:16.983 › [MCP CLIENT] connected, getting tools
12:57:16.992 › Error connecting to MCP server: MCP error -32001: Request timed out

The above logs are generated from some very generic client code that opens a connection on an SSE transport pointing to the proxy, gets the version, and attempts to get the tools. The MCP client error message on line 2 comes through the onerror handler on the transport (the transport doesn't fail to connect or throw an exception, but it does emit this error). Then it times out when calling listTools().

I haven't had any issues with other MCP servers and this same client code (I've tested with many, including several using the SSE transport pointing at a ToolHive proxy endpoint).

I have reviewed both the MCP client SDK source and the everything server source and didn't see anything obvious (but I didn't go super deep).

Metadata

Metadata

Assignees

Labels

p0High

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions