GraphQL MCP

Interactúa con APIs de GraphQL usando LLMs. Soporta introspección de esquemas y ejecución de consultas.

Documentación

mcp-graphql

smithery badge

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.

mcp-graphql MCP server

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 EntornoDescripciónValor por Defecto
ENDPOINTURL del endpoint de GraphQLhttp://localhost:4000/graphql
HEADERSCadena JSON que contiene los encabezados para las solicitudes{}
ALLOW_MUTATIONSHabilitar operaciones de mutación (deshabilitadas por defecto)false
NAMENombre del servidor MCPmcp-graphql
SCHEMARuta 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:

  1. 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.

  2. query-graphql: Ejecuta consultas de GraphQL contra el endpoint. Por defecto, las mutaciones están deshabilitadas a menos que ALLOW_MUTATIONS esté configurado en true.

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.