mcp4gql
An MCP server that acts as a bridge, allowing MCP clients to interact with a target GraphQL API.
mcp4gql - GraphQL MCP Server
This project is a Node.js/TypeScript server that implements the Model Context Protocol (MCP). It acts as a bridge, allowing MCP clients (like Cursor) to interact with a target GraphQL API.
Features
- MCP Server: Implements the MCP
Server
class from@modelcontextprotocol/sdk
. - Stdio Transport: Communicates with clients via standard input/output.
- GraphQL Client: Uses
axios
to send requests to the configured GraphQL endpoint. - Generic GraphQL Tools: Exposes the following tools to MCP clients:
introspectGraphQLSchema
: Fetches the target GraphQL API schema using introspection.executeGraphQLOperation
: Executes arbitrary GraphQL queries or mutations against the target API, takingquery
, optionalvariables
, and optionaloperationName
as input.
Configuration
The server requires the following environment variables:
GRAPHQL_ENDPOINT
: The URL of the target GraphQL API.AUTH_TOKEN
: A bearer token for an optionalAuthorization: Bearer <token>
header for authenticating with the GraphQL API.
Client Configuration
To allow clients like Cursor or Claude Desktop to use the tools provided by this server, you need to configure them to run the npx
command.
Cursor
-
Go to Cursor MCP Settings (Cursor > Settings > Cursor Settings > MCP)
-
Go to + Add new global MCP server
-
Add the following to your Cursor MCP configuration:
{ "mcpServers": { "mcp4gql": { "command": "npx", "type": "stdio", "args": ["-y", "mcp4gql"], "env": { "GRAPHQL_ENDPOINT": "YOUR_GRAPHQL_ENDPOINT_URL", "AUTH_TOKEN": "YOUR_OPTIONAL_AUTH_TOKEN" } } } }
Claude Desktop
-
Open Claude Desktop settings (Claude > Settings).
-
Go to Developer > Edit Config.
-
Add to the config:
{ "mcpServers": { "mcp4gql": { "command": "npx", "args": ["-y", "mcp4gql"], "env": { "GRAPHQL_ENDPOINT": "YOUR_GRAPHQL_ENDPOINT_URL", "AUTH_TOKEN": "YOUR_OPTIONAL_AUTH_TOKEN" } } } }
Once configured, the MCP client should be able to list and call the introspectGraphQLSchema
and executeGraphQLOperation
tools provided by this server when relevant. Remember to set the required environment variables (GRAPHQL_ENDPOINT
and optionally AUTH_TOKEN
) in the configuration so the server can connect to your API.
Related Servers
Supergateway
A gateway to run MCP stdio servers over various transports like SSE, WebSockets, and Streamable HTTP.
MCP Server + Github OAuth
An MCP server with built-in GitHub OAuth support, designed for deployment on Cloudflare Workers.
IBM wxflows
Tool platform by IBM to build, test and deploy tools for any data source
USolver
A server for solving combinatorial, convex, integer, and non-linear optimization problems.
AILint
AI-powered code quality analysis to detect best practice violations, security issues, and architectural problems in real-time.
MCP Bridge
A proxy server that enables existing REST APIs to be used as Model Context Protocol (MCP) servers.
UUID MCP Provider
Generates timestamp-based unique identifiers using UUID v7.
MCP RAG Server
A Python server providing Retrieval-Augmented Generation (RAG) functionality. It indexes various document formats and requires a PostgreSQL database with pgvector.
Frame0 MCP Server
Create and modify wireframes in the Frame0 app through natural language prompts.
EVM MCP Server
Provides blockchain services for over 30 EVM-compatible networks through a unified interface.