GraphQL MCP

Interaja com APIs GraphQL usando LLMs. Suporta introspecção de esquema e execução de consultas.

Documentação

mcp-graphql

smithery badge

Um servidor Model Context Protocol que permite que LLMs interajam com APIs GraphQL. Esta implementação fornece capacidades de introspecção de esquema e execução de consultas, permitindo que os modelos descubram e usem APIs GraphQL dinamicamente.

mcp-graphql MCP server

Uso

Execute mcp-graphql com o endpoint correto; ele tentará automaticamente fazer a introspecção das suas consultas.

Variáveis de Ambiente (Mudança significativa na versão 1.0.0)

Nota: A partir da versão 1.0.0, os argumentos de linha de comando foram substituídos por variáveis de ambiente.

Variável de AmbienteDescriçãoPadrão
ENDPOINTURL do endpoint GraphQLhttp://localhost:4000/graphql
HEADERSString JSON contendo cabeçalhos para requisições{}
ALLOW_MUTATIONSHabilita operações de mutação (desabilitado por padrão)false
NAMENome do servidor MCPmcp-graphql
SCHEMACaminho para um arquivo de esquema GraphQL local ou URL (opcional)-

Exemplos

# 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: O servidor expõe o esquema GraphQL como um recurso que os clientes podem acessar. Isso pode ser o arquivo de esquema local, um arquivo de esquema hospedado em uma URL ou baseado em uma consulta de introspecção.

Ferramentas Disponíveis

O servidor fornece duas ferramentas principais:

  1. introspect-schema: Esta ferramenta recupera o esquema GraphQL. Use-a primeiro se você não tiver acesso ao esquema como recurso. Isso usa o arquivo de esquema local, um arquivo de esquema hospedado em uma URL ou uma consulta de introspecção.

  2. query-graphql: Executa consultas GraphQL contra o endpoint. Por padrão, mutações são desabilitadas a menos que ALLOW_MUTATIONS esteja definido como true.

Instalação

Instalando via Smithery

Para instalar o GraphQL MCP Server para Claude Desktop automaticamente via Smithery:

npx -y @smithery/cli install mcp-graphql --client claude

Instalando Manualmente

Ele pode ser instalado manualmente no Claude:

{
    "mcpServers": {
        "mcp-graphql": {
            "command": "npx",
            "args": ["mcp-graphql"],
            "env": {
                "ENDPOINT": "http://localhost:3000/graphql"
            }
        }
    }
}

Considerações de Segurança

Mutações são desabilitadas por padrão como uma medida de segurança para evitar que um LLM modifique seu banco de dados ou dados de serviço. Considere cuidadosamente antes de habilitar mutações em ambientes de produção.

Personalize para o seu próprio servidor

Esta é uma implementação muito genérica que permite introspecção completa e que seus usuários façam o que quiserem (incluindo mutações). Se você precisar de uma implementação mais específica, sugiro criar seu próprio MCP e restringir a chamada de ferramentas para que os clientes insiram apenas campos e/ou variáveis de consulta específicos. Você pode usar isto como referência.