GraphQL Schema Model Context Protocol Server
A Model Context Protocol (MCP) server that exposes GraphQL schema information to Large Language Models (LLMs) like Claude. This server allows an LLM to explore and understand GraphQL schemas through a set of specialized tools.
Features
- Load any GraphQL schema file specified via command line argument
- Explore query, mutation, and subscription fields
- Look up detailed type definitions
- Search for types and fields using pattern matching
- Get simplified field information including types and arguments
- Filter out internal GraphQL types for cleaner results
Usage
Command Line
Run the MCP server with a specific schema file:
1# Use the default schema.graphqls in current directory 2npx -y mcp-graphql-schema 3 4# Use a specific schema file (relative path) 5npx -y mcp-graphql-schema ../schema.shopify.2025-01.graphqls 6 7# Use a specific schema file (absolute path) 8npx -y mcp-graphql-schema /absolute/path/to/schema.graphqls 9 10# Show help 11npx -y mcp-graphql-schema --help
Claude Desktop Integration
To use this MCP server with Claude Desktop, edit your claude_desktop_config.json
configuration file:
1{ 2 "mcpServers": { 3 "GraphQL Schema": { 4 "command": "npx", 5 "args": ["-y", "mcp-graphql-schema", "/ABSOLUTE/PATH/TO/schema.graphqls"] 6 } 7 } 8}
Location of the configuration file:
- macOS/Linux:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
$env:AppData\Claude\claude_desktop_config.json
Claude Code Integration
To use this MCP server with Claude Code CLI, follow these steps:
-
Add the GraphQL Schema MCP server to Claude Code
1# Basic syntax 2claude mcp add graphql-schema npx -y mcp-graphql-schema 3 4# Example with specific schema 5claude mcp add shopify-graphql-schema npx -y mcp-graphql-schema ~/Projects/work/schema.shopify.2025-01.graphqls
-
Verify the MCP server is registered
1# List all configured servers 2claude mcp list 3 4# Get details for your GraphQL schema server 5claude mcp get graphql-schema
-
Remove the server if needed
1claude mcp remove graphql-schema
-
Use the tool in Claude Code
Once configured, you can invoke the tool in your Claude Code session by asking questions about the GraphQL schema.
Tips:
- Use the
-s
or--scope
flag withproject
(default) orglobal
to specify where the configuration is stored - Add multiple MCP servers for different schemas with different names (e.g., main API schema, Shopify schema)
MCP Tools
The server provides the following tools for LLMs to interact with GraphQL schemas:
list-query-fields
: Lists all available root-level fields for GraphQL queriesget-query-field
: Gets detailed definition for a specific query field in SDL formatlist-mutation-fields
: Lists all available root-level fields for GraphQL mutationsget-mutation-field
: Gets detailed definition for a specific mutation field in SDL formatlist-subscription-fields
: Lists all available root-level fields for GraphQL subscriptions (if present in schema)get-subscription-field
: Gets detailed definition for a specific subscription field (if present in schema)list-types
: Lists all types defined in the GraphQL schema (excluding internal types)get-type
: Gets detailed definition for a specific GraphQL type in SDL formatget-type-fields
: Gets a simplified list of fields with their types for a specific GraphQL object typesearch-schema
: Searches for types or fields in the schema by name pattern (case-insensitive regex)
Examples
Example queries to try:
What query fields are available in this GraphQL schema?
Show me the details of the "user" query field.
What mutation operations can I perform in this schema?
List all types defined in this schema.
Show me the definition of the "Product" type.
List all fields of the "Order" type.
Search for types and fields related to "customer".