Zuplo

GraphQL MCP Server

Make your GraphQL API available to AI assistants like Claude and ChatGPT.

This is a Model Context Protocol (MCP) server built with Zuplo that demonstrates how to expose GraphQL APIs as MCP tools with built-in introspection capabilities.

About this example

This project implements an MCP Server for GraphQL APIs using the Rick & Morty GraphQL API as an example. It showcases:

MCP Tools

  • graphql_introspect - Introspect the GraphQL schema to understand available types, queries, and mutations
  • graphql_execute - Execute GraphQL queries and mutations against the API

Key Features

  • Automatic GraphQL schema introspection
  • Execute any GraphQL query or mutation through MCP
  • API key authentication for security
  • Easy to adapt to any GraphQL API

Key Components

  • OpenAPI-based Routes (config/routes.oas.json) - API routes with MCP GraphQL annotations
  • GraphQL Proxy - Proxies requests to the Rick & Morty GraphQL API
  • MCP GraphQL Integration - Built-in support for GraphQL introspection and execution

Prerequisites

Getting Started

Locally

Working locally is the best way to explore and understand the code for this example. You can get a local version by using the Zuplo CLI:

Terminalbash
npx create-zuplo-api@latest --example mcp-server-graphql

Once you have the code on your local machine, start the development server:

Terminalbash
npm run dev

The API will be available at http://localhost.

You can access:

  • API Gateway - http://localhost:9000
  • Local API Route Designer - http://localhost:9100
  • MCP Endpoint - http://localhost:9000/mcp (POST)
  • GraphQL Endpoint - http://localhost:9000/graphql (POST)

The dev server will automatically reload when you modify:

  • Route definitions in config/routes.oas.json
  • Policy configurations in config/policies.json

Deploying with Zuplo CLI

Install the Zuplo CLI

Terminalbash
npm install -g zuplo

Login to Zuplo

Terminalbash
zuplo login

Deploy to Zuplo

Deploy to a working copy environment:

Terminalbash
zuplo deploy

Using the MCP Server

Once deployed, you can connect to your MCP server using any MCP testing tool:

Model Context Protocol Inspector

Terminalbash
npx @modelcontextprotocol/inspector

MCPJam

Terminalbash
npx @mcpjam/inspector@latest

You can then test the MCP server locally, or point your inspector at a deployed version.

Local MCP Server

plaintext
http://localhost:9000/mcp

Deployed

plaintext
https://your-project.zuplo.app/mcp

The server will expose:

  • GraphQL introspection tool to explore the API schema
  • GraphQL execution tool to run queries and mutations

Example Usage

Add the MCP server to your tool of choice and ask “Which characters were in season 4, episode 6 of Rick & Morty, and what was the name of the episode?”

Learn More

Related Examples

Explore more examples in this category

MCP Custom Tools

Model Context Protocol (MCP)

Create AI tools that combine multiple API calls into a single action.

OpenAI App

Model Context Protocol (MCP)

Build a ChatGPT App that connects to your API using MCP.

MCP Server Prompts

Model Context Protocol (MCP)

Improve AI assistant interactions by adding guided prompts to your MCP Server.

Remote MCP Server

Model Context Protocol (MCP)

Expose your API to AI assistants like Claude and ChatGPT with built-in security.