Sandbox
@blurrah/mcp-graphql

MCP server for GraphQL API access

mcp-graphql is an MCP server that sits between your agent and a GraphQL API. It can fetch or expose the schema, then run queries against the endpoint you set with environment variables.

407 stars61 forksTypeScriptUpdated 1y ago
Who it's for

Builders who want Claude Desktop or another MCP client to inspect and query GraphQL APIs.

What it delivers

You can let your agent discover a GraphQL schema and execute queries without leaving the chat.

What it does

Schema introspection

The `introspect-schema` tool reads the GraphQL schema from the endpoint or from a local or hosted schema file.

GraphQL query execution

The `query-graphql` tool sends queries to the configured endpoint, with mutations off unless `ALLOW_MUTATIONS=true`.

Schema as a resource

The server exposes `graphql-schema` so clients can read the schema directly when it is available.

Header and endpoint configuration

`ENDPOINT`, `HEADERS`, `ALLOW_MUTATIONS`, `NAME`, and `SCHEMA` are set through environment variables.

How to get it

  1. 1To install GraphQL MCP Server for Claude Desktop automatically via Smithery
    npx -y @smithery/cli install mcp-graphql --client claude

README

mcp-graphql

smithery badge

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

mcp-graphql MCP server

Usage

Run mcp-graphql with the correct endpoint, it will automatically try to introspect your queries.

Environment Variables (Breaking change in 1.0.0)

Note: As of version 1.0.0, command line arguments have been replaced with environment variables.

Environment VariableDescriptionDefault
ENDPOINTGraphQL endpoint URLhttp://localhost:4000/graphql
HEADERSJSON string containing headers for requests{}
ALLOW_MUTATIONSEnable mutation operations (disabled by default)false
NAMEName of the MCP servermcp-graphql
SCHEMAPath to a local GraphQL schema file or URL (optional)-

Examples

# 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

Resources

  • graphql-schema: The server exposes the GraphQL schema as a resource that clients can access. This is either the local schema file, a schema file hosted at a URL, or based on an introspection query.

Available Tools

The server provides two main tools:

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

  2. query-graphql: Execute GraphQL queries against the endpoint. By default, mutations are disabled unless ALLOW_MUTATIONS is set to true.

Installation

Installing via Smithery

To install GraphQL MCP Server for Claude Desktop automatically via Smithery:

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

Installing Manually

It can be manually installed to Claude:

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

Security Considerations

Mutations are disabled by default as a security measure to prevent an LLM from modifying your database or service data. Consider carefully before enabling mutations in production environments.

Customize for your own server

This is a very generic implementation where it allows for complete introspection and for your users to do whatever (including mutations). If you need a more specific implementation I'd suggest to just create your own MCP and lock down tool calling for clients to only input specific query fields and/or variables. You can use this as a reference.

Files in the repo

Repository payload17 top-level entries
  • .github
  • .vscode
  • dev
  • src
  • .dockerignore
  • .gitattributes
  • .gitignore
  • .npmrc
  • biome.json
  • bun.lock
  • CONTRIBUTING.md
  • Dockerfile
  • LICENSE
  • package.json
  • README.md
  • smithery.yaml
  • tsconfig.json

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
tirth8205/
code-review-graph

Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.

31k
2akouwu/
reverify

Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k
t8y2/dbxConnectors

20 MB lightweight cross-platform database client for 90+ databases, including MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, SQL Server, and Dameng. Built-in AI, MCP Server, CLI, desktop and Docker. | 轻量级跨平台数据库管理工具,支持 MySQL、PostgreSQL、SQLite、Redis、MongoDB、达梦等 90+ 数据库,提供桌面端、Docker、CLI、内置 AI 助手和 MCP Server。

19k