Skip to content

Commit 0464501

Browse files
authored
Add guide for proxy stdio to integrate with claude desktop (#219)
1 parent 571a3f2 commit 0464501

File tree

2 files changed

+45
-15
lines changed

2 files changed

+45
-15
lines changed

docs/toolhive/_partials/_client-compat-table.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717
| Continue (VS Code) ||| v1.0.14+ |
1818
| Continue (JetBrains) ||| v1.0.23+ |
1919
| PydanticAI ||| v0.2.18+ |
20-
| ChatGPT Desktop | || See [workaround for STDIO-only clients][4] |
21-
| Claude Desktop | || See [workaround for STDIO-only clients][4] |
22-
| Kiro | || See [workaround for STDIO-only clients][4] |
20+
| ChatGPT Desktop | || v0.2.7+ ([see note][4]) |
21+
| Claude Desktop | || v0.2.7+ ([see note][4]) |
22+
| Kiro | || v0.2.7+ ([see note][4]) |
2323

2424
[3]: /toolhive/reference/client-compatibility.mdx#vs-code-with-copilot
2525
[4]: /toolhive/reference/client-compatibility#stdio-only-client-configuration

docs/toolhive/reference/client-compatibility.mdx

Lines changed: 42 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -247,28 +247,58 @@ Copilot for JetBrains supports SSE (`"type": "sse"`) and Streamable HTTP
247247

248248
### STDIO-only client configuration
249249

250-
If your client only supports the STDIO transport, you can use the
251-
[remote-mcp](https://www.npmjs.com/package/mcp-remote) npm package to proxy the
252-
ToolHive MCP sever over STDIO.
250+
Some MCP clients, like Claude Desktop, only support MCP servers that communicate
251+
via STDIO transport. However, many popular MCP servers use Server-Sent Events
252+
(SSE) or Streamable HTTP transport protocols.
253253

254-
Example configuration:
254+
ToolHive's `thv proxy stdio` command transforms servers using SSE or Streamable
255+
HTTP into STDIO-compatible processes, enabling these clients to work with any
256+
MCP server.
257+
258+
**How it works:**
259+
260+
1. ToolHive runs the MCP server in its container with its default transport
261+
(SSE, HTTP, or other)
262+
2. The `thv proxy stdio` command sets up a STDIO-level wrapper pointing to that
263+
existing server
264+
3. Your client interacts with this wrapper just like any other STDIO MCP server
265+
266+
**Example:**
267+
268+
First, run an MCP server with SSE transport:
269+
270+
```bash
271+
thv run osv --transport sse --name osv
272+
```
273+
274+
Then configure your client to use the proxy stdio command. For Claude Desktop,
275+
update your configuration file (typically located at
276+
`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
255277

256278
```json
257279
{
258280
"mcpServers": {
259-
"github": {
260-
"command": "npx",
261-
"args": [
262-
"mcp-remote",
263-
"http://localhost:19046/sse#github",
264-
"--transport",
265-
"sse"
266-
]
281+
"osv": {
282+
"command": "thv",
283+
"args": ["proxy", "stdio", "osv"]
267284
}
268285
}
269286
}
270287
```
271288

289+
:::tip
290+
291+
The workload name you pass to `thv proxy stdio` (in this case, `osv`) must match
292+
the name you used when running the server with `thv run`.
293+
294+
:::
295+
296+
After restarting your client, the MCP server's tools will be available for use,
297+
even though it uses SSE transport.
298+
299+
For more details, see the
300+
[`thv proxy stdio` CLI reference](../reference/cli/thv_proxy_stdio.md).
301+
272302
## Related information
273303

274304
- [Client configuration](../guides-cli/client-configuration.mdx)

0 commit comments

Comments
 (0)