diff --git a/docs/toolhive/_partials/_client-compat-table.md b/docs/toolhive/_partials/_client-compat-table.md index 46fc7642..cdbf42ae 100644 --- a/docs/toolhive/_partials/_client-compat-table.md +++ b/docs/toolhive/_partials/_client-compat-table.md @@ -17,9 +17,9 @@ | Continue (VS Code) | ✅ | ❌ | v1.0.14+ | | Continue (JetBrains) | ✅ | ❌ | v1.0.23+ | | PydanticAI | ✅ | ❌ | v0.2.18+ | -| ChatGPT Desktop | ❌ | ❌ | See [workaround for STDIO-only clients][4] | -| Claude Desktop | ❌ | ❌ | See [workaround for STDIO-only clients][4] | -| Kiro | ❌ | ❌ | See [workaround for STDIO-only clients][4] | +| ChatGPT Desktop | ✅ | ❌ | v0.2.7+ ([see note][4]) | +| Claude Desktop | ✅ | ❌ | v0.2.7+ ([see note][4]) | +| Kiro | ✅ | ❌ | v0.2.7+ ([see note][4]) | [3]: /toolhive/reference/client-compatibility.mdx#vs-code-with-copilot [4]: /toolhive/reference/client-compatibility#stdio-only-client-configuration diff --git a/docs/toolhive/reference/client-compatibility.mdx b/docs/toolhive/reference/client-compatibility.mdx index 7107d8ba..37ddbbe9 100644 --- a/docs/toolhive/reference/client-compatibility.mdx +++ b/docs/toolhive/reference/client-compatibility.mdx @@ -247,28 +247,58 @@ Copilot for JetBrains supports SSE (`"type": "sse"`) and Streamable HTTP ### STDIO-only client configuration -If your client only supports the STDIO transport, you can use the -[remote-mcp](https://www.npmjs.com/package/mcp-remote) npm package to proxy the -ToolHive MCP sever over STDIO. +Some MCP clients, like Claude Desktop, only support MCP servers that communicate +via STDIO transport. However, many popular MCP servers use Server-Sent Events +(SSE) or Streamable HTTP transport protocols. -Example configuration: +ToolHive's `thv proxy stdio` command transforms servers using SSE or Streamable +HTTP into STDIO-compatible processes, enabling these clients to work with any +MCP server. + +**How it works:** + +1. ToolHive runs the MCP server 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. Your client interacts with this wrapper just like any other STDIO MCP server + +**Example:** + +First, run an MCP server with SSE transport: + +```bash +thv run osv --transport sse --name osv +``` + +Then configure your client to use the proxy stdio command. For Claude Desktop, +update your configuration file (typically located at +`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS): ```json { "mcpServers": { - "github": { - "command": "npx", - "args": [ - "mcp-remote", - "http://localhost:19046/sse#github", - "--transport", - "sse" - ] + "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 your client, the MCP server's tools will be available for use, +even though it uses SSE transport. + +For more details, see the +[`thv proxy stdio` CLI reference](../reference/cli/thv_proxy_stdio.md). + ## Related information - [Client configuration](../guides-cli/client-configuration.mdx)