by toolprint
GraphQL Forge automates tool creation from any GraphQL API, offering seamless integration and intelligent caching for Gi
Automatically converts GraphQL APIs into individual MCP tools through schema introspection. Connects AI assistants to GraphQL services like GitHub or Shopify APIs without manual setup.
GraphQL Forge is a community-built MCP server published by toolprint that provides AI assistants with tools and capabilities via the Model Context Protocol. GraphQL Forge automates tool creation from any GraphQL API, offering seamless integration and intelligent caching for Gi It is categorized under developer tools.
You can install GraphQL Forge in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
NOASSERTION
GraphQL Forge is released under the NOASSERTION license.
Add new capabilities to Claude beyond text generation
Example
Access external data sources, execute code, interact with tools and services
Transform Claude from chatbot to action-taking agent
Provide Claude with access to relevant context and data
Example
Load project documentation, access knowledge bases, query databases
Get more accurate, context-aware responses
Automate multi-step workflows combining AI and external tools
Example
Research → Summarize → Create document → Send notification
Complete complex tasks end-to-end without manual steps
Share your MCP server with the developer community
GraphQL Forge is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
GraphQL Forge has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
GraphQL Forge is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
Useful MCP listing: GraphQL Forge is the kind of server we cite when onboarding engineers to host + tool permissions.
Strong directory entry: GraphQL Forge surfaces stars and publisher context so we could sanity-check maintenance before adopting.
GraphQL Forge is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
GraphQL Forge is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
We evaluated GraphQL Forge against two servers with overlapping tools; this profile had the clearer scope statement.
I recommend GraphQL Forge for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
We evaluated GraphQL Forge against two servers with overlapping tools; this profile had the clearer scope statement.
showing 1-10 of 31
# Via Smithery (recommended)
npx @smithery/cli install @toolprint/mcp-graphql-forge --client claude
# Via npm
npm install -g @toolprint/mcp-graphql-forge
An MCP server that makes GraphQL APIs accessible to AI tools by:
Note: Docker runtime support is currently a work in progress. For production deployments, we recommend using the TypeScript runtime on platforms like Smithery.
Start the server:
# Start serving it with the Streamable HTTP transport
GRAPHQL_ENDPOINT="https://your-api.com/graphql" npx -y @toolprint/mcp-graphql-forge --transport http --port 3001
Connect with MCP Inspector:
# In another terminal, launch the inspector
npx @modelcontextprotocol/inspector
With authentication:
# Using environment variables for configuration
export GRAPHQL_ENDPOINT="https://api.github.com/graphql"
export GRAPHQL_AUTH_HEADER="Bearer YOUR_TOKEN"
npx @toolprint/mcp-graphql-forge --transport http --port 3001
# Or all in one line
GRAPHQL_ENDPOINT="https://api.github.com/graphql" GRAPHQL_AUTH_HEADER="Bearer YOUR_TOKEN" npx @toolprint/mcp-graphql-forge --transport http --port 3001
Create an mcp.json in your project root. This will run it in stdio mode.
{
"mcpServers": {
"mcp-graphql-forge": {
"command": "npx",
"args": [
"-y",
"@toolprint/mcp-graphql-forge"
],
"env": {
"GRAPHQL_ENDPOINT": "https://your-api.com/graphql",
"GRAPHQL_AUTH_HEADER": "Bearer YOUR_TOKEN"
}
}
}
}
Pre-generate schema:
# Generate schema without starting server
GRAPHQL_ENDPOINT="https://your-api.com/graphql" mcp-graphql-forge introspect
# Start server using pre-generated schema
mcp-graphql-forge --no-introspection --transport http --port 3001
Custom schema location:
# Generate schema in custom location
SCHEMA_PATH="./schemas/my-api.json" mcp-graphql-forge introspect
# Use custom schema location
SCHEMA_PATH="./schemas/my-api.json" mcp-graphql-forge --no-introspection --transport http --port 3001
Force schema regeneration:
# Force regenerate schema even if it exists
mcp-graphql-forge introspect --force
# Regenerate and start server
mcp-graphql-forge --force-introspection --transport http --port 3001
# Multiple custom headers
export GRAPHQL_HEADER_X_API_KEY="your-api-key"
export GRAPHQL_HEADER_X_CLIENT_ID="your-client-id"
mcp-graphql-forge --transport http --port 3001
# Development mode with auto-reload on schema changes
mcp-graphql-forge --transport http --port 3001 --watch
🗂️ Building field selection cache for all types...
📊 Generated field selections for 44 types
💾 Field selection cache contains 44 full selections and 5 minimal selections
Generated 63 tools from GraphQL schema:
- 30 query tools
- 33 mutation tools
For a GraphQL schema like:
type Query {
user(id: ID!): User
articles(filters: ArticleFiltersInput, pagination: PaginationArg): [Article]
}
type Mutation {
createUser(input: CreateUserInput!): User
}
Fast MCP GraphQL automatically generates:
query_user - with required id parameter validationquery_articles - with optional filtering and paginationmutation_createUser - with input validation and complete field selectionsInstead of manual GraphQL query construction:
# ❌ Error-prone manual approach
query {
articles {
# Missing required field selections!
author {
# Circular reference issues!
}
}
}
Fast MCP GraphQL generates optimal queries automatically:
# ✅ Auto-generated with full field selections
query articlesOperation($filters: ArticleFiltersInput, $pagination: PaginationArg) {
articles(filters: $filters, pagination: $pagination) {
documentId
title
description
author {
documentId
name
email
articles_connection {
nodes { documentId } # Circular reference handled!
}
}
category {
documentId
name
articles { documentId } # Cached selection reused!
}
}
}
mcp-graphql-forge [options]
Options:
--transport <type> Transport type: stdio or http (default: stdio)
--port <number> Port for HTTP transport (default: 3000)
--no-introspection Skip schema introspection (use cached schema)
--version Show version number
--help Show help
| Variable | Description | Example |
|---|---|---|
GRAPHQL_ENDPOINT | GraphQL API endpoint | https://api.example.com/graphql |
GRAPHQL_AUTH_HEADER | Authorization header | Bearer token123 |
GRAPHQL_HEADER_* | Custom headers | GRAPHQL_HEADER_X_API_KEY=key123 |
SCHEMA_PATH | Schema cache file path | ./schema.json |
PORT | HTTP server port | 3001 |
Each generated tool follows this pattern:
{
name: "query_user",
description: "Execute GraphQL query: user",
inputSchema: {
type: "object",
properties: {
id: { type: "string" }
},
required: ["id"] // Only truly required parameters
}
}
# Run all tests
npm test
# Run specific test suites
npm test -- src/__tests__/field-selection-cache.test.ts
npm test -- src/__tests__/server-validation.test.ts
npm test -- src/__tests__/graphql-execution.test.ts
# Coverage report
npm run test:coverage
# Test with real GraphQL endpoints
GRAPHQL_ENDPOINT="https://countries.trevorblades.com/" npm test
# Test caching performance
npm run test:performance
Prerequisites
Time Estimate
15-60 minutes depending on server complexity
Steps
Troubleshooting
✓ Do
✗ Don't
💡 Pro Tips
Architecture
Model Context Protocol standardizes how AI hosts (Claude, Cursor) communicate with external tools and data sources through server implementations.
Protocols
Compatibility
✓ Use when
Use when you need Claude to access external data, execute actions, or integrate with tools. Best for extending AI capabilities beyond conversation.
✗ Avoid when
Avoid when native integrations exist (use official APIs directly), for real-time critical systems, or when security/compliance requires zero external dependencies.