ツールとスキーマのバージョン管理
クライアントを壊さずにサーバーを進化させます。
「ツールとスキーマのバージョン管理」はCoddyKit上の無料MCP Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはMCP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 MCP Academyコースには全4レッスンが含まれています。
クライアントは形に依存する
他のユーザーが接続すると、ツール名や引数のshapesに依存します。不用意に変更すると、すべてのクライアントが一度に動かなくなります。
追加的な変更は安全
デフォルト値を持つoptionalパラメーターを追加すれば、既存の呼び出し元は動作し続けます。新しいフィールドを送信しないため、そのまま無視されます。
def search(q: str, limit: int = 10) -> list:
...破壊的変更は痛手になります
ツールの名前を変更したり、引数を削除したり、引数を必須にしたりする変更は、破壊的変更です。既存のクライアントは、突然適合しない呼び出しを送ることになります。
追加してから非推奨にする
フィールドを発展させるには、新しいフィールドを追加し、古いフィールドを残してください。呼び出し側が移行できるように、古いフィールドの説明でdeprecatedと明記します。
ツール名にバージョンを付ける
本当に破壊的な変更を行う場合は、v1と並べてv2のツールを提供します。しばらくの間は両方を動かせるため、クライアントは自分のペースで移行できます。
@mcp.tool(name="search_v2")
def search_v2(query: str) -> list:
...サーバーがバージョンを通知する
サーバーはハンドシェイク中に名前とversionを通知します。接続したリリースをクライアントが確認できるように、更新時にはバージョンを上げてください。
mcp = FastMCP("my-server")
# version surfaces in server infoセマンティックバージョニングに従う
semverを使います。修正ではpatch、機能の追加ではminor、破壊的変更ではmajorを上げます。番号が変更の意味を伝えてくれます。
出力は狭めず広げる
結果にフィールドを追加するのは通常安全ですが、削除は破壊的変更です。クライアントが解析する約束として、outputスキーマを扱ってください。
変更履歴を管理する
すべてのツールとスキーマの変更をchangelogに記録します。アップグレードするユーザーは、何が変更され、何が追加され、何がなくなったのかを確認する必要があります。
非推奨機能の終了日を示す
古いツールをいつ削除するかを告知します。明確なsunset日を設定すれば、誰かを突然困らせることなく移行を促せます。
古いクライアントに対してテストする
リリース前に、古いクライアントが呼び出す場合と同じようにtestsを実行してください。型チェッカーでは検出できない、意図しない破壊的変更を見つけられます。
簡単な確認
既存のツールに対して、現在のクライアントに安全な変更はどれでしょうか。
まとめ:安全に発展させる
additiveな変更を優先し、削除前に非推奨にし、本当に破壊的な変更にはv2を提供し、semverに従い、changelogを管理します。自信を持ってリリースできます! 🚀
AI チューターと学ぶ Python — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「ツールとスキーマのバージョン管理」レッスンは無料ですか?
はい。「ツールとスキーマのバージョン管理」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、MCP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 MCP Academyコースには全4レッスンが含まれています。
「ツールとスキーマのバージョン管理」で何を学びますか?
クライアントを壊さずにサーバーを進化させます。 ブラウザで直接実行するハンズオンコードでMCP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
MCP Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのMCP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「ツールとスキーマのバージョン管理」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このMCP Academyレッスンでコードを書いて実行できますか?
はい。すべてのMCP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 階層型サーバーアーキテクチャ
- 環境変数による設定とシークレット管理
- 冪等性と副作用を考慮したツール
- ツールとスキーマのバージョン管理