The Grist MCP Server provides programmatic access to Grist (a spreadsheet-database hybrid) through 11 specialized tools:
• Workspace & Document Management - Browse and filter workspaces, find documents by ID/name/workspace, create new documents, or fork existing ones
• Data Querying - Fetch records with simple filters or execute complex SQL queries with JOINs and aggregations
• Record Operations - Full CRUD capabilities (create, read, update, delete, upsert) with batched operations supporting cross-table dependencies
• Schema Management - Create, rename, and delete tables and columns; add reference columns; create summary tables with automatic grouping
• Page Layout - Manage page layouts with declarative column/row splits and link widgets together
• Real-time Webhooks - Create and manage webhooks for event notifications on table changes
• Built-in Documentation - Use grist_help tool to discover available tools and get detailed documentation with JSON schemas
Deployment Options: Run locally via npx or from source, integrate with Claude Desktop/Code, or deploy as a Cloudflare Worker for HTTP-based access with header authentication.
Click on "Install 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., "@Grist MCP ServerShow me the latest records from the Expenses table in my budget document"
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.
Grist MCP Server
MCP server for Grist. 11 tools for documents, records, SQL, and pages.
Quick Start
Claude Code (recommended)
Claude Desktop (MCPB bundle)
Download
grist-mcp-server.mcpbfrom ReleasesIn Claude Desktop: Settings → Developer → MCP Servers → Install from MCPB
Configure your Grist API key and base URL
Restart Claude Desktop
Manual configuration (.mcp.json)
Add to your .mcp.json file:
Install from source
Add to your MCP config:
Cloudflare Workers (HTTP transport)
Deploy as a remote MCP server using Cloudflare Workers for HTTP-based access.
Local development:
Deploy to Cloudflare:
Configuration:
The Workers deployment uses header-based authentication:
X-Grist-API-Key: Your Grist API key (required)X-Grist-Base-URL: Grist instance URL (optional, defaults tohttps://docs.getgrist.com)
Endpoint: https://your-worker.workers.dev/mcp
Example request:
Notes:
Stateless design: Each request creates a fresh server instance
CORS enabled for all origins (safe because auth uses headers, not cookies)
Configure environment variables via
wrangler secret put GRIST_API_KEY
Tools
Tool | Purpose |
| List and filter workspaces |
| Find documents by ID, name, or workspace |
| Get table structure and schema |
| Run SQL queries with JOINs and aggregations |
| Fetch records with filters |
| All record CRUD operations (add/update/delete/upsert) |
| Schema operations: tables, columns, summaries |
| Page layout and management |
| Create new Grist documents or copy existing ones |
| Create and manage webhooks for real-time event notifications |
| Discover tools and get detailed documentation with JSON schemas |
Examples
Create a database
Import data
Query data
Troubleshooting
Server won't start: Check GRIST_API_KEY is set in config.
Authentication fails: Verify API key at https://docs.getgrist.com/settings/keys.
Empty document list: Check GRIST_BASE_URL matches your Grist instance.
Connection errors (self-hosted): Verify URL includes https:// and server is reachable.
Testing
Documentation
Tool descriptions are concise. Use grist_help for details:
grist_help({tools: ["grist_manage_records"], only: ["examples"]})grist_help({tools: ["grist_query_sql"], only: ["errors"]})
See CHANGELOG.md for version history.