GraphQL MCPA Python package that turns any GraphQL API into AI-ready tools
Every query becomes a read tool. Every mutation becomes a write tool. Claude, ChatGPT, Cursor, and any MCP client can call them instantly.
Every query becomes a read tool. Every mutation becomes a write tool. Claude, ChatGPT, Cursor, and any MCP client can call them instantly.
GraphQL MCP is a Python package that reads your GraphQL schema and generates MCP tools automatically — no boilerplate, no manual definitions. It works in two modes: wrap a Python schema directly, or proxy any remote GraphQL API.
Your GraphQL schema
type Query {
tasks(status: Status, priority: Priority): [Task!]!
task(id: UUID!): Task
}
type Mutation {
createTask(title: String!, priority: Priority): Task!
deleteTask(id: UUID!): Boolean!
}
enum Status { TODO, IN_PROGRESS, DONE }
enum Priority { LOW, MEDIUM, HIGH, CRITICAL }Generated MCP tools
tasks(status?, priority?) → [Task]
List all tasks, filtered by status or priority.
task(id) → Task
Get a single task by ID.
create_task(title, priority?) → Task
Create a new task.
delete_task(id) → bool
Delete a task by ID.Types, descriptions, enums, and optionality are all preserved automatically.
Wrap a Python schema
Import your Strawberry, Ariadne, Graphene, or graphql-api schema and serve it directly — no network hop, no separate server.
from graphql_mcp import GraphQLMCP
api = ... # your Python GraphQL schema
server = GraphQLMCP.from_api(api, name="My API")
app = server.http_app()Proxy a remote API
Point at any GraphQL endpoint — GitHub, Shopify, Hasura, or your own, in any language — and graphql-mcp introspects the schema and generates tools automatically.
from graphql_mcp import GraphQLMCP
server = GraphQLMCP.from_remote_url(
"https://api.example.com/graphql"
)
app = server.http_app()StrawberryAriadneGraphenegraphql-apiAny graphql-core schemaRemote GraphQL endpoints
Works alongside Strawberry, Ariadne, Graphene, graphql-api, or any graphql-core schema.
Connect to any GraphQL API — GitHub, Shopify, Hasura, or your own, in any language.
mcp_hidden, auth, mutations, transport, middleware — configure how tools are generated and served.