Apollo MCP Demo
Demo de Apollo MCP
Esta carpeta configura la misma arquitectura central que Apollo demuestra para MCP:
una API de GraphQL normal,
un servidor Apollo MCP delante de ella,
una pequeña lista de permitidos de operaciones GraphQL que se convierten en herramientas MCP.
Esta versión utiliza el contenedor independiente del servidor Apollo MCP en lugar del asistente rover init --mcp porque es más sencillo de ejecutar localmente sin credenciales de GraphOS.
Qué se inicia
api: un pequeño servidor Apollo enhttp://localhost:4001/mcp: servidor Apollo MCP enhttp://localhost:8000/mcp
Related MCP server: mcp4gql
Diagrama de arquitectura
flowchart LR
subgraph LocalMachine["Local machine"]
Client["MCP client\nInspector / Codex / Cursor"]
subgraph Docker["docker compose"]
MCP["Apollo MCP Server\n:8000/mcp"]
API["Apollo GraphQL API\n:4001"]
end
Ops["graphql/operations/*.graphql\nApproved operations"]
Schema["graphql/api.graphql\nSchema snapshot"]
end
Client -->|"MCP over Streamable HTTP"| MCP
Ops -->|"tool definitions"| MCP
Schema -->|"schema metadata"| MCP
MCP -->|"GraphQL queries/mutations"| API
API -->|"GraphQL JSON response"| MCP
MCP -->|"MCP tool results"| ClientEjecución
cd C:\Users\muham\Documents\apollo-mcp
npm install
docker compose up --buildEn una segunda terminal, inspecciona el servidor MCP:
npx @modelcontextprotocol/inspectorLuego abre la URL del inspector que aparece, elige:
Tipo de transporte:
Streamable HTTPURL:
http://127.0.0.1:8000/mcp
Haz clic en Connect y luego en List Tools.
Deberías ver herramientas MCP derivadas de:
GetBooksGetBookByIdGetBooksByGenre
Configuración opcional del cliente
Para clientes MCP que utilizan mcp-remote, la forma de la configuración local es:
{
"mcpServers": {
"apollo-demo": {
"command": "npx",
"args": [
"mcp-remote",
"http://127.0.0.1:8000/mcp"
]
}
}
}Qué está ocurriendo realmente
La API de GraphQL sigue siendo el servicio de datos real. Conoce el esquema, resuelve los campos y devuelve JSON para las consultas GraphQL.
El servidor Apollo MCP no reemplaza esa API. Se sitúa delante de ella y traduce las operaciones GraphQL aprobadas en herramientas MCP que un cliente de IA puede descubrir y llamar.
Los archivos importantes son:
mcp-config.yaml: indica al servidor Apollo MCP dónde reside el endpoint de GraphQL, dónde está el archivo de esquema, dónde residen las operaciones permitidas y cómo exponer MCP a través de HTTP.
graphql/api.graphql: instantánea del esquema utilizada por el servidor Apollo MCP para que pueda describir las herramientas correctamente.
graphql/operations/GetBooks.graphql: una consulta aprobada que se convierte en una herramienta MCP.
src/server.mjs: la implementación real de la API de GraphQL.
docker-compose.yml: ejecuta ambos servicios juntos en una red local.
El flujo de solicitud es:
Tu cliente MCP se conecta a
http://localhost:8000/mcp.El servidor Apollo MCP anuncia herramientas basadas en los archivos de operación
.graphql.El cliente llama a una de esas herramientas con argumentos.
El servidor Apollo MCP convierte esa llamada de herramienta de nuevo en la operación GraphQL subyacente.
El servidor Apollo MCP envía esa solicitud GraphQL a
http://api:4001/.La API de GraphQL ejecuta la consulta y devuelve los datos.
El servidor Apollo MCP devuelve el resultado al cliente MCP en formato MCP.
Diagrama de flujo de solicitud
sequenceDiagram
autonumber
participant C as MCP Client
participant M as Apollo MCP Server
participant O as Operation Files
participant G as GraphQL API
C->>M: Connect to http://localhost:8000/mcp
M->>O: Load approved .graphql operations
O-->>M: GetBooks / GetBookById / GetBooksByGenre
M-->>C: Advertise MCP tools
C->>M: Invoke tool with arguments
M->>M: Convert tool call to GraphQL operation
M->>G: Send GraphQL request to http://api:4001/
G-->>M: Return GraphQL JSON data
M-->>C: Return MCP-formatted tool resultPor qué no hay un router aquí
Apollo Router es útil cuando:
estás sirviendo un supergrafo federado,
quieres el tiempo de ejecución gestionado por GraphOS de Apollo,
o quieres GraphQL y MCP integrados en Apollo Runtime.
Para una demo local sencilla con una API de GraphQL existente, los documentos de despliegue de Apollo admiten el uso directo del contenedor independiente del servidor Apollo MCP contra ese endpoint. Eso es lo que utiliza este proyecto.
Fuentes
Inicio rápido del servidor Apollo MCP: https://www.apollographql.com/docs/apollo-mcp-server/quickstart
Referencia de configuración del servidor Apollo MCP: https://www.apollographql.com/docs/apollo-mcp-server/command-reference
Documentos de despliegue del servidor Apollo MCP: https://www.apollographql.com/docs/apollo-mcp-server/deploy
Documentos de depuración del servidor Apollo MCP: https://www.apollographql.com/docs/apollo-mcp-server/debugging
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceA MCP server that exposes GraphQL schema information to LLMs like Claude. This server allows an LLM to explore and understand large GraphQL schemas through a set of specialized tools, without needing to load the whole schema into the context7047MIT
- AlicenseAqualityDmaintenanceGraphQL MCP Server that acts as a bridge allowing MCP clients (like Cursor or Claude Desktop) to interact with target GraphQL APIs through standard tools for schema introspection and operation execution.2153MIT
- AlicenseAqualityAmaintenanceA generic MCP (Model Context Protocol) server that bridges any GraphQL API to Claude Code. It introspects your GraphQL schema and exposes each query and mutation as an individual tool, letting Claude interact with your API directly.2521MIT
- AlicenseNot gradedqualityDmaintenanceA generic MCP server that converts .graphql query files into tools for Claude, enabling interaction with any GraphQL API without coding.MIT
Related MCP Connectors
MCP server exposing the Backtest360 engine API as tools for AI agents.
MCP server for AI access to Swagger by SmartBear.
MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mabdullah679/apollo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server