Skip to main content
Glama
saewoohan

mcp-graphql-tools

by saewoohan

GraphQL MCP Tools

A Model Context Protocol (MCP) server implementation that provides GraphQL API interaction capabilities. This server enables AI assistants to interact with GraphQL APIs through a set of standardized tools.

Components

Tools

  • graphql_query

    • Execute GraphQL queries against any endpoint

    • Input:

      • query (string): The GraphQL query to execute

      • variables (object, optional): Variables for the query

      • endpoint (string, optional): GraphQL endpoint URL

      • headers (object, optional): HTTP headers for the request

      • timeout (number, optional): Request timeout in milliseconds

      • allowMutations (boolean, optional): Whether to allow mutation operations

  • graphql_introspect

    • Retrieve and explore GraphQL schema information

    • Input:

      • endpoint (string, optional): GraphQL endpoint URL

      • headers (object, optional): HTTP headers for the request

      • includeDeprecated (boolean, optional): Whether to include deprecated types/fields

Related MCP server: Text-to-GraphQL MCP Server

Usage with Claude Desktop

NPX

{
  "mcpServers": {
    "graphql": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-graphql-tools",
        "--endpoint=https://api.github.com/graphql",
        "--headers={\"Authorization\":\"Bearer YOUR_GITHUB_TOKEN\"}",
        "--timeout=30000",
        "--maxComplexity=100"
      ]
    }
  }
}

Configuration Options

The server accepts the following command-line arguments:

  • --endpoint (-e): Default GraphQL endpoint URL (default: http://localhost:4000/graphql)

  • --headers (-H): Default headers for all requests as JSON string

  • --timeout (-t): Default request timeout in milliseconds (default: 30000)

  • --maxComplexity (-m): Maximum allowed query complexity (default: 100)

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

Available Tools

2 tools
graphql_introspectC

Introspect a GraphQL schema from an endpoint with configurable headers

ParametersJSON Schema
NameRequiredDescriptionDefault
endpointNoGraphQL endpoint URL (can be omitted to use default)
headersNoAdditional headers to include in the request (will be merged with default headers)
includeDeprecatedNoWhether to include deprecated fields

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must convey behavioral traits. It does not disclose if introspection is read-only, whether default endpoint is used, error handling, or any side effects. Minimal context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words. However, it is overly brief and could benefit from more detail without sacrificing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (no output schema, 3 parameters), the description fails to explain return values, default behavior, or error conditions. It is insufficient for full agent understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with each parameter description adequately defined. The description adds 'with configurable headers' which aligns with the headers parameter, but does not significantly enhance understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool introspects a GraphQL schema from an endpoint, using specific verb and resource. However, it does not explicitly differentiate from sibling tool graphql_query, which likely serves a different purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. No mention of prerequisites, when-not-to-use, or comparison with sibling graphql_query.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

graphql_queryA

Execute GraphQL queries using either a specified endpoint or the default endpoint configured during installation

ParametersJSON Schema
NameRequiredDescriptionDefault
endpointNoGraphQL endpoint URL (can be omitted to use default)
queryYesGraphQL query to execute
variablesNoVariables to use with the query (JSON object)
headersNoAdditional headers to include in the request (will be merged with default headers)
timeoutNoRequest timeout in milliseconds

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose any behavioral traits such as side effects, authentication requirements, or rate limits. For a query execution tool, the description is too minimal to inform an agent about potential implications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that efficiently conveys the core functionality without any unnecessary words. It is well-suited for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description covers the main purpose, it lacks details about return format, error handling, or how this tool interacts with the sibling. For a tool with 5 parameters and no output schema, more context would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 5 parameters are documented in the input schema (100% coverage). The description adds extra context, such as the endpoint being optional and headers being merged with defaults, which goes beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool executes GraphQL queries and offers flexibility between a specified endpoint or the default endpoint. This distinguishes it from the sibling tool graphql_introspect which explores schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides some guidance on endpoint usage (can be omitted for default) but does not explicitly state when to use this tool versus graphql_introspect or other alternatives. No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.3/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: introspection and query execution. No overlap or ambiguity.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern with 'graphql_' prefix, making them predictable: graphql_introspect and graphql_query.

Tool Count3/5

Two tools feel slightly thin for a GraphQL server, as core operations like mutations and subscriptions are missing, but introspection and querying are essential.

Completeness2/5

Significant gaps exist: no support for mutations, subscriptions, or endpoint management, which are fundamental to GraphQL interactions.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/saewoohan/mcp-graphql-tools'

If you have feedback or need assistance with the MCP directory API, please join our Discord server