GraphQL MCP
Interaja com APIs GraphQL usando LLMs. Suporta introspecção de esquema e execução de consultas.
Documentação
mcp-graphql
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.
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 Ambiente | Descrição | Padrão |
|---|---|---|
ENDPOINT | URL do endpoint GraphQL | http://localhost:4000/graphql |
HEADERS | String JSON contendo cabeçalhos para requisições | {} |
ALLOW_MUTATIONS | Habilita operações de mutação (desabilitado por padrão) | false |
NAME | Nome do servidor MCP | mcp-graphql |
SCHEMA | Caminho 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:
-
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.
-
query-graphql: Executa consultas GraphQL contra o endpoint. Por padrão, mutações são desabilitadas a menos que
ALLOW_MUTATIONSesteja definido comotrue.
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.