MCP2HTTP logo

MCP2HTTP

by tekorex

MCP2HTTP is a transport adapter that allows MCP clients using stdio to communicate with MCP servers over stateless HTTP. It bridges the gap between stdio/SSE MCP and regular HTTP endpoints, enabling new integration possibilities.

View on GitHub

Last updated: N/A

What is MCP2HTTP?

MCP2HTTP is a minimal transport adapter that converts stdio MCP client requests to stateless HTTP requests for MCP servers. It enables Model Context Protocol clients using stdio to interact with servers designed for HTTP transport, facilitating integration with serverless platforms and legacy systems.

How to use MCP2HTTP?

Configure your MCP client to execute the mcp2http command with the endpoint URL and optional headers as arguments. For example, you can specify the command and arguments in your Claude Desktop configuration file to use MCP2HTTP as the transport for a specific MCP server.

Key features of MCP2HTTP

  • Client-Generated Session Tracking (Session-Id header)

  • Capability Filtering

  • Notification Handling (dropping notifications)

  • Basic transport layer conversion

  • Preserves protocol semantics

Use cases of MCP2HTTP

  • Connecting stdio MCP clients to HTTP MCP servers

  • Integrating MCP clients with serverless platforms

  • Interacting with legacy systems that only support HTTP

  • Reducing server load by filtering unsupported capability requests

  • Correlating requests in stateless HTTP environments

FAQ from MCP2HTTP

What is the purpose of the Session-Id header?

The Session-Id header allows for optional state tracking in stateless HTTP environments. It provides a simple way to correlate requests without requiring complex session management on the server side.

What happens to notifications?

Notifications (messages with no ID) are silently dropped, aligning with HTTP's request/response architecture.

Does MCP2HTTP replace proper authentication?

No, the Session-Id feature is intended to complement, not replace, proper authentication.

What if the server doesn't need session tracking?

Servers can safely ignore the Session-Id header entirely if they don't need session tracking.

What is capability filtering?

The adapter tracks server capabilities from the initialize response and blocks requests for unsupported capabilities. This reduces unnecessary load on the server.