mcp-graphql
by: blurrah
Model Context Protocol server for GraphQL
📌Overview
Purpose: The mcp-graphql framework aims to facilitate communication between Large Language Models (LLMs) and GraphQL APIs through dynamic schema introspection and query execution.
Overview: mcp-graphql is a Model Context Protocol server tailored for integrating LLMs with GraphQL APIs. It enables models to automatically discover the schema of GraphQL endpoints and execute queries, providing an adaptable interface for developers and users alike.
Key Features:
-
Introspect Schema: Retrieves the GraphQL schema either from a local file or via introspection, allowing for dynamic understanding of available queries and types.
-
Execute Queries: Supports execution of GraphQL queries against an endpoint, with optional activation of mutation operations for interaction with data.
mcp-graphql
A Model Context Protocol server enabling LLMs to interact with GraphQL APIs. This implementation provides schema introspection and query execution capabilities, allowing models to discover and use GraphQL APIs dynamically.
Usage
Run mcp-graphql
with the correct endpoint, and it will automatically try to introspect your queries.
Command Line Arguments
Argument | Description | Default |
---|---|---|
--endpoint | GraphQL endpoint URL | http://localhost:4000/graphql |
--headers | JSON string containing headers for requests | {} |
--enable-mutations | Enable mutation operations (disabled by default) | false |
--name | Name of the MCP server | mcp-graphql |
--schema | Path to a local GraphQL schema file (optional) | - |
Examples
# Basic usage with a local GraphQL server
npx mcp-graphql --endpoint http://localhost:3000/graphql
# Using with custom headers
npx mcp-graphql --endpoint https://api.example.com/graphql --headers '{"Authorization":"Bearer token123"}'
# Enable mutation operations
npx mcp-graphql --endpoint http://localhost:3000/graphql --enable-mutations
# Using a local schema file instead of introspection
npx mcp-graphql --endpoint http://localhost:3000/graphql --schema ./schema.graphql
Available Tools
- introspect-schema: Retrieves the GraphQL schema using either a local schema file or an introspection query.
- query-graphql: Executes GraphQL queries against the endpoint. Mutations are disabled by default unless
--enable-mutations
is specified.
Installation
Installing via Smithery
To install GraphQL MCP Server automatically via Smithery:
npx -y @smithery/cli install mcp-graphql --client claude
Installing Manually
It can be manually installed to Claude:
{
"mcpServers": {
"mcp-graphql": {
"command": "npx",
"args": ["mcp-graphql", "--endpoint", "http://localhost:3000/graphql"]
}
}
}
Security Considerations
Mutations are disabled by default as a security measure to prevent modifications to your database or service data. Consider carefully before enabling mutations in production environments.
Customize for Your Own Server
This implementation allows for complete introspection and flexibility, including mutations. For a more specific setup, consider creating your own MCP while restricting user input to specific query fields and/or variables. Use this as a reference.