MCP Academy · レッスン

ツールとスキーマのバージョン管理

クライアントを壊さずにサーバーを進化させます。

レッスン 4/413 ステップ

「ツールとスキーマのバージョン管理」は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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 階層型サーバーアーキテクチャ
  2. 環境変数による設定とシークレット管理
  3. 冪等性と副作用を考慮したツール
  4. ツールとスキーマのバージョン管理
← MCP Academyに戻る