Skip to content

v0.1.28

Choose a tag to compare

@Tefx Tefx released this 27 Mar 09:55
· 513 commits to main since this release

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.