mcp-desktop

MCP.Pizza Chef: http4k

The http4k MCP Desktop Client is a command-line client enabling desktop applications to connect to MCP servers through standard input/output (StdIO). It supports multiple remote transport protocols like HTTP Streaming, SSE, JSON-RPC, and WebSocket, and offers various authentication methods including API Key, Bearer Token, Basic Auth, and OAuth. Optimized for http4k MCP SDK servers, it provides a customizable reconnection strategy and a simple interface for native Kotlin desktop apps, facilitating smooth integration with AI assistants like Claude and other desktop AI applications.

Use This MCP client To

Connect desktop AI apps to MCP servers via StdIO Use multiple transport protocols for flexible server communication Authenticate MCP connections with API Key, OAuth, or Basic Auth Implement custom reconnection strategies for reliable connectivity Integrate Kotlin desktop apps with MCP servers easily Proxy MCP server communication for desktop AI assistants

README

http4k MCP Desktop Client

http4k Logo

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.

Overview

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.

Features

  • 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.

Remote Protocol Comparison

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

Installation

mcp-desktop FAQ

How does mcp-desktop handle different transport protocols?
It supports HTTP Streaming, SSE, JSON-RPC, and WebSocket for flexible MCP server communication.
What authentication methods does mcp-desktop support?
It supports API Key, Bearer Token, Basic Auth, and OAuth authentication methods.
Can mcp-desktop reconnect automatically if the connection drops?
Yes, it includes a customizable reconnection strategy to maintain stable connections.
Is mcp-desktop limited to any specific MCP servers?
No, it works with any MCP-compliant server but is optimized for http4k MCP SDK servers.
How does mcp-desktop integrate with desktop AI applications?
It uses a simple StdIO interface, making it easy to connect with native Kotlin desktop apps and AI assistants like Claude.
Can mcp-desktop be used with AI models from providers like OpenAI, Claude, or Gemini?
Yes, it facilitates communication with MCP servers that can connect to models from OpenAI, Claude, Gemini, and others.