Skip to main content

Expand transport compatibility with proxy stdio

Overview

Claude Desktop and many other MCP clients only support MCP servers that communicate via stdio transport. However, many popular MCP servers use Server-Sent Events (SSE) or Streamable-HTTP transport protocols. This means that out of the box, these clients cannot connect to those servers.

ToolHive overcomes this limitation with the thv proxy stdio command. This command transforms servers using SSE or Streamable-HTTP into stdio-compatible processes, immediately expanding the tools available to stdio-only clients like Claude Desktop.

How it works

The thv proxy stdio command wraps an existing MCP server—regardless of its transport method—and exposes it as a stdio-compatible process. When you use this command:

  1. ToolHive continues to run the MCP server (for example, osv) in its container with its default transport (SSE, HTTP, or other).
  2. The thv proxy stdio command sets up a stdio-level wrapper pointing to that existing server.
  3. Tools exposed by this MCP are recognized in your client and are ready to be used.
  4. Your client interacts with this wrapper just like any other stdio MCP server. The client has no idea whether the underlying server uses SSE or HTTP.

Usage example

Here's how to configure an SSE-based MCP server to work with Claude Desktop.

First, run an MCP server with SSE transport:

thv run osv --transport sse --name osv

Then configure Claude Desktop to use the proxy stdio command. Update your Claude Desktop configuration file (typically located at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
"mcpServers": {
"osv": {
"command": "thv",
"args": ["proxy", "stdio", "osv"]
}
}
}
tip

The workload name you pass to thv proxy stdio (in this case, osv) must match the name you used when running the server with thv run.

After restarting Claude Desktop, the MCP server's tools will be available for use, even though it uses SSE transport.

See also