MCP HubMCP Hub
blurrah

mcp-graphql

by: blurrah

Model Context Protocol server for GraphQL

91created 21/12/2024
Visit
GraphQL
Protocol

📌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

ArgumentDescriptionDefault
--endpointGraphQL endpoint URLhttp://localhost:4000/graphql
--headersJSON string containing headers for requests{}
--enable-mutationsEnable mutation operations (disabled by default)false
--nameName of the MCP servermcp-graphql
--schemaPath 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

  1. introspect-schema: Retrieves the GraphQL schema using either a local schema file or an introspection query.
  2. 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.