About io.github.gwhthompson/grist-mcp-server
io.github.gwhthompson/grist-mcp-server is an MCP server published by gwhthompson in the Developer Tools category: 11 tools for managing Grist documents with AI.
The repository has 4 stars and 2 forks, with the last commit 8 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
claude mcp add io-github-gwhthompson-grist-mcp-server -- npx -y grist-mcp-servernpx -y grist-mcp-serverThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (11)
grist_create_documentCreate new Grist documents or copy existing ones
Parameters not published.
grist_get_documentsFind documents by ID, name, or workspace
Parameters not published.
grist_get_recordsFetch records with filters
Parameters not published.
grist_get_tablesGet table structure and schema
Parameters not published.
grist_get_workspacesList and filter workspaces
Parameters not published.
grist_helpDiscover tools and get detailed documentation with JSON schemas
Parameters not published.
grist_manage_pagesPage layout and management
Parameters not published.
grist_manage_recordsAll record CRUD operations (add/update/delete/upsert)
Parameters not published.
grist_manage_schemaSchema operations: tables, columns, summaries
Parameters not published.
grist_manage_webhooksCreate and manage webhooks for real-time event notifications
Parameters not published.
grist_query_sqlRun SQL queries with JOINs and aggregations
Parameters not published.
Ask AI
Ask AI about io.github.gwhthompson/grist-mcp-server
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
Grist MCP Server
MCP server for Grist. 11 tools for documents, records, SQL, and pages.
Quick Start
Claude Code (recommended)
claude mcp add grist --env GRIST_API_KEY=your_api_key --env GRIST_BASE_URL=https://docs.getgrist.com -- npx -y grist-mcp-server
Claude Desktop (MCPB bundle)
- Download
grist-mcp-server.mcpbfrom Releases - In 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:
{
"mcpServers": {
"grist": {
"command": "npx",
"args": ["-y", "grist-mcp-server"],
"env": {
"GRIST_API_KEY": "your_api_key",
"GRIST_BASE_URL": "https://docs.getgrist.com"
}
}
}
}
Install from source
git clone https://github.com/gwhthompson/grist-mcp-server.git
cd grist-mcp-server
npm install && npm run build
Add to your MCP config:
{
"mcpServers": {
"grist": {
"command": "node",
"args": ["/path/to/grist-mcp-server/dist/index.js"],
"env": {
"GRIST_API_KEY": "your_api_key",
"GRIST_BASE_URL": "https://docs.getgrist.com"
}
}
}
}
Cloudflare Workers (HTTP transport)
Deploy as a remote MCP server using Cloudflare Workers for HTTP-based access.
Local development:
npm run worker:dev
Deploy to Cloudflare:
npm run worker:deploy
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:
curl -X POST https://your-worker.workers.dev/mcp \
-H "Content-Type: application/json" \
-H "X-Grist-API-Key: your_api_key" \
-d '{"jsonrpc":"2.0","method":"tools/list","id":1}'
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 |
|---|---|
grist_get_workspaces |
List and filter workspaces |
grist_get_documents |
Find documents by ID, name, or workspace |
grist_get_tables |
Get table structure and schema |
grist_query_sql |
Run SQL queries with JOINs and aggregations |
grist_get_records |
Fetch records with filters |
grist_manage_records |
All record CRUD operations (add/update/delete/upsert) |
grist_manage_schema |
Schema operations: tables, columns, summaries |
grist_manage_pages |
Page layout and management |
grist_create_document |
Create new Grist documents or copy existing ones |
grist_manage_webhooks |
Create and manage webhooks for real-time event notifications |
grist_help |
Discover tools and get detailed documentation with JSON schemas |
Examples
Create a database
1. grist_get_workspaces → find workspace
2. grist_create_document → create document
3. grist_manage_schema → create tables with columns
Import data
1. grist_get_documents → find document
2. grist_get_tables → check structure
3. grist_manage_records → upsert data (adds new, updates existing)
Query data
1. grist_get_tables → understand schema
2. grist_query_sql → run SQL with JOINs and aggregations
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
npm test # Docker required - container lifecycle is automatic
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.
Links
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.