Grist自然语言管理工具

通过自然语言创建和管理Grist应用程序的工具,提供文档创建、数据操作和UI控制等功能。

  • by neomantra
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 neomantra/grist-mcp-playground

使用说明

grist mcp

MCP服务器 格里斯特 --使LLM能够通过自然语言创建和管理Grist应用程序。

19个工具,涵盖文档创建、模式管理、数据操作和完整的UI控制(页面、小部件、布局、链接)。

快速开始

npm install
npm run build

克劳德代码/克劳德桌面

添加到MCP设置(~/.claude/settings.json 对于Claude Code或Claude Desktop配置):

{
  "mcpServers": {
    "grist": {
      "command": "node",
      "args": ["/path/to/grist-mcp/dist/index.js"],
      "env": {
        "GRIST_API_URL": "http://localhost:8484",
        "GRIST_API_KEY": "your-api-key"
      }
    }
  }
}

可流式传输的HTTP

GRIST_API_URL=http://localhost:8484 GRIST_API_KEY=your-key node dist/index.js --http 3000

服务器侦听 http://localhost:3000/mcp 健康检查在 /health.

配置

变量 必填 描述
GRIST_API_URL Yes Grist实例的基本URL(例如。 http://localhost:8484)
GRIST_API_KEY 是 用于身份验证的API密钥
GRIST_DOC_ID 否 默认文档ID--避免传递 doc_id 每次工具调用

工具

文档工具

工具 说明
list_documents 列出工作区和文档
create_document 创建新的空文档
describe_document Python类定义的完整模式

架构工具

工具 说明
create_tables 创建具有键入列的表
add_columns 向现有表添加列
modify_columns 更改列类型、添加公式、重命名
delete_columns 删除列

数据工具

工具 说明
get_records 使用筛选、排序、限制读取记录
add_records 插入记录
update_records 按ID更新记录
delete_records 按ID删除记录

UI工具

工具 说明
create_page 创建一个包含多个小部件、布局和链接的页面
add_widget_to_page 将小部件添加到现有页面
link_widgets 掌握小部件之间的详细链接
configure_page_layout 重新排列小部件(堆叠、侧边、左侧面板、网格2x2)
rename_page 重命名页面
create_summary_table 表的分组/透视图

电动工具

工具 说明
run_sql 针对文档的只读SQL查询
apply_user_actions 原始用户操作逃生舱

资源

URI 描述
grist://docs/{docId}/schema 以Python类的形式记录模式
grist://column-types 列类型参考文件

提示

提示 描述
create_application 从用例描述构建Grist应用程序的指导工作流程
write_formula 编写Grist Python公式的指导工作流程

列类型

Text, Numeric, Int, Bool, Date, DateTime, Choice, ChoiceList, Ref:<Table>, RefList:<Table>, Attachments, Any

测试

集成测试(需要运行Grist实例)

# Start Grist in Docker
docker run -d --name grist-test -p 8484:8484 \
  -e GRIST_DEFAULT_EMAIL=test@example.com \
  -e GRIST_FORWARD_AUTH_HEADER=X-Forwarded-User \
  -e GRIST_FORWARD_AUTH_LOGOUT_PATH=_unused \
  gristlabs/grist

# Create an API key via the Grist UI, then:
npm run build
GRIST_API_URL=http://localhost:8484 GRIST_API_KEY=your-key node dist/test-integration.js

集成测试创建一个文档,使用所有19个工具和两种资源,并验证结果(50个断言)。

许可证

阿帕奇-2.0

作者:Evan Wies evan@neomantra.net