Skip to content

docs(everything): state that sampling/elicitation tools are absent from the catalog without the capability - #4793

Open
sasan1200 wants to merge 1 commit into
modelcontextprotocol:mainfrom
sasan1200:fix/everything-instructions-conditional-tools
Open

sasan1200 wants to merge 1 commit into
modelcontextprotocol:mainfrom
sasan1200:fix/everything-instructions-conditional-tools

Conversation

@sasan1200

Copy link
Copy Markdown

Summary

Follow-up to #4792. The everything server's instructions string unconditionally referenced trigger-sampling-request and trigger-elicitation-request. Both tools register conditionally via registerConditionalTools() inside oninitialized — only when the client declares the corresponding capability — so an agent integrating with a non-capability client was instructed to use tools that never appear in its tools/list catalog.

Change

Two lines in src/everything/docs/instructions.md, the file readInstructions() serves as the instructions string:

  • before: "Sampling requests (trigger-sampling-request) require client sampling capability"
  • after: "Sampling requests (trigger-sampling-request) require the client to declare the sampling capability; without it, this tool is absent from the tool catalog"

Same shape for the elicitation bullet. No code paths touched.

Verification

npx -y @modelcontextprotocol/server-everything
# initialize with capabilities: {} ; tools/list -> 13 tools, no trigger-sampling-request (and the instructions no longer imply otherwise)
# initialize with capabilities: {sampling:{}, elicitation:{}} ; tools/list -> 16 tools, both present

This was found with mcp-eval's catalog-vs-instructions checks against the published npm dist (v2026.8.31).

…om the catalog without the capability

The instructions string unconditionally referenced trigger-sampling-request
and trigger-elicitation-request. Both tools register conditionally (only when
the client declares the corresponding capability), so agents on non-capability
clients were pointed at tools absent from their own tools/list catalog.

Found with mcp-eval's catalog-vs-instructions checks; discussed in modelcontextprotocol#4792.
Copilot AI balanced review requested due to automatic review settings September 11, 2026 17:33
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 11, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-11T17:34:59.673196Z 9808de7 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The documentation accurately reflects the existing capability-based registration behavior.

Pull request overview

Clarifies capability-gated tool availability in the Everything server’s agent instructions.

Changes:

  • States sampling and elicitation tools are absent unless clients declare the corresponding capability.
File summaries
File Description
src/everything/docs/instructions.md Clarifies conditional tool catalog availability.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Balanced

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants