Skip to content

docs: add server instructions guide - #2602

Open
rohitg00 wants to merge 2 commits into
modelcontextprotocol:mainfrom
rohitg00:docs/server-instructions
Open

rohitg00 wants to merge 2 commits into
modelcontextprotocol:mainfrom
rohitg00:docs/server-instructions

Conversation

@rohitg00

Copy link
Copy Markdown

Closes #2060. Related: #2146.

Adds a Develop with MCP page covering the instructions field: when to use it vs description, tool.description, and prompts; writing guidance; dynamic generation patterns (per-toolset, per-client, per-auth-scope); testing methodology; client behavior; failure modes; and three worked examples.

Goes beyond the 2025-11-03 blog post:

  • Decision table distinguishing instructions from serverInfo.description and tool descriptions (addresses Provide guidance on how to set/use server description/instructions #2146)
  • Dynamic instructions section citing the real per-toolset pattern from github-mcp-server
  • Four catalogued failure modes (tool-description contradiction, token bloat, stale guidance, cross-server conflict)
  • Testing loop with baseline comparison
  • Per-domain worked examples (database, filesystem, API integration)
  • Normative SHOULD/MUST NOT guidance for clients that inject or display instructions

AI disclosure

Drafted with Claude Code. I reviewed the blog post, merged PR #2184, issue #2146, and the github-mcp-server instructions implementation (pkg/inventory/instructions.go) before writing. The decision table, failure modes, testing loop, and worked examples are original synthesis.

Closes modelcontextprotocol#2060. Related: modelcontextprotocol#2146.

Adds a Develop with MCP page covering the `instructions` field: when to
use it vs `description`, `tool.description`, and prompts; writing
guidance; dynamic generation patterns (per-toolset, per-client,
per-auth-scope); testing methodology; client behavior (SHOULD/MUST NOT);
failure modes; and three worked examples.

Goes beyond the 2025-11-03 blog post with: the decision table
distinguishing `instructions` from `serverInfo.description` and tool
descriptions (modelcontextprotocol#2146), the real per-toolset pattern from
github-mcp-server, four catalogued failure modes, a testing loop with
baseline comparison, and per-domain examples (database, filesystem, API
integration).
@rohitg00
rohitg00 requested review from a team as code owners April 18, 2026 18:28
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Apr 18, 2026

This branch has not been deployed

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

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add server instructions documentation to main docs

1 participant