Six tools, six return types, one key question: when does structuredContent get populated and when does content give you usable JSON? This section breaks down exactly what FastMCP does with BaseModel, TypedDict, dict[str, float], plain annotated classes, @dataclass, and classes with no annotations — and where each one fails. outputSchema in list_tools tells you everything before you make a single call.
Hashtags:
#MCP #ModelContextProtocol #FastMCP #Python #Pydantic #AIAgents #LLM #AITools #SoftwareDevelopment #PythonTutorial