GraphQL MCP Server
Allows interaction with GraphQL endpoints, providing tools to execute queries, retrieve schema information through introspection, and optionally run mutations when enabled.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GraphQL MCP Serverintrospect the schema to see what queries are available"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Graphql MCP Server
An model context protocol adapted to running and list graphql queries
Environment Variable | Description | Default |
| GraphQL endpoint URL |
|
| JSON string containing headers for requests |
|
| Enable mutation operations (disabled by default) |
|
Resources
schema: exposes the GraphQL Schema to easy use by the IA
Related MCP server: mcp-graphql
Available Tools
introspect: This tool retrieves the GraphQL schema. used to index or get a new funciton by the LLM
query: Execute GraphQL queries.
Installation
Installing Manually
start with installing the dependencies
npm iafter run the build of the package
npm run buildIt can be manually installed to cursor:
{
"mcpServers": {
"gql-mcp-server": {
"command": "npx",
"args": ["mcp-graphql"],
"env": {
"ENDPOINT": "https://localhost",
"HEADERS": "{\"x-api-key\":\"apikey\"}"
}
}
}
}You can also test the mpc using the MPC inspector
npx -y @modelcontextprotocol/inspector node dist/index.js inspectAvailable Tools
3 toolsinspectC
Inspect this server
| Name | Required | Description | Default |
|---|---|---|---|
| __ignore__ | No | This does not do anything |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Inspect this server' implies a read-only operation, but it does not specify what is inspected (e.g., configuration, status, logs), whether it requires authentication, any rate limits, or the format of results. The description adds minimal behavioral context beyond the implied action, failing to compensate for the lack of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just three words: 'Inspect this server'. It is front-loaded and wastes no words, though this brevity contributes to its lack of detail. Every word serves a purpose, even if that purpose is minimal, making it structurally efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's name suggests potential complexity (e.g., server inspection could involve multiple aspects), the description is incomplete. With no annotations, no output schema, and a vague purpose, it fails to provide enough context for an agent to understand what the tool does, how to use it effectively, or what to expect in return. The high schema coverage for a trivial parameter does not compensate for these broader gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter with 100% description coverage, and the parameter '__ignore__' is documented as 'This does not do anything' with a default value. The description does not mention parameters, but since schema coverage is high and there is only one parameter that is non-functional, the baseline is elevated. The description does not add meaning beyond the schema, but the parameter's trivial nature justifies a score above the minimum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Inspect this server' is a tautology that essentially restates the tool name 'inspect' with minimal additional information. It specifies the resource ('this server') but lacks a clear, specific verb or action that distinguishes what 'inspect' entails compared to siblings like 'introspect' and 'query'. This makes the purpose vague and under-specified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'introspect' or 'query'. There is no mention of context, prerequisites, or exclusions, leaving the agent with no information to make an informed choice among sibling tools. This absence of usage guidelines is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
introspectA
Introspect the GraphQL schema, use this tool before doing a query to get the schema information if you do not have it available as a resource already.
| Name | Required | Description | Default |
|---|---|---|---|
| __ignore__ | No | This does not do anything |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While it mentions the tool's purpose and usage timing, it lacks details on behavioral traits such as whether this is a read-only operation, potential performance impacts, error conditions, or what the output format looks like (though there's no output schema). For a tool with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with essential information in a single, efficient sentence. It states the action ('Introspect the GraphQL schema'), the purpose ('to get the schema information'), and the usage context ('before doing a query... if you do not have it available'). Every word earns its place with zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (introspecting a GraphQL schema), no annotations, no output schema, and 100% schema coverage for a single trivial parameter, the description is minimally adequate. It covers the basic purpose and usage context but lacks details on behavioral aspects, output format, or error handling that would be helpful for an AI agent. A score of 3 reflects this being the minimum viable description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter with 100% description coverage (the '__ignore__' parameter is documented as 'This does not do anything'). The tool description adds no parameter-specific information beyond what the schema provides. According to scoring rules, with high schema coverage (>80%), the baseline is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Introspect the GraphQL schema' (verb+resource). It specifies this is to 'get the schema information' for use before querying. However, it doesn't explicitly differentiate from sibling tools like 'inspect' or 'query', which might have overlapping functionality in a GraphQL context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool: 'use this tool before doing a query to get the schema information if you do not have it available as a resource already.' This gives a specific scenario (pre-query when schema info is unavailable). However, it doesn't mention when NOT to use it or explicitly compare to alternatives like the 'inspect' sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
queryC
Query a GraphQL endpoint with the given query and variables
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| variables | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool queries a GraphQL endpoint but lacks critical details: authentication requirements, rate limits, error handling, response format, or whether it's read-only or mutative. This leaves significant gaps for an agent to understand operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It front-loads the core purpose ('Query a GraphQL endpoint') and succinctly specifies inputs, making it easy to parse and understand quickly without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a GraphQL query tool with 2 parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It lacks details on authentication, error handling, response structure, and usage distinctions from siblings, leaving the agent under-informed for reliable tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions 'query' and 'variables' as inputs, aligning with the schema's two parameters, but adds no semantic context—such as what constitutes a valid GraphQL query, how variables should be formatted (e.g., JSON string), or examples. This minimal addition fails to adequately clarify parameter usage beyond naming them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Query') and target ('a GraphQL endpoint'), specifying the required inputs ('with the given query and variables'). It distinguishes from sibling tools 'inspect' and 'introspect' by focusing on execution rather than schema exploration. However, it doesn't explicitly contrast with those siblings, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the sibling tools 'inspect' or 'introspect'. The description implies usage for executing GraphQL queries but offers no context about alternatives, prerequisites, or constraints, leaving the agent to infer appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
inspect - First observed
introspect - First observed
query
TDQS
Scored across 3 tools
The three tools have distinct primary purposes: inspect for server metadata, introspect for schema discovery, and query for executing operations. However, inspect and introspect could be slightly confused as both provide information about the server, though their specific focuses differ enough for agents to distinguish them with careful reading of descriptions.
All tool names follow a consistent, simple verb-based pattern (inspect, introspect, query) without any mixing of conventions like camelCase or snake_case. The naming is straightforward and predictable across the set.
With only 3 tools, this server feels minimal for a GraphQL domain, which typically involves operations like mutations and subscriptions beyond just queries. While it covers basic introspection and querying, the count is borderline thin for a full-featured GraphQL interface.
The tool set is significantly incomplete for GraphQL operations. It lacks mutation tools for data modification and subscription tools for real-time updates, which are core parts of the GraphQL specification. This gap will likely cause agent failures when trying to perform common GraphQL workflows beyond read-only queries.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The Grafbase MCP server sits in front of a GraphQL API and exposes an MCP protocol-compliant interface that allows AI agents and LLMs to explore and query GraphQL APIs using natural language. It provides tools to search schemas, introspect types and fields, and execute GraphQL queries while minimizing context bloat by returning only relevant schema subsets, with built-in support for authentication, authorization, and configurable access control.
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Related MCP Servers
- AlicenseCqualityDmaintenanceA TypeScript server that provides Claude AI with seamless access to any GraphQL API through the Model Context Protocol.6612MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables LLMs to interact with GraphQL APIs by providing schema introspection and query execution capabilities.6583MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables LLMs to interact with GraphQL APIs by providing schema introspection and query execution capabilities.11MIT
- FlicenseAqualityDmaintenanceA Model Context Protocol server that enables AI agents to dynamically interact with Hasura GraphQL endpoints through natural language, supporting schema discovery, data querying/manipulation, and aggregations.923-