【要約】公式MCPの時刻サーバーに嘘のタイムゾーンを投げたら、名乗っているバージョンの方が嘘だった [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
開発者がMCPサーバーを導入する際、メタ情報やコードを過信すると、予期せぬ挙動に直面するリスクがある。
- ・
initialize応答のバージョンが、サーバー自身ではなく依存SDKmcpのものになる。 - ・存在しないタイムゾーン指定時、ソース上のエラーコードが握りつぶされ平文のみ返る。
- ・必須引数の欠落時、自前のチェックに到達する前にSDK側で拒否される。
// Approach
筆者は公式の時刻サーバーに対し、境界値や不正な入力を投じることで、実装と実挙動の乖離を検証した。
- ・
pip install mcp-server-timeにより専用の仮想環境を構築。 - ・存在しないタイムゾーン名や未登録ツール名を用いたリクエストの実行。
- ・起動オプション
--local-timezoneへの不正値注入によるプロセス挙動の確認。
// Result
検証の結果、サーバーの挙動に関する以下の事実が判明した。
- ・バージョン情報は依存SDKの
1.28.1を指し、本体の2026.7.10とは異なる。 - ・タイムゾーン名は
UTCは成功するが、utcは失敗する。 - ・起動オプションの不正値は、リクエスト時と異なりプロセスが異常終了する。
Senior Engineer Insight
> SDKが介在するシステムでは、実装と挙動に乖離が生じやすい。特にエラー処理はSDKのバリデーションに依存し、自前実装が死んだコードになるリスクがある。メタ情報やソースコードを鵜呑みにせず、境界値テストによる実測を徹底せよ。