developer-tools

GraphQL Forge

by toolprint

GraphQL Forge automates tool creation from any GraphQL API, offering seamless integration and intelligent caching for Gi

Automatically converts any GraphQL API into individual tools through schema introspection and intelligent caching, enabling seamless integration with GraphQL-based services like GitHub or Shopify APIs without manual tool definition.

github stars

15

Zero manual tool definition requiredAutomatic schema introspectionBuilt-in parameter validation

best for

  • / Developers integrating AI with GitHub/Shopify APIs
  • / Teams wanting AI access to custom GraphQL services
  • / Building AI tools that consume GraphQL data

capabilities

  • / Generate MCP tools from GraphQL schemas automatically
  • / Validate parameters and handle GraphQL errors
  • / Cache schemas for consistent performance
  • / Support authenticated GraphQL endpoints
  • / Query any GraphQL API through introspection

what it does

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.

about

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.

how to install

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.

license

NOASSERTION

GraphQL Forge is released under the NOASSERTION license.

readme

MCP GraphQL Forge

NPM Version License TypeScript MCP

Quick Install

Install MCP Server

Alternative Installation Methods

# 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:

  • Automatically generating MCP tools from GraphQL schema introspection
  • Validating parameters and handling errors for reliable AI interactions
  • Supporting both stdio and HTTP transports for development and production
  • Caching schema and field selections for consistent performance

✨ Features

  • Tool Generation: Creates MCP tools from GraphQL schema introspection
  • Parameter Validation: Multi-layer validation prevents GraphQL errors
  • Dual Transport: Supports stdio (AI tools) and HTTP (development/testing)
  • Schema Management: Optional pre-introspection and caching
  • Authentication: Flexible header configuration for authenticated endpoints [Experimental]

🚀 Getting Started

Note: Docker runtime support is currently a work in progress. For production deployments, we recommend using the TypeScript runtime on platforms like Smithery.

Quick Start with HTTP Mode (Recommended for Development)

  1. 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
    
  2. Connect with MCP Inspector:

    # In another terminal, launch the inspector
    npx @modelcontextprotocol/inspector
    
  3. 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
    

Direct AI Integration (Claude/Cursor)

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"
            }
        }
    }
}

Schema Management

  1. 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
    
  2. 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
    
  3. 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
    

Advanced Configuration

# 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

🛠️ How It Works

1. Schema Introspection

🗂️  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

2. Intelligent Tool Generation

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 validation
  • query_articles - with optional filtering and pagination
  • mutation_createUser - with input validation and complete field selections

3. Smart Field Selection

Instead 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!
    }
  }
}

🏗️ Architecture

Caching System

  • Type-Level Caching: Each GraphQL type's field selection is computed once and reused
  • Circular Reference Resolution: Intelligent detection with minimal field fallbacks
  • Consistent Output: Same type always generates identical field selections

Validation Pipeline

  1. JSON Schema Validation: MCP clients validate parameters before execution
  2. Server-Side Validation: Prevents execution with missing required parameters
  3. GraphQL Validation: Final validation at the GraphQL layer

Transport Support

  • Stdio Transport: For MCP client integration (default)
  • HTTP Transport: RESTful interface with MCP 2025 Streamable HTTP specification
  • Session Management: Automatic session handling for HTTP transport

📚 API Reference

CLI Options

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

Environment Variables

VariableDescriptionExample
GRAPHQL_ENDPOINTGraphQL API endpointhttps://api.example.com/graphql
GRAPHQL_AUTH_HEADERAuthorization headerBearer token123
GRAPHQL_HEADER_*Custom headersGRAPHQL_HEADER_X_API_KEY=key123
SCHEMA_PATHSchema cache file path./schema.json
PORTHTTP server port3001

Generated Tool Schema

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
  }
}

🧪 Testing

Comprehensive Test Suite

  • 40+ Test Cases: Covering all functionality and edge cases
  • Real-World Scenarios: Tests against actual GraphQL schemas (Strapi, GitHub, etc.)
  • Security Testing: Prototype pollution protection and input validation
  • Performance Testing: Cache efficiency and field selection optimization
# 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

Integration Testing

# Test with real GraphQL endpoints
GRAPHQL_ENDPOINT="https://countries.trevorblades.com/" npm test

# Test caching performance
npm run test:performance

🛡️ Security

Parameter Validation

  • Required Parameter Enforcement: Prevents GraphQL variable errors
  • Null/Undefined Checking: Validates parameter presence and values
  • Prototype Pollution Protection: Uses secure property checking methods

Schema Security

  • Input Sanitization: All GraphQL inputs are properly typed and validated
  • Circular Reference Protection: Prevents infinite recursion in field selections
  • Header Validation: Secure header handling for authentication

🚀 Performance

Benchmarks

  • Schema Introspection: ~10ms for typical schemas
  • Tool Generation: ~5ms with caching enabled
  • Field Selection: Pre-computed and cached for instant access
  • Memory Usage: Efficient caching with minimal memory footprint

Optimization Features

  • Field Selection Caching: Eliminates redundant field selection computation
  • Schema Caching: Optional schema persistence for faster restarts
  • Minimal GraphQL Queries: Only requests necessary fields
  • Connection Pooling:

FAQ

What is the GraphQL Forge MCP server?
GraphQL Forge is a Model Context Protocol (MCP) server profile on explainx.ai. MCP lets AI hosts (e.g. Claude Desktop, Cursor) call tools and resources through a standard interface; this page summarizes categories, install hints, and community ratings.
How do MCP servers relate to agent skills?
Skills are reusable instruction packages (often SKILL.md); MCP servers expose live capabilities. Teams frequently combine both—skills for workflows, MCP for APIs and data. See explainx.ai/skills and explainx.ai/mcp-servers for parallel directories.
How are reviews shown for GraphQL Forge?
This profile displays 10 aggregated ratings (sample rows for discoverability plus signed-in user reviews). Average score is about 4.5 out of 5—verify behavior in your own environment before production use.
MCP server reviews

Ratings

4.510 reviews
  • Shikha Mishra· Oct 10, 2024

    GraphQL Forge is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.

  • Piyush G· Sep 9, 2024

    We evaluated GraphQL Forge against two servers with overlapping tools; this profile had the clearer scope statement.

  • Chaitanya Patil· Aug 8, 2024

    Useful MCP listing: GraphQL Forge is the kind of server we cite when onboarding engineers to host + tool permissions.

  • Sakshi Patil· Jul 7, 2024

    GraphQL Forge reduced integration guesswork — categories and install configs on the listing matched the upstream repo.

  • Ganesh Mohane· Jun 6, 2024

    I recommend GraphQL Forge for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.

  • Oshnikdeep· May 5, 2024

    Strong directory entry: GraphQL Forge surfaces stars and publisher context so we could sanity-check maintenance before adopting.

  • Dhruvi Jain· Apr 4, 2024

    GraphQL Forge has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.

  • Rahul Santra· Mar 3, 2024

    According to our notes, GraphQL Forge benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.

  • Pratham Ware· Feb 2, 2024

    We wired GraphQL Forge into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.

  • Yash Thakker· Jan 1, 2024

    GraphQL Forge is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.