GraphQL MCP
Interactúa con APIs de GraphQL usando LLMs. Soporta introspección de esquemas y ejecución de consultas.
Documentación
mcp-graphql
Un servidor de Protocolo de Contexto de Modelo (MCP) que permite a los LLMs interactuar con APIs de GraphQL. Esta implementación proporciona capacidades de introspección de esquema y ejecución de consultas, permitiendo a los modelos descubrir y usar APIs de GraphQL dinámicamente.
Uso
Ejecuta mcp-graphql con el endpoint correcto, automáticamente intentará hacer introspección de tus consultas.
Variables de Entorno (Cambio importante en 1.0.0)
Nota: A partir de la versión 1.0.0, los argumentos de línea de comandos han sido reemplazados por variables de entorno.
| Variable de Entorno | Descripción | Valor por Defecto |
|---|---|---|
ENDPOINT | URL del endpoint de GraphQL | http://localhost:4000/graphql |
HEADERS | Cadena JSON que contiene los encabezados para las solicitudes | {} |
ALLOW_MUTATIONS | Habilitar operaciones de mutación (deshabilitadas por defecto) | false |
NAME | Nombre del servidor MCP | mcp-graphql |
SCHEMA | Ruta a un archivo de esquema GraphQL local o URL (opcional) | - |
Ejemplos
# Basic usage with a local GraphQL server
ENDPOINT=http://localhost:3000/graphql npx mcp-graphql
# Using with custom headers
ENDPOINT=https://api.example.com/graphql HEADERS='{"Authorization":"Bearer token123"}' npx mcp-graphql
# Enable mutation operations
ENDPOINT=http://localhost:3000/graphql ALLOW_MUTATIONS=true npx mcp-graphql
# Using a local schema file instead of introspection
ENDPOINT=http://localhost:3000/graphql SCHEMA=./schema.graphql npx mcp-graphql
# Using a schema file hosted at a URL
ENDPOINT=http://localhost:3000/graphql SCHEMA=https://example.com/schema.graphql npx mcp-graphql
Recursos
- graphql-schema: El servidor expone el esquema de GraphQL como un recurso al que los clientes pueden acceder. Este puede ser el archivo de esquema local, un archivo de esquema alojado en una URL, o basado en una consulta de introspección.
Herramientas Disponibles
El servidor proporciona dos herramientas principales:
-
introspect-schema: Esta herramienta recupera el esquema de GraphQL. Úsala primero si no tienes acceso al esquema como recurso. Esto utiliza el archivo de esquema local, un archivo de esquema alojado en una URL, o una consulta de introspección.
-
query-graphql: Ejecuta consultas de GraphQL contra el endpoint. Por defecto, las mutaciones están deshabilitadas a menos que
ALLOW_MUTATIONSesté configurado entrue.
Instalación
Instalación mediante Smithery
Para instalar GraphQL MCP Server para Claude Desktop automáticamente a través de Smithery:
npx -y @smithery/cli install mcp-graphql --client claude
Instalación Manual
Se puede instalar manualmente en Claude:
{
"mcpServers": {
"mcp-graphql": {
"command": "npx",
"args": ["mcp-graphql"],
"env": {
"ENDPOINT": "http://localhost:3000/graphql"
}
}
}
}
Consideraciones de Seguridad
Las mutaciones están deshabilitadas por defecto como medida de seguridad para evitar que un LLM modifique tu base de datos o los datos de tu servicio. Considera cuidadosamente antes de habilitar mutaciones en entornos de producción.
Personaliza para tu propio servidor
Esta es una implementación muy genérica que permite introspección completa y que tus usuarios hagan lo que quieran (incluyendo mutaciones). Si necesitas una implementación más específica, te sugiero crear tu propio MCP y restringir las llamadas a herramientas para que los clientes solo ingresen campos de consulta y/o variables específicos. Puedes usar esto como referencia.