結論:切断の再現後に最小限だけ広げる
既定の2,048-character capを変える条件は、tool descriptionまたはserver instructionsの後半にある必須条件が切れ、同じpromptで誤選択・未選択・不要な確認が再現することです。長文だから上限を広げるのではありません。まず説明を短く整理し、それでも必要情報が収まらない場合だけ、限定sessionで新しい値を検証します。
公式根拠はClaude Code changelog 2.1.280です。更新内容は、この環境変数が既定2,048文字のcapを変更し、session内の全MCP serverにあるtool descriptionsとserver instructionsへ適用されると明記しています。MCPの追加方法、project・user・local scope、認証、tool管理はClaude Code公式MCP文書を正本にします。
既存のmanagedMcpServersの組織配布はserverの配布、MCP起動待ちは接続時間、MCP再接続診断は通信障害が中心です。本稿は接続後にmodelへ渡る説明の長さと選択品質へ限定します。
増やす・短くする・分けるを比較する
| 方法 | 適する状態 | 主なリスク |
|---|---|---|
| 上限を増やす | 必須条件が後半で切れ、短縮できない | 全serverの説明が増えcontextを消費 |
| 説明を短くする | 例示や重複が多い | 前提・禁止条件まで削る |
| toolを分ける | 一つのtoolに複数目的が混在 | 候補数が増え名称衝突が起きる |
| server instructionsを整理 | 共通規則が各toolへ重複 | 個別例外の所在が不明になる |
説明には、何をするtoolか、入力の意味、使ってよい条件、使ってはいけない条件、副作用、失敗時の返り値を優先します。長い背景説明、同じ注意の反復、modelが判断に使わない宣伝文、本文で取得できる詳細は削減候補です。一方、外部送信、課金、削除、権限変更、個人情報の扱いなど、実行可否を変える条件は文字数の都合で落としません。
上限を下げる運用も可能ですが、数値を小さくしてcontextを節約しただけでは安全になりません。tool名が似ている環境で識別条件が切れると、誤ったserverを選ぶ可能性があります。短縮前後で同じ業務promptを使い、modelが参照できる説明、tool候補、最終選択、副作用を確認します。token削減だけを成功条件にしないでください。
設定前に行う8手順
- versionを固定する。
claude --versionで2.1.280以降を確認し、IDEやDesktopの別binaryも区別します。 - 対象toolを一つに絞る。何の説明が何文字で、どの重要条件が2,048文字より後ろにあるかを記録します。
- 失敗を再現する。同じpromptを複数回試し、未選択、誤選択、確認の増加、危険な引数など観測可能な問題へ落とします。
- 先に文章を整理する。重複例、背景、宣伝を削り、目的・入力・禁止・副作用・失敗を前半へ移します。
- 候補値を決める。必要文字数に少し余裕を加え、無制限を意図した巨大値を選びません。値と期限を変更記録へ残します。
- 限定sessionで設定する。検証用shellまたは管理された起動設定だけに環境変数を渡し、全社配布を同時に行いません。
- 全serverを確認する。一つのtoolだけでなく、session内のserver instructions、候補tool数、token、起動後の挙動を比較します。
- 採用かrollbackを決める。選択品質が改善し、費用・遅延・誤選択が許容範囲なら採用し、改善しなければ変数を外して既定2,048へ戻します。
環境変数名に「MCP」とあっても、特定server専用ではありません。localで一つのserverを検証した結果を、そのまま多数serverがあるmanaged環境へ配らないでください。全serverのdescriptionが既定より長くmodelへ渡り得るため、tool数が多い組織ほど差が大きくなります。project scope、user scope、managed scopeのserver一覧を保存し、同じ構成で比較します。
企業運用で確認するcontextと安全境界
MCPはClaude Codeを外部toolやdata sourceへ接続します。説明文の変更は接続権限を直接変えませんが、modelが「いつ、どのtoolを、どんな入力で使うか」を判断する材料を変えます。そこで、description編集者、server管理者、業務owner、security reviewerを分け、外部送信や書き込みの条件は人が確認できる形で残します。
検証記録には、Claude Code version、server一覧、tool名、変更前後の文字数、環境変数値、prompt、選択tool、引数、副作用、token、応答時間を含めます。tool定義やinstructionsにsecretを埋め込まず、logへ保存する時もcredentialや個人情報を除外します。説明が長い原因を監査証跡の代わりに全部書き込む運用は避けます。
context不足と接続障害も分けます。serverが起動していない、認証が切れた、toolが許可されていない状態は、説明長を増やしても直りません。/mcpやdebug情報で接続を確認し、接続済みなのにmodelのtool選択だけが不安定な時に本設定を検討します。上限変更を万能なMCP troubleshootingにしないことが重要です。
失敗時の切り分けと戻し方
変更後にtokenや遅延だけが増えた場合は、値をさらに増やさず、変数を外して新しいsessionを開始します。既存sessionではtool定義を受け取った時点や再接続の状態が混ざるため、変更前後を別sessionで比較します。shell、IDE、runner、managed settingsのどこから変数が入ったかも記録し、二重設定を防ぎます。
誤選択が増えた場合は、説明の長さよりtool名と役割の重複を疑います。「検索」「取得」「更新」が曖昧な複数tool、同じ入力schema、例外が後半だけにある構成を見直します。説明を増やす前に、名前、最初の一文、入力項目のdescriptionで候補を分離できるか確認してください。
重要条件を前半へ移しても問題が残る場合だけ、必要な値まで広げます。採用後も期限を決め、server更新やtool削除のたびに再評価します。MCP構成が減ったのに以前の大きな上限が残ると、将来追加された長文serverへ意図せず適用されます。
チェックリスト
- Claude Code 2.1.280以降を確認した
- 2,048文字より後ろで切れる必須条件を特定した
- 接続障害とtool選択の問題を分けた
- 上限変更前にdescriptionを短く整理した
- session内の全MCP serverへ影響すると理解した
- 変更前後で同じpromptと権限を使った
- tool選択、引数、token、遅延、副作用を比較した
- 変数を外して既定値へ戻す方法を記録した
よくある質問
上限を大きくすればMCP tool選択は必ず改善しますか?
いいえ。必要情報が後半で切れている場合は改善余地がありますが、冗長な説明はcontextを消費し、似たtoolの区別を難しくすることがあります。説明の構造と候補toolの重複も確認します。
serverごとに異なる上限を設定できますか?
2.1.280で追加された環境変数はsession内の全MCP serverに適用されます。server別に変える前提で運用せず、必要ならsessionやserver構成を分けて検証します。
変更後に何を確認すべきですか?
同じpromptでtool候補、選択結果、token、遅延、誤選択、切断表示を比較し、改善しなければ既定値へ戻します。接続成功だけでは合格にしません。
公式情報
次の一歩
MCPのtool数、説明、権限、外部送信の境界が整理されていない場合は、Miraigentの無料診断で、どのtoolを残し、どの説明を短くし、どこを人が承認するかを60秒から棚卸しできます。
