docs: clarify server description and instructions - #2697
Open
looooown2006 wants to merge 1 commit into
Open
looooown2006 wants to merge 1 commit into
looooown2006 wants to merge 1 commit into
Conversation
looooown2006
marked this pull request as ready for review
May 8, 2026 06:22
looooown2006
force-pushed
the
docs/server-description-instructions-2146
branch
from
May 11, 2026 17:43
c2a8050 to
9572609
Compare
dsp-ant
requested changes
Jun 29, 2026
Comment on lines
60
to
+77
| | Field | Type | Required | Description | | ||
| | ------------------- | -------------------- | -------- | -------------------------------------------------------------------------------------------- | | ||
| | `supportedVersions` | `string[]` | yes | Protocol versions the server supports. The client should choose one for subsequent requests. | | ||
| | `capabilities` | `ServerCapabilities` | yes | Capabilities the server supports (tools, resources, prompts, etc.). | | ||
| | `serverInfo` | `Implementation` | yes | Name and version of the server software. | | ||
| | `instructions` | `string` | no | Natural-language guidance for LLMs on how to use this server effectively. | | ||
|
|
||
| The `serverInfo.description` field describes the server itself: what kind of | ||
| capabilities it provides and when a client or host might choose to connect to | ||
| it. The `instructions` field describes how to use the server effectively after | ||
| it is discovered, such as workflow guidance, constraints, or important | ||
| relationships between tools, resources, and prompts. | ||
|
|
||
| Servers that provide `instructions` should keep them focused on server-level | ||
| usage guidance and avoid duplicating individual tool, resource, or prompt | ||
| descriptions. Clients and hosts may use `serverInfo.description` for discovery, | ||
| server selection, or progressive disclosure, and may use `instructions` as | ||
| model-facing context once the server is loaded. |
Member
There was a problem hiding this comment.
I don't think this is quite accurate. instructions is really for the LLMs. It's a bit more clear in the table above. I do think you have a point of better describing the difference between instructions and description.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Clarifies how servers and clients should treat
serverInfo.descriptionand initialize-resultinstructions.The new text distinguishes server discovery/selection metadata from model-facing usage guidance, and notes that instructions should provide server-level guidance without duplicating individual tool, resource, or prompt descriptions.
Addresses #2146.
Note: I saw #2602, which adds a broader server instructions guide. This PR is intentionally narrower: it updates the lifecycle/specification text in both the current dated spec and draft spec, so it can complement that guide rather than replace it.
Verification:
npx prettier --check docs/specification/2025-11-25/basic/lifecycle.mdx docs/specification/draft/basic/lifecycle.mdxnpm run check:docs:js-commentsgit diff --checkNote:
npm run check:docs:linkswas attempted but timed out after 5 minutes during the full-site link check.