Skip to main content
Glama
saewoohan

mcp-graphql-tools

by saewoohan
README.md
# 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

## Usage with Claude Desktop

### NPX

```json
{
  "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.

TDQS

B3.3/5.0

Scored across 2 tools

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
ResponsivenessNo issues