Skip to content

Support MCP instructions field in server configuration #707

@Huararanga

Description

@Huararanga

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions