-
Notifications
You must be signed in to change notification settings - Fork 66
Description
Description:
The MCP specification (2025-06-18 Lifecycle) defines an optional instructions field in the initialize response:
{
"result": {
"protocolVersion": "2025-06-18",
"capabilities": { ... },
"serverInfo": { ... },
"instructions": "Optional instructions for the client"
}
}
Per the spec: "This can be used by clients to improve the LLM's understanding of available tools, resources, etc. It can be thought of like a 'hint' to the model."
Clients like Claude Code already read this field (via client.getInstructions()) and inject it into the system prompt.
Request: Add an instructions field to the YAML config so server operators can provide server-level guidance to LLM clients:
config.yaml
endpoint: https://api.example.com/graphql
instructions: |
This server exposes a knowledge base GraphQL API. Articles have 4-tier access
levels (public < premium < partners < internal). Always use search_articles
for semantic search before listing. Translations are per-article — use
compare_translation to check sync status before updating.
Why this matters:
Tool descriptions explain what each tool does, but instructions provides the how — domain-specific guidance, workflows, gotchas, and relationships between tools. This is especially important when multiple MCP servers are combined behind a gateway, as each server's instructions help the LLM understand the scope and purpose of that specific server.
The TypeScript SDK's low-level Server class already supports instructions, so this is purely a config surface gap in Apollo MCP Server.