npx skills add ...
npx skills add apollographql/skills --skill apollo-mcp-server
Guide for using Apollo MCP Server to connect AI agents with GraphQL APIs. Use this skill when: (1) setting up or configuring Apollo MCP Server, (2) defining MCP tools from GraphQL operations, (3) using introspection tools (introspect, search, validate, execute), (4) troubleshooting MCP server connectivity or tool execution issues.
npx skills add apollographql/skills --skill apollo-mcp-server
Apollo MCP Server exposes GraphQL operations as MCP tools, enabling AI agents to interact with GraphQL APIs through the Model Context Protocol.
Create config.yaml in your project root:
Start the server:
The MCP endpoint is available at http://127.0.0.1:8000/mcp (streamable_http defaults: address 127.0.0.1, port 8000). The GraphQL endpoint defaults to http://localhost:4000/ — override with the endpoint key if your API runs elsewhere.
Add to your MCP client configuration:
Streamable HTTP (recommended):
Claude Desktop (claude_desktop_config.json):
Claude Code:
Stdio (client launches the server directly):
Claude Desktop (claude_desktop_config.json) or Claude Code (.mcp.json):
Apollo MCP Server provides four introspection tools:
| Tool | Purpose | When to Use |
|---|---|---|
introspect | Explore schema types in detail | Need type definitions, fields, relationships |
search | Find types in schema | Looking for specific types or fields |
validate | Check operation validity | Before executing operations |
execute | Run ad-hoc GraphQL operations | Testing or one-off queries |
MCP tools are created from GraphQL operations. Three methods:
Each file must contain exactly one operation. Each named operation becomes an MCP tool.
Use GraphOS Studio to manage operations collaboratively.
For production environments with pre-approved operations.
Detailed documentation for specific topics:
headers configuration for API keys and tokensoverrides.mutation_mode: explicit to require confirmation for mutationsEnable minification to reduce token usage:
Minified output uses compact notation:
Control mutation behavior via the overrides section:
mutation_mode: explicit or mutation_mode: none in shared environments