v0.5.0
[0.5.0] - 2026-07-30
Reparatur-Release für einen kaputten PyPI-Stand. mcp 2.0.0 erschien am
28.07.2026 und entfernte mcp.server.fastmcp — genau das Modul, das v0.4.0
importierte. Weil v0.4.0 keine Obergrenze auf mcp hatte, zog jede frische
Installation aus PyPI die 2.0.0 und scheiterte sofort beim Import. Das
betrifft uvx meteoswiss-mcp genauso wie pip install meteoswiss-mcp
(#31).
Der Code auf main war bereits migriert; dieses Release bringt die Korrektur
zu den Nutzenden. Für Clients ist nichts breaking — die 6 Tools, ihre Schemata
und das Wire-Format sind unverändert (tool-hashes.json bleibt gleich).
Behoben
- Frische Installationen starten wieder. Der
ModuleNotFoundError: No module named 'mcp.server.fastmcp'beim Start vonuvx meteoswiss-mcpist
weg. Ursache war nicht der Code, sondern die Release-Lücke: der Fix lag seit
#29/#30 aufmain, aber PyPI führte weiterhin v0.4.0.
Changed
-
Migration auf das
mcp-Python-SDK 2.x (#30). Der Server-Import wechselt
vonmcp.server.fastmcpaufmcp.server.mcpserver,FastMCPheisst neu
MCPServer. Ohne Kompatibilitäts-Shim im SDK ist der Boden hart: der Pin
lautet jetztmcp[cli]>=2.0.0,<3statt>=1.28.1. Weitere Anpassungen im
SDK, die mitgezogen werden mussten:mcp_typessnake_cased sämtliche Modell-Attribute (inputSchema→
input_schema,isError→is_error, …). Das sind Pydantic-Aliase, das
Wire-Format bleibt identisch.McpErrorheisstMCPErrorund nimmt(code, message, data=None)direkt
entgegen statt eineErrorData-Instanz zu umschliessen.call_tool()liefert einCallToolResultstatt des 1.x-Tupels
(content, structured).MCPServer.__init__akzeptierthost/port/stateless_http/
transport_securitynicht mehr — das sind neurun()- bzw. App-Kwargs.- Der Lowlevel-Server ist als
_lowlevel_servererreichbar und exponiert
keinrequest_handlers-Mapping mehr.
Gegen eine aufgezeichnete 1.x-Baseline verifiziert: die Suite besteht vor
und nach der Migration exakt dieselben Tests, ohne neue Fehlschläge und ohne
stillschweigend übersprungene Tests.
Added
serverInfo.versionim initialize-Handshake. Der Server meldete bisher
einen leeren Version-String — ausgerechnet die Angabe, die bei einem
Bug-Report als Erstes gebraucht wird. Sie kommt neu aus der installierten
Distribution (importlib.metadata), kann also nicht gegenüber dem Paket
veralten; im Source-Checkout ohne Installation lautet sie0.0.0+unknown.
Docs
- README (DE/EN) und CONTRIBUTING (DE/EN) sprachen weiterhin von «FastMCP» und
nanntenmcp[cli]>=1.0.0als SDK-Version — beides aufMCPServerbzw.
mcp[cli]>=2.0.0,<3korrigiert.