Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GRIST_API_KEY | Yes | Your Grist API key, used for authentication. | |
| GRIST_BASE_URL | Yes | The base URL for your Grist instance (e.g., https://docs.getgrist.com). |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| grist_get_workspaces | List workspaces with filtering. Use browse mode ({limit: 20}) to see all, or search mode ({name_contains: "Sales"}) to filter. Detail levels: summary Example: {"limit":20,"detail_level":"summary"} Use grist_help({tools:["grist_get_workspaces"]}) for full schema. |
| grist_get_documents | Find documents by ID (fastest), name search, workspace filter, or browse all. Detail levels: summary (name, id, workspace, access ~50 tokens/doc) or d Example: {"docId":"qBbArddFDSrKd2jpv3uZTj"} Use grist_help({tools:["grist_get_documents"]}) for full schema. |
| grist_get_tables | Get table structure and schema. Detail levels: names (table IDs only ~20 tokens/table), columns (+ column names ~50 tokens/table), or full_schema (+ t Example: {"docId":"abc123","detail_level":"names"} Use grist_help({tools:["grist_get_tables"]}) for full schema. |
| grist_query_sql | Execute SQL queries for JOINs, aggregations, and complex filters. Use grist_get_records for single-table queries without SQL. Supports parameterized q Example: {"docId":"abc123","sql":"SELECT c.Name, o.Total FROM Customers c JOIN Orders o ON c.id = o.Customer"} Use grist_help({tools:["grist_query_sql"]}) for full schema. |
| grist_get_records | Fetch records with filters. No SQL needed. Use grist_query_sql for JOINs and aggregations. Filter syntax: {"Status": "Active"}, {"Priority": 1}, {"IsA Example: {"docId":"abc123","tableId":"Contacts","filters":{"Status":"Active"}} Use grist_help({tools:["grist_get_records"]}) for full schema. |
| grist_manage_records | CRUD for records: add, update, delete, upsert. Batched operations execute sequentially for cross-table dependencies. Use natural formats (no "L" prefi Example: {"docId":"abc123","operations":[{"action":"add","tableId":"Contacts","records":[{"Name":"Alice","Email":"alice@example.com"}]}]} Use grist_help({tools:["grist_manage_records"]}) for full schema. |
| grist_manage_schema | Batch schema operations: tables (create/rename/delete), columns (add/modify/remove), and summary tables. Ref columns need refTable. Summary tables aut Use grist_help({tools:["grist_manage_schema"]}) for full schema. |
| grist_manage_pages | Declarative page layouts with cols/rows splits. create_page returns sectionIds; use link_widgets to connect. Actions: create_page, set_layout, link_wi Use grist_help({tools:["grist_manage_pages"]}) for full schema. |
| grist_create_document | Creates a new Grist document in a workspace. Optionally fork an existing document to copy its structure and data. Returns the new document ID and URL. Example: {"name":"Customer CRM","workspaceId":123} Use grist_help({tools:["grist_create_document"]}) for full schema. |
| grist_manage_webhooks | Batch webhook CRUD for real-time notifications. list and clear_queue must be solo operations. Example: {"docId":"abc123","operations":[{"action":"create","fields":{"url":"https://api.example.com/hook","tableId":"Tasks","eventTypes":["add"]}}]} Use grist_help({tools:["grist_manage_webhooks"]}) for full schema. |
| grist_help | Discover available tools and get detailed documentation with JSON schemas. Call without params to list all tools. Use tools param for full docs + sche Example: {} Use grist_help({tools:["grist_help"]}) for full schema. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |