Claude Media
bareElicitationCapabilityとは — v2.1.287後にMCPが繋がらないときの設定

bareElicitationCapabilityとは — v2.1.287後にMCPが繋がらないときの設定

Claude Code v2.1.287でMCPサーバーのURLプロンプトに対応した後、接続できなくなったサーバーに足す設定キーbareElicitationCapabilityの置き場所と足す前の切り分けを示します。

Claude Code v2.1.287で、2025-11-25版のプロトコルを話すMCPサーバーからのURLプロンプトを受けられるようになりました。この更新のあと、あるMCPサーバーが接続できなくなった場合の対処として、変更履歴は"bareElicitationCapability": trueをそのサーバーのMCP設定の項目に足すよう案内しています。キーの意味と置き場所、足す前に確かめたい点をまとめます。

v2.1.287で何が変わり、キーはどこで案内されたか

変更履歴のv2.1.287には、次の1行があります。リリース全体の内容はClaude Code v2.1.287のリリースノートにあります。

Added URL prompts from MCP servers on the 2025-11-25 protocol, for example to sign in. If a server no longer connects after this update, add "bareElicitationCapability": true to its MCP config entry

読み取れる事実は3つです。

  • 対象は2025-11-25版のプロトコルで接続するMCPサーバーです
  • 追加された機能は、サインインなどを想定したURLプロンプトの受け取りです
  • 更新後に接続できなくなったサーバーだけが、このキーの対象です

Claude Codeの公式MCPページには、このキーの記述がありません。挙動の説明は変更履歴の1行だけです。以降の「なぜ効くのか」は、MCP仕様の記述から組み立てた推測だと区別して読んでください。

名前の「bare」が指すもの(仕様からの推測)

2025-11-25版の仕様は、Elicitationに対応するクライアントにelicitationの対応宣言を求めています。宣言の形は2通りです。

くらべる

elicitationの対応宣言は2形式ある

form + url

モード指定あり

"elicitation": {"form": {}, "url": {}}の形です。フォームとURLの両モードに対応することを明示します。

bare

空のオブジェクト

"elicitation": {}の形です。後方互換のため、{"form": {}}、つまりフォームモードのみと同じ扱いになります。

仕様はさらに、サーバーが宣言されていないモードの要求を送ってはならないとし、送られた場合のエラーを-32602(Invalid params)としています。

英語のbareは「飾りのない」を意味し、仕様の「空の宣言」とも重なります。そこから、このキーは対応宣言を従来どおりの空の形に戻す指定ではないか、と読めます。URLモードを宣言し始めたことで、宣言の形に厳密なサーバーが初期化の段階で弾く、という筋書きです。ただし公式はどちらも述べていません。推測のままにしておき、次の節の手順で自分のサーバーに当てて確かめます。

足す前に、接続失敗の原因がこれかを切り分ける

接続できない原因は、認証切れやコマンドのパス違いなど、ほかにも多数あります。更新直後だからという理由だけで、キーを足さないほうが安全です。切り分けの順番は次のとおりです。

手順

キーを足す前の切り分け

  1. 1

    状態を確認する

    claude mcp listで、対象サーバーが✘ Failed to connectになっているかを見ます。! Needs authenticationなら認証の問題で、このキーとは別の話です。

  2. 2

    更新前の状態と比べる

    v2.1.287より前のバージョンでは繋がっていたかを思い出します。もとから繋がらなかったサーバーは対象外です。

  3. 3

    サーバーが2025-11-25版かを確かめる

    サーバーの提供元ドキュメントで、対応するMCPプロトコルの版を見ます。2025-11-25版を話すサーバーが、変更履歴の対象です。

  4. 4

    キーを足して再接続する

    設定の項目にキーを足し、/mcpの画面で再接続して状態が変わるかを見ます。

状態の確認には、次のコマンドを使います。

claude mcp list
claude mcp get my-server

claude mcp get <name>は、サーバー単位の詳細を出します。公式のMCPページが、接続の確認方法として案内しているコマンドです。

設定の書き方と置き場所

変更履歴の指示は「そのサーバーのMCP設定の項目に足す」です。MCPサーバーの設定は、プロジェクト直下の.mcp.json、~/.claude.json、claude mcp add-jsonのいずれかで定義します。.mcp.jsonなら、サーバー名の下のオブジェクトにキーを並べます。次は、既存のHTTPサーバーの項目にキーを足した例です。

{
  "mcpServers": {
    "my-server": {
      "type": "http",
      "url": "https://example.com/mcp",
      "bareElicitationCapability": true
    }
  }
}

キーを足すのは、接続できなくなった項目だけです。ほかのサーバーに広げる必要はありません。

claude mcp add-jsonでも登録できます。ただし、このコマンドがこのキーをそのまま保存するかは、公式のMCPページに記載がありません。コマンドを使ったあとは、~/.claude.jsonか.mcp.jsonを開いて、キーが残っているかを目で確かめます。プロジェクト共有の.mcp.jsonに足すなら、チーム全員に同じ設定が届く点も考えておきます。

足したあとに起きること、起きないこと

足したあとに、何が変わるのかは公式に書かれていません。仕様からは、次のように整理できます。

  • 空の宣言はフォームモードのみと同じ扱いなので、そのサーバーはURLモードの要求を送れない前提になります
  • URLプロンプトで認証するタイプのサーバーは、サインインの案内が出なくなる可能性があります

2つ目は推測です。サインインのURLが出てこなくなったときは、キーを外して様子を見る選択肢があります。接続の可否とURLプロンプトの有無は、キーの有無で入れ替わる関係かもしれません。サーバーの更新で解消できるなら、キーは一時的な回避策にとどめる形が自然です。

2025-11-25版と2026-07-28版では別の話になる

Claude Codeには、MCPクライアントの実行系が2つあります。v2実行系は2026-07-28版のプロトコルを話せます。公式のMCPページによると、2026-07-28版の接続ではelicitation: {form: {}, url: {}}を宣言し、サーバーはフォームでもURLでも標準の要求で入力を求められます。

つまり、bareElicitationCapabilityが関係するのは2025-11-25版の接続だという読み方になります。変更履歴の文言も、2025-11-25版を明記しています。版による扱いの違いをまとめます。

接続するプロトコルURLモードの扱い根拠
2025-11-25版URLモードの扱いv2.1.287で受け取りに対応。接続できないときは本キーを足す根拠変更履歴v2.1.287
2026-07-28版URLモードの扱い両モードを宣言して対応根拠公式MCPページ、変更履歴

どの版で接続しているかを変えたい場合は、環境変数MCP_PROTOCOL_NEGOTIATIONが使えます。legacyにすると、Claude Codeは2026-07-28版を試さず、すべてのサーバーを従来のハンドシェイクで接続します。ただし、この環境変数が効くのはv2実行系だけです。2025-11-25版の問題をこの環境変数で直せるとは限りません。

どの実行系で動いているかによって、2025-11-25版の接続が生まれる経路が変わります。公式のMCPページによると、v1実行系はMCP仕様の2026-07-28版を扱わないので、すべてのサーバーと従来の版で接続します。v2実行系はHTTP、stdio、claude.aiコネクタのサーバーに新しい版に対応しているかを尋ね、対応しないサーバーとは従来どおりの版で接続します。つまり2025-11-25版の接続は、v1実行系で動いている場合と、v2実行系でも新しい版に対応しないサーバーの場合の両方で起こります。

ローカル(stdio)のサーバーについては、変更履歴に2件の記述があります。1件目は、新しい版のネゴシエーションをBedrock、Vertex、Foundryを含むすべての環境で既定にした変更です。2件目は、新しい版の確認を無視するサーバーを、最初の接続が遅れた後に7日間覚えて、以後は待たずに従来の方式で繋ぐ改善です。接続の遅さと失敗は別の症状なので、遅いだけなら本キーの対象ではありません。実行系の選び方はMCPのElicitation、フォームとURLで何が違うかで詳しく扱っています。

URLプロンプトを受けられるようになった後の運用

URLモードの追加前から、フォームモードは設定なしで使えました。公式のMCPページは、Elicitationのダイアログについて、利用者側の設定は不要だと説明しています。キーを足してもフォームの要求は従来どおり届くので、フォームで入力を求めるだけのサーバーは、足しても挙動が変わらないはずです。

URLモードを受けられるのは、サインインの流れが端末の外で完結するサーバーです。Claude Codeはブラウザで開くかを確認し、URLをOSのURLハンドラーへコマンドライン引数で渡します。エスケープ後の長さが上限を超えると、拒否しかできません。

自動化している環境では、ElicitationフックでURLプロンプトに自動応答できます。人が端末にいないCIでは、ダイアログが開いたまま止まるのを避けられます。実装はElicitation/ElicitationResultフックでMCP入力要求を横取りするで扱っています。

VS Code拡張でElicitationが自動で辞退される不具合は、MCP elicitationが自動辞退される不具合の現状にまとまっています。接続できない問題と症状が似て見えることがあるので、先に見比べておくと切り分けが早まります。

設定を足すかどうかの早見表

状況キーを足すか
v2.1.287の更新後に✘ Failed to connectになり、サーバーは2025-11-25版キーを足すか試す価値あり
更新前から繋がらなかったキーを足すか足さない(別の原因)
! Needs authenticationと出るキーを足すか足さない(認証の問題)
2026-07-28版で接続するサーバーキーを足すか足さない(変更履歴の対象外)
繋がっているサーバーキーを足すか足さない

まとめ

bareElicitationCapabilityは、v2.1.287で追加されたURLプロンプト対応の後に、2025-11-25版のサーバーが接続できなくなったときの回避用の設定キーです。置き場所は該当サーバーのMCP設定の項目で、効果の仕組みは公式に説明がありません。足す前にclaude mcp listで失敗の種類を確かめ、足した後は再接続で結果を見ます。繋がったあとにサインインのURLが出なくなったら、キーを外す選択肢も残しておいてください。

この記事を共有:XはてブLinkedIn