Skip to content

GitHub remote MCP server missing GET support (spec non-compliant) #1951

Closed

Description

@sicoyle

Describe the bug

The MCP specification requires servers to support both POST and GET on the MCP endpoint. The GitHub remote MCP server currently supports POST only, which makes it non-compliant with the official MCP spec. To be compliant, the GitHub remote MCP server must add support for GET requests.

When this server is connected to an agent, it causes a hang in the modelcontextprotocol package’s streamable HTTP transport. See this PR
and the related response comment
for additional context.

https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http

Affected version

Remote MCP server endpoint: https://api.githubcopilot.com/mcp/.

Steps to reproduce the behavior

You can reproduce the issue by running my release note agent, which will hang when connecting to the remote MCP server:
https://github.com/sicoyle/release-note-agent

Expected vs actual behavior

My agent can connect to the Github remote MCP server.

Logs

n/a

Activity

  1. SamMorrowDrums commented on Feb 3, 2026

    @SamMorrowDrums
    Collaborator

    Thanks for the report @sicoyle

    I'm afraid to say that is actually not correct, as per your link in the section Listening for Messages from the Server

    The server MUST either return Content-Type: text/event-stream in response to this HTTP GET, or else return HTTP 405 Method Not Allowed, indicating that the server does not offer an SSE stream at this endpoint.

    We are fully compliant to return a 405 for the GET request, and we are currently not intending to support it until such a time as we have something to return from it.

    If client software is not handling this in a compliant fashion then it would be worth reporting it as an issue with the client, as the GET is in fact optional.

  2. sicoyle commented on Feb 3, 2026

    @sicoyle
    Author

    Thanks for the report @sicoyle

    I'm afraid to say that is actually not correct, as per your link in the section Listening for Messages from the Server

    The server MUST either return Content-Type: text/event-stream in response to this HTTP GET, or else return HTTP 405 Method Not Allowed, indicating that the server does not offer an SSE stream at this endpoint.

    We are fully compliant to return a 405 for the GET request, and we are currently not intending to support it until such a time as we have something to return from it.

    If client software is not handling this in a compliant fashion then it would be worth reporting it as an issue with the client, as the GET is in fact optional.

    Thanks for the quick clarification! Will close this out here. I see the part of the docs you're referencing :)

    The issue is indeed on the client side: the MCP Python SDK needs to handle this properly.

  3. SamMorrowDrums commented on Feb 3, 2026

    @SamMorrowDrums
    Collaborator

    No worries, sounds like you are helping improve the SDK which is awesome and I'm glad you shook this tree!

    Keep on not accepting failure, and digging instead. I very much support that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions