Skip to content

Cannot handle Unexpected content type when initializing MCP session #1382

Description

@bystepii

Initial Checks

Description

When trying to connect to an MCP server using streamablehttp_client and ClientSession, the client prints Unexpected content type error if the server responds with anything other than the expected MCP JSON stream (e.g. error page, misconfigured endpoint, etc.).

This makes it difficult to handle cases where the server is not reachable or not serving MCP correctly, since no exception is raised.

Example Code

importasynciofrommcp.client.streamable_httpimportstreamablehttp_clientfrommcpimportClientSessionasyncdefmain():
asyncwithstreamablehttp_client(
url="http://localhost:3001/mcp",
) as (read, write, _):
asyncwithClientSession(read, write) assession:
try:
awaitsession.initialize()
exceptExceptionase:
print(f"Failed to initialize MCP session: {e}")
returnprint("MCP session initialized")
if__name__=="__main__":
asyncio.run(main())

Output

Unexpected content type: text/html; charset=utf-8

Python & MCP Python SDK

python 3.13.5
mcp 1.14.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Moderate issues affecting some users, edge cases, potentially valuable featurebugSomething isn't workingready for workEnough information for someone to start working on

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions