Related MCP Server Resources

Explore more AI models, providers, and integration options:

  • Explore AI Models
  • Explore AI Providers
  • Explore MCP Servers
  • LangDB Pricing
  • Documentation
  • AI Industry Blog
  • MCP Server for ArangoDB
  • mcp-v8
  • Xano MCP Server for Smithery
  • MCP-OpenAPI
  • MCP Manager
Back to MCP Servers
gqai

gqai

Public
fotoetienne/gqai

Lightweight MCP server that exposes GraphQL queries and mutations as callable AI tools, enabling seamless integration of GraphQL backends with Model Context Protocol-compatible AI models like ChatGPT, Claude, and Cursor.

javascript
0 tools
May 30, 2025
Updated Jun 4, 2025

Supercharge Your AI with gqai

MCP Server

Unlock the full potential of gqai through LangDB's AI Gateway. Get enterprise-grade security, analytics, and seamless integration with zero configuration.

Unified API Access
Complete Tracing
Instant Setup
Get Started Now

Free tier available β€’ No credit card required

Instant Setup
99.9% Uptime
10,000+Monthly Requests

gqai

graphql β†’ ai

gqai is a lightweight proxy that exposes GraphQL operations as Model Context Protocol (MCP) tools for AI like Claude, Cursor, and ChatGPT.
Define tools using regular GraphQL queries/mutations against your GraphQL backend, and gqai automatically generates an MCP server for you.

πŸ”Œ Powered by your GraphQL backend
βš™οΈ Driven by .graphqlrc.yml + plain .graphql files


✨ Features

  • 🧰 Define tools using GraphQL operations
  • πŸ—‚ Automatically discover operations from .graphqlrc.yml
  • 🧾 Tool metadata compatible with OpenAI function calling / MCP

πŸ› οΈ Installation

go install github.com/fotoetienne/gqai@latest

πŸš€ Quick Start

  1. Create a .graphqlrc.yml:
schema: https://graphql.org/graphql/ documents: .

This file tells gqai where to find your GraphQL schema and operations.

Note: The schema parameter tells gqai where to execute the operations. This must be a live server rather than a static schema file

  1. Add a GraphQL operation

get_all_films.graphql:

# Get all Star Wars films query get_all_films { allFilms { films { title episodeID } } }
  1. Add gqai to your mcp.json file:
  "gqai": {
    "command": "gqai",
    "args": [
      "run",
      "--config"
      ".graphqlrc.yml"
    ]
  }

That's it! Your AI model can now call the get_all_films tool.

Usage

Configuration

GraphQL Config

The graphql config file is a YAML file that defines the GraphQL endpoint and the operations you want to expose as tools. It should be named .graphqlrc.yml and placed in the root of your project.

schema: https://graphql.org/graphql/ documents: operations

The schema field specifies the GraphQL endpoint, and the documents field specifies the directory where your GraphQL operations are located.

In this example, the operations directory contains all the GraphQL operations you want to expose as tools. Operations are defined in .graphql files, and gqai will automatically discover them.

Headers

You can also specify headers to be sent with each request to the GraphQL endpoint. This is useful for authentication or other custom headers.

schema: - https://graphql.org/graphql/: headers: Authorization: Bearer YOUR_TOKEN X-Custom-Header: CustomValue documents: .

MCP Configuration

Claude Desktop

To use gqai with Claude Desktop, you need to add the following configuration to your mcp.json file:

{ "gqai": { "command": "gqai", "args": [ "run", "--config", ".graphqlrc.yml" ] } }

πŸ§ͺ CLI Testing

Call a tool via CLI to test:

gqai tools/call get_all_films

This will execute the get_all_films tool and print the result.

{ "data": { "allFilms": { "films": [ { "id": 4, "title": "A New Hope" }, { "id": 5, "title": "The Empire Strikes Back" }, { "id": 6, "title": "Return of the Jedi" }, ... ] } } }

Call a tool with arguments:

Create a GraphQL operation that takes arguments, and these will be the tool inputs:

get_film_by_id.graphql:

query get_film_by_id($id: ID!) { film(filmID: $id) { episodeID title director releaseDate } }

Call the tool with arguments:

gqai tools/call get_film_by_id '{"id": "1"}'

This will execute the get_film_by_id tool with the provided arguments.

{ "data": { "film": { "episodeID": 1, "title": "A New Hope", "director": "George Lucas", "releaseDate": "1977-05-25" } } }

Development

Prerequisites

  • Go 1.20+

Build

go build -o gqai main.go

Test

go test ./...

Format

go fmt ./...

Run MCP server

./gqai run --config .graphqlrc.yml

Run CLI

./gqai tools/call get_all_films

About GQAI

πŸ€– Why gqai?

gqai makes it easy to turn your GraphQL backend into a model-ready tool layer β€” no code, no extra infra. Just define your operations and let AI call them.

πŸ“œ License

MIT β€” fork it, build on it, all the things.

πŸ‘‹ Author

Made with ❀️ and πŸ€–vibes by Stephen Spalding && ``

Publicly Shared Threads0

Discover shared experiences

Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!

Share your threads to help others
Related MCPs5
  • MCP Server for ArangoDB
    MCP Server for ArangoDB

    Model Context Protocol server enabling seamless interaction with ArangoDB through core database oper...

    7 tools
    Added May 30, 2025
  • mcp-v8
    mcp-v8

    Rust-based Model Context Protocol server offering secure V8 JavaScript execution with persistent hea...

    Added May 30, 2025
  • Xano MCP Server for Smithery
    Xano MCP Server for Smithery

    Model Context Protocol server enabling seamless integration between Claude AI and Xano databases wit...

    Added May 30, 2025
  • MCP-OpenAPI
    MCP-OpenAPI

    Model Context Protocol server that exposes HTTP operations from OpenAPI 3.0 and 3.1 specs as callabl...

    Added May 30, 2025
  • MCP Manager
    MCP Manager

    Flexible Model Context Protocol (MCP) server enabling seamless communication between AI models and t...

    Added May 30, 2025