by blurrah
Model Context Protocol server for GraphQL
# Add to your Claude Code skills
git clone https://github.com/blurrah/mcp-graphqlA Model Context Protocol server that enables LLMs to interact with GraphQL APIs. This implementation provides schema introspection and query execution capabilities, allowing models to discover and use GraphQL APIs dynamically.
<a href="https://glama.ai/mcp/servers/4zwa4l8utf"><img width="380" height="200" src="https://glama.ai/mcp/servers/4zwa4l8utf/badge" alt="mcp-graphql MCP server" /></a>
Run mcp-graphql with the correct endpoint, it will automatically try to introspect your queries.
Note: As of version 1.0.0, command line arguments have been replaced with environment variables.
| Environment Variable | Description | Default |
|----------|-------------|---------|
| ENDPOINT | GraphQL endpoint URL | http://localhost:4000/graphql |
| HEADERS | JSON string containing headers for requests | {} |
| ALLOW_MUTATIONS | Enable mutation operations (disabled by default) | false |
| NAME | Name of the MCP server | mcp-graphql |
| SCHEMA | Path to a local GraphQL schema file or URL (optional) | - |
# 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
The server provides two main tools:
introspect-schema: This tool retrieves the GraphQL schema. Use this first if you don't have access to the schema as a resource. This uses either the local schema file, a schema file hosted at a URL, or an introspection query.
query-graphql: Execute GraphQL queries against the endpoint. By default, mutations are disabled unless ALLOW_MUTATIONS is set to true.
To install GraphQL MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install mcp-graphql --client claude
It can be manually installed to Claude:
{
"mcpServers": {
"mcp-graphql": {
"command": "npx",
"args": ["mcp-graphql"],
"env": {
"ENDPOINT": "http://localhost:3000/gra...