modelcontextprotocol / modelcontextprotocol/java-sdk

SEP-2243: HTTP Header Standardization for Streamable HTTP Transport

Open
#990 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/server area/transport enhancement P1
Dominant language
Java
Stars
3.7k
Forks
1.1k
Avg merge
1d 15h
Merged PRs (30d)
9

Description

Description

Per SEP-2243 (HTTP Standard Headers), MCP clients MUST send the following HTTP headers on POST requests:

  • Mcp-Method: Set to the JSON-RPC method value from the request body (REQUIRED on every POST)
  • Mcp-Name: Set from params.name (for tools/call, prompts/get) or params.uri (for resources/read, resources/subscribe, resources/unsubscribe) when present

Context

The cxxmcp (C++ SDK) conformance testing revealed that the official conformance test suite's reference client (TypeScript SDK) does not send these headers, making the conformance suite self-contradictory. See:

Impact

Servers that enforce SEP-2243 (reject missing Mcp-Method with HTTP 400) are incompatible with clients that don't send these headers. This affects cross-SDK interoperability.

Request

Please implement Mcp-Method and Mcp-Name header support per SEP-2243 to ensure cross-SDK compatibility.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the Java SDK's streamable HTTP transport client and trace how POST requests are built. Use SEP-2243 and the request-body fields described here to determine the header values; done means applicable POST requests send Mcp-Method and Mcp-Name so servers enforcing the standard accept them.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.