ツール/フレームワーク初出 7/30 11:07
MCP Python SDK 2.0 で自作サーバーが壊れた2つの原因(型ヒントが *args に潰れる話)
https://zenn.dev/topics/ai/feed2026/7/30
AI要約
PythonでMCP(Model Context Protocol)サーバーを自作する際に遭遇した、SDK 2.0へのAPI変更とツール関数の引数破損という2つの原因について解説。エラー文言だけでは特定困難な問題の具体的な状況と解決策を共有し、開発者のデバッグを支援する。
AI要点
- MCP Python SDK 2.0で自作サーバーを構築する際、SDKのAPI変更とデコレータ利用に起因する2つの問題が発生しました。
- SDK 2.0では、`@server.list_tools()`ではなく`MCPServer`と`@server.tool()`を使用する必要がありました。
- デコレータで関数をラップする際に`functools.wraps`を使用しないと、ツールの引数スキーマが`*args`と`**kwargs`に潰れてしまいます。
- `functools.wraps`は、型ヒントから引数スキーマを正しく生成するために不可欠であることが示されました。
なぜ重要か
Python SDKのAPI変更やデコレータの適切な使用方法を理解することは、AI関連ツールの開発において、予期せぬエラーや機能不全を防ぎ、安定したサーバー実装を行うために重要だからです。