grandstack
OfficialProvides tools for executing GraphQL operations against an open GraphQL API, including schema discovery, type inspection, query execution, and optional mutation execution when explicitly enabled.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@grandstacksummarise the schema, then show me the MovieWhere input type"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
grandstack-agents
How agents work with GraphQL. Two ways, both against the open grandstack-server:
Directly: the agent sends GraphQL queries and mutations itself, through a single
graphqltool in its own loop.Through an MCP server: a small server that accepts GraphQL statements and runs them. Any MCP client (Claude Code, Claude Desktop, your own app) can use it.
An agent you write: the model, the loop and one
graphqltool.Any MCP client: Claude Code, Claude Desktop or your own app.
The guarded executor both paths share: parse, one operation, lane check, mutations off by default, timeout, size cap.
grandstack-server, open, no auth.The MCP server with its four tools, over stdio or HTTP.
No login is needed here: it talks to grandstack-server as it is. Adding auth shows how to point the same tools at the grandstack-auth gateway, with example code. Agent memory, where auth becomes part of the design, is a later phase and its own repo.
Read-only by default.
run_mutationdoes nothing until you start the server withALLOW_MUTATIONS=true. That flag is a guardrail for the MCP path, not access control: the server on port 4000 is open. See guardrails.
The tools
Tool | Does |
| A compact summary of the API (root fields, the types the schema defines). |
| One type or input in full, for example |
| Runs a query. Mutations are refused. |
| Runs a mutation, only when |
Related MCP server: paperclip-mcp
Run it
With the grandstack umbrella and its sibling repos cloned side by side into one folder:
mkdir grand-stack && cd grand-stack # any folder name
for repo in grandstack grandstack-server grandstack-web grandstack-agents; do git clone https://github.com/grand-stack/$repo; done
cd grandstack
docker compose -f compose.yaml -f compose.agents.yaml up --buildThe MCP server (streamable HTTP) is then at http://localhost:4100/mcp. Or run it from a clone of this repo (Node 22 or later) against a stack that is already up:
git clone https://github.com/grand-stack/grandstack-agents # skip if you cloned it above
cd grandstack-agents
npm ci
npm run mcp:http # HTTP on :4100
npm run mcp:stdio # stdio, for clients that start the process themselvesConnect Claude Code:
claude mcp add --transport http grandstack http://localhost:4100/mcpMore clients and setups are in the MCP server guide.
Documentation
Read | To learn |
The pieces, a tool call end to end, the diagrams | |
Tools in detail, transports, client setup, debugging with curl, configuration | |
What an agent does without MCP, with copy-paste examples | |
The runnable example, the model adapter, running it with Claude | |
Using | |
Why tailored type definitions beat introspection alone, and what to do if you cannot change them | |
What is checked, what is not | |
Add a tool, restrict operations, change limits | |
Unit, MCP, live and container checks | |
Errors and their fixes |
Working with a coding agent? Start with AGENTS.md.
Last verified: grandstack-agents v0.1.2 with grandstack-server v0.7.1 and grandstack-auth v0.1.1, @modelcontextprotocol/sdk 1.32.1, Node 24, under Podman 6 on macOS. The live Claude run of the agent example needs an ANTHROPIC_API_KEY and has not been run by the authors; the loop is tested with a scripted model.
Licence
Apache License 2.0. See LICENSE and NOTICE. The same licence applies to every GRANDstack repository and to grandstack.ai.
This server cannot be deployed
Maintenance
Related MCP Connectors
Guarded MCP server for agent-readable business truth, provenance, readiness, and discovery.
Read-only MCP server that answers questions about turva.dev from its published data. Five tools return JSON: the service catalog with prices, contact and operator details, engagement principles and dated agent-readiness and security evidence with verification links. Connect over Streamable HTTP. You need no API key. The server does not scan other websites or run audits.
Remote MCP server exposing SMI Aware tools, resources, and skills over Streamable HTTP.
Query, browse, and automate OmegaAI workspaces from any MCP client. Streamable HTTP with OAuth 2.0.
Related MCP Servers
- AlicenseAqualityDmaintenanceGraphQL MCP Server that acts as a bridge allowing MCP clients (like Cursor or Claude Desktop) to interact with target GraphQL APIs through standard tools for schema introspection and operation execution.27 npm3MIT
- FlicenseCqualityDmaintenanceSchema-driven MCP server that exposes all Paperclip API operations as typed MCP tools over stdio or Streamable HTTP, supporting both authenticated and local_mode deployments.100-
- AlicenseNot gradedqualityCmaintenanceMCP server that exposes GraphQL operations as typed tools for AI models, with schema exploration, validation, execution, hot reload, OAuth, prompts, MCP Apps widgets, and OpenTelemetry support.8 npmMIT
- FlicenseAqualityBmaintenanceEnables MCP clients to safely inspect and query an explicitly allowlisted subset of a Postgres database through four read-only tools: a readiness check, table listing, column description, and typed row selection with filters, ordering, and paging. It runs over stdio for local clients or Streamable HTTP for separately managed ones, with bound parameters, bounded reads, and read-only transactions.4-