remote MCP サーバーをデプロイしても Claude にツールがすぐ反映されない理由

Remote MCP サーバーに新しいツールを追加し、Cloudflare Workers にデプロイしました。しかし Claude のウェブアプリではそのツールが一向に出てきません。そして新しいチャットを開いても変わら […]

広告ここから
広告ここまで

目次

    Remote MCP サーバーに新しいツールを追加し、Cloudflare Workers にデプロイしました。しかし Claude のウェブアプリではそのツールが一向に出てきません。そして新しいチャットを開いても変わらず、「ツールが取れていないだけでは」と思ってリトライしても解決しない・・・

    この記事では、その原因と対処についてまとめました。

    何が起きているのか

    Claude では、コネクターに接続した時点で MCP サーバーの tools/list を一度だけ呼びます。接続というのは、Settings → Connectors から対象のコネクターに対して Connect ボタンを押した瞬間のことです。

    このときの tools/list のレスポンスはキャッシュされ、以降の会話はそのキャッシュをもとに deferred tools のリストを構築します。挙動を見るかぎり、このキャッシュはおそらくアカウント単位で持たれているようです。新しいチャットを開いただけでは、このキャッシュはすぐには更新されません。

    つまり、デプロイ後に追加されたツールがいくら Worker 上で正しく動いていても、キャッシュが更新されるまでは Claude からその存在が見えないままになります。

    なぜすぐ反映されないのか

    MCP 仕様には notifications/tools/list_changed というメッセージが定義されています。サーバーがツールリストの変更をクライアントに通知し、クライアントが tools/list を再実行することで動的な更新ができるというものです。

    ただし、これが機能するには二つの条件が揃う必要があります。

    一つ目は、クライアント(Claude)が list_changed 通知を受け取って処理すること。Claude の公式ドキュメントを確認したかぎりでは、この通知は今のところサポートされていないように見えました。

    二つ目は、サーバーが通知を送れる状態にあること。Cloudflare Workers のような Stateless Streamable HTTP では、サーバーからクライアントへの persistent connection が存在しない構造です。接続を維持し続けるコネクションがないので、サーバーが「ツールが変わったよ」と伝える手段がそもそもありません。

    これは Claude に固有の問題ではなく、LibreChat や Vercel AI SDK など多くの MCP クライアントが同様の状況にあります。仕様は定義されていても、クライアント・サーバー両側の実装が揃っていなければ機能しません。

    その結果、サーバー側でツールを増やしても、クライアント側のキャッシュが更新されるまでにラグが出ます。

    対処と運用上のルール

    すぐ反映させたいなら、コネクターを切断して再接続するのが確実です。再接続によって initializetools/list が再実行され、新しいツールがキャッシュに取り込まれます。

    再接続しなくても、新しいセッションでの再読み込みや時間の経過によって、いずれキャッシュは更新されます。手元でも、再接続せずにしばらく置いたら新しいツールが出てきたことがありました。ただし、何を契機にどれくらいで更新されるのかは公式に明示がなく、タイミングは読めません。確実に・すぐ使いたい場面では、待つより再接続が早い、という整理になります。

    運用ルールとしては、追加したツールを迅速に使いたい場合、デプロイのあとはコネクターを再接続して反映を確認すると決めておくのが現実的です。デプロイのチェックリストに「Claude コネクター再接続」を加えておくだけで、同じ問題で詰まる時間を削れます。

    まとめ

    Claude の remote MCP コネクターにおけるツールリストは、接続時に取得・キャッシュされます。デプロイによってサーバー側のツールが変わっても、キャッシュが更新されるまでは反映されず、伝播にラグがあります。

    このラグは、再接続すれば即座に解消できます。放置した場合も、新しいセッションや時間の経過でいずれ反映されますが、そのタイミングは公式には明示されていません。

    MCP 仕様に変更通知の機構はありますが、Stateless HTTP ではサーバー側からの通知を実現する手段がなく、クライアント側のサポート状況も現時点でははっきりしません。

    デプロイのチェックリストに「コネクター再接続」を加えるだけで、このページを二度と検索しなくて済みます。

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark