An official Rust-based MCP server by Apollo that converts GraphQL APIs into standardized AI-callable tools, supporting multi-client integration like Claude and Cursor for intelligent LLM and graph data orchestration.
Overview#
Apollo MCP Server is a high-performance MCP server developed by Apollo GraphQL using Rust (98.6%). It serves as a middleware adapter that transforms GraphQL API operations (queries, mutations) into tools compliant with the Model Context Protocol (MCP), enabling AI models to access and orchestrate APIs in a standardized manner.
Core Value: Solves the challenge of LLMs struggling to directly understand and use complex GraphQL APIs, eliminating the need for custom integrations for each AI platform.
Core Features#
- GraphQL to MCP Conversion: Automatically maps GraphQL operations to MCP Tool definitions
- Multiple Operation Sources: Operation Collections, Uplink manifests, local files, direct definitions
- Multi-Client Compatibility: Claude Desktop, Claude Code, Cursor, Goose, Cline, Windsurf, OpenCode
- Built-in Introspection Tools: execute, introspect, search, validate with configurable hints
- Security Mechanisms: Host header validation against DNS rebinding attacks, multiple authentication methods
- Observability: Configurable metrics export intervals, OpenTelemetry support
- Protocol Version Negotiation: Dynamic enablement of outputSchema and structuredContent
- Custom Configuration: Customizable server metadata and tool descriptions
Quick Start#
Prerequisites: Rover CLI v0.37+, Node.js v18+, MCP-compatible client
Initialize Project:
rover init --mcp
Run Server:
rover dev --supergraph-config supergraph.yaml --mcp .apollo/mcp.local.yaml
Verify Server:
npx @modelcontextprotocol/inspector http://127.0.0.1:8000/mcp --transport http
Docker Deployment:
docker build -f mcp.Dockerfile -t my-mcp-server .
docker run -p 4000:4000 -p 8000:8000 \
-e APOLLO_KEY=$APOLLO_KEY \
-e APOLLO_GRAPH_REF=$APOLLO_GRAPH_REF \
-e MCP_ENABLE=1 \
my-mcp-server
Configuration Examples#
Server Metadata:
server_info:
name: "Acme Corp GraphQL Server"
version: "2.0.0"
title: "Acme MCP Server"
website_url: "https://acme.com/mcp-docs"
Custom Tool Descriptions:
overrides:
descriptions:
GetAlerts: "Get active weather alerts for a US state"
Security Configuration:
transport:
type: streamable_http
host_validation:
enabled: true
allowed_hosts:
- mcp.example.com
Architecture Highlights#
- Core Language: Rust (98.6%), high performance and memory safety
- Dependency: rmcp (v0.14+) for underlying MCP protocol implementation
- Apollo Router Integration: Runs as extension or standalone process
- Transport Layer: Streamable HTTP transport with SSE Resumability
Use Cases#
- Enterprise AI assistants integrating internal GraphQL microservices
- AI-powered intelligent orchestration of complex multi-API workflows
- Building unified AI tool gateways supporting multiple clients
- Rapid prototyping and local development testing