Repository navigation
v0.1.28
Fix: Parameter types showing as "unknown" in MCP tool inspectors
Problem
Claude Code's /mcp UI (and potentially other MCP clients) rendered optional parameters as unknown because Pydantic v2 generated anyOf: [{type: string}, {type: null}] for str | None — a pattern these clients don't recognize.
Fix
Replaced all T | None type annotations in MCP tool signatures with plain T (keeping default=None). This produces clean JSON Schema:
// Before (rendered as "unknown"):
{"anyOf": [{"type": "string"}, {"type": "null"}], "default": null}
// After (rendered correctly):
{"type": "string", "default": null}All 17 tools affected. Runtime behavior unchanged — FastMCP still accepts None for optional parameters.