A command-line desktop client for connecting to MCP (Model Context Protocol) servers via standard input/output (StdIO). This client is designed to work seamlessly with AI assistants and applications that communicate through StdIO, such as Claude and other desktop AI applications.
The http4k MCP Desktop Client serves as a proxy that enables communication between desktop applications and MCP servers. While it works with any MCP-compliant server, it's specially optimized for servers built using the http4k MCP SDK.
- Multiple remote transport options: HTTP Streaming, SSE (Server-Sent Events), JSON-RPC, WebSocket
- Various authentication methods: API Key, Bearer Token, Basic Auth, and OAuth
- Customizable reconnection strategy
- Simple StdIO interface for easy integration with desktop applications when using natively compiled Kotlin apps.
The MCP Standard remote protocol is HTTP Streaming, which superceded the previous standard (SSE) in the 2025-03-26 version. http4k has implemented other standard transports into the http4k-mcp-desktop, as these will be more appropriate for distributed/hosted MCP servers.
| Protocol | Standard/Extension | State | Default server path | Setting | Description |
|---|---|---|---|---|---|
| HTTP Non-streaming | MCP Standard | Stateless | http://host/mcp |
http-nonstream |
Pure HTTP-based streaming communication Use this setting for Cursor! |
| HTTP Streaming | MCP Standard | Stateful | http://host/mcp |
http-stream |
HTTP/SSE-based streaming communication. Supports sessions and replaying/reconnection of stram |
| SSE | MCP (Legacy) | Stateful | http://host/sse |
sse |
Server-Sent Events, part of HTML5 spec, ideal for streaming data from server to client |
| WebSocket | Protocol Extension | Stateful | http://host/ws |
websocket |
Full-duplex communication protocol, maintains persistent connection |
| JSON-RPC | Protocol Extension | Stateless | http://host/jsonrpc |
jsonrpc |
Remote Procedure Call protocol encoded in JSON, request/response model |
