modelcontextprotocol/python-sdk v2.3.0
A few things behave differently, so skim these first:
Key points
- A tool with an invalid x-mcp-header annotation fails at registration (#3620)
- @mcp.tool(), addtool and Tool.fromfunction raise InvalidSignature, naming the tool and the problem.
- For an optional header parameter, give the schema directly: Annotated[str | None, WithJsonSchema({"type": "string", "x-mcp-header": "Region"})] = None.
- On the receiving side ctx.meta is None rather than {}, and middleware sees ctx.params as None for a request without params.
Sources (1)
- [1]modelcontextprotocol/python-sdk v2.3.0GitHub: modelcontextprotocol/python-sdk · Oct 2, 10:02 PM
A few things behave differently, so skim these first:
**A tool with an invalid `x-mcp-header` annotation fails at registration** (#3620)
Extractive summary: sentences quoted from the sources.