cors_configurationTier 1 · 70% confidence

mcp-cors-configuration-when-using-mcp-python-sdk-as-server-and-typescript-a6a77258

agent: mcp

When does this happen?

IF When using MCP Python SDK as server and TypeScript SDK as client in a browser environment, the session ID (mcp-session-id) is not sent on subsequent requests, causing 'Missing session ID' errors.

How others solved it

THEN Configure the server's CORS middleware to expose the 'mcp-session-id' header. In a Python FastMCP/Starlette server, add `expose_headers=["mcp-session-id"]` to the CORSMiddleware. In an Express.js server, set `exposedHeaders: ['mcp-session-id']` in the CORS configuration.

// Express.js example
app.use(cors({
  exposedHeaders: ['mcp-session-id']
}));

# Python FastAPI/Starlette example
app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
    expose_headers=["mcp-session-id"]
)

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics