everything server: instructions unconditionally reference sampling/elicitation tools that only exist when the client declares those capabilities
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 75/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- typescript
- 領域
- backend
調査の方向性
server/index.ts から始め、oninitialized 内の registerConditionalTools() と static instructions string に焦点を当てます。空の capabilities と sampling/elicitation capabilities を使って、提供されている npx server reproduction を実行し、その後、instructions が trigger-sampling-request と trigger-elicitation-request のどちらが利用可能かを一貫して説明していることを確認します。
索引モデルが issue の本文から書いたものです。
説明
Factual issue
The @modelcontextprotocol/server-everything v2026.8.31 instructions string unconditionally tells integrating agents to use trigger-sampling-request and trigger-elicitation-request:
## Constraints & Limitations
- Sampling requests (`trigger-sampling-request`) require client sampling capability
- Elicitation requests (`trigger-elicitation-request`) require client elicitation capability
These tools are registered through registerConditionalTools() inside oninitialized, gated on the client's declared capabilities (server/index.ts). For a client that declares no sampling/elicitation capability — e.g. the majority of clients today, and verified by a capability sweep across 12 popular MCP servers — the tools never appear in tools/list, and the instructions reference tools that do not exist for that session:
- initialize with
capabilities: {}→tools/listreturns 13 tools, none of themtrigger-sampling-requestortrigger-elicitation-request - initialize with
capabilities: {sampling:{}, elicitation:{}}→ 16 tools, both present
Suggested fixes (pick any)
- Make the instructions conditional-aware — e.g. "when your client declares the sampling capability,
trigger-sampling-requestis available" — so the guidance matches what an agent can actually call. - Compose the instructions per session — the instructions string is static, but it could be built from the registered-tools state after
oninitialized, or the conditionality could be stated in one sentence. - At minimum, add the phrase "if your client declares the corresponding capability" to the two bullets.
Why this matters beyond this server
The instructions field exists to orient agents; an agent that follows these instructions on a non-capability client will attempt to call a tool that is not in its catalog — a coherence class that deterministic batteries (this was found with mcp-eval's catalog-vs-instructions checks) can expose mechanically.
Repro
npx -y @modelcontextprotocol/server-everything
# initialize with capabilities: {} ; then tools/list -> 13 tools, no trigger-sampling-request
# initialize with capabilities: {sampling:{},elicitation:{}} ; wait ~1.5s after notifications/initialized ; tools/list -> 16 tools, both present
Environment: server-everything v2026.8.31 (npm), server self-reports 2.0.0; verified against the published dist (registerConditionalTools in dist/server/index.js).
- 主要言語
- TypeScript
- スター
- 90.5k
- フォーク
- 11.7k
- 平均マージ
- 5日 19時間
- マージ済み PR(30日)
- 6
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
modelcontextprotocol/servers のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
modelcontextprotocol/servers#4830 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
modelcontextprotocol/servers#4829 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
modelcontextprotocol/servers#4812 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
modelcontextprotocol/servers#4804 · コメント 1 件 ·
-
README gate confirmation command can be used by any commenter, bypassing the "readme: pending" gate オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
modelcontextprotocol/servers#4796 ·
modelcontextprotocol/servers の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
mksglu/context-mode#1200 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
jaegertracing/jaeger-ui#4506 ·
-
area:desktop area:ui bug platform:macos
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
anthropics/claude-code#96687 ·
-
good first issue
難易度 1/5 1時間未満 初心者へのやさしさ 95/100
AOSSIE-Org/DebateAI#582 · コメント 2 件 ·