使用说明
科达·麦克普
MCP(模型上下文协议)服务器 Coda.io API使AI助手能够读取和写入Coda文档、表格和行。
特性
- Coda表上的完整CRUD操作
- 文档和页面内容检索
- 公式和控制访问
- 画布页面的异步导出工作流
- 费率限制处理
快速开始
1.安装
cargo install coda-mcp
2.获取API代币
从获取您的令牌 coda.io/账户 → API设置。
3.配置克劳德桌面
增添 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 ~/.config/claude/claude_desktop_config.json (Linux):
{
"mcpServers": {
"coda": {
"command": "/Users/YOUR_USERNAME/.cargo/bin/coda-mcp",
"env": {
"CODA_API_TOKEN": "your_token_here"
}
}
}
}
4.重新启动克劳德桌面
Coda工具现在将可用。
安装
来自crates.io(推荐)
cargo install coda-mcp
来源
git clone https://github.com/nkpar/coda-mcp.git
cd coda-mcp
cargo build --release
二进制将位于 ./target/release/coda-mcp
预构建二进制文件
检查 发布 页面。
码头工人
不需要Rust工具链。多拱形图像(amd64+arm64),约3MB。
docker pull ghcr.io/nkpar/coda-mcp:latest
克劳德代码 (CLI):
claude mcp add coda -e CODA_API_TOKEN=your_token_here -- docker run --rm -i -e CODA_API_TOKEN ghcr.io/nkpar/coda-mcp:latest
克劳德桌面版 配置:
{
"mcpServers": {
"coda": {
"command": "docker",
"args": ["run", "--rm", "-i", "-e", "CODA_API_TOKEN", "ghcr.io/nkpar/coda-mcp:latest"],
"env": {
"CODA_API_TOKEN": "your_token_here"
}
}
}
}
一键安装脚本
对于具有自动配置的Claude Desktop:
git clone https://github.com/nkpar/coda-mcp.git
cd coda-mcp
./scripts/install.sh
配置
1.获取API代币
从获取您的Coda API令牌 coda.io/账户 → API设置。
重要提示: 用于写入操作(create_doc, delete_doc, add_row, update_row, delete_row),确保您的令牌已启用写入权限。对于这些操作,只读令牌将返回403 Forbidden。
2.配置MCP客户端
克劳德桌面版 (~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"coda": {
"command": "/path/to/coda-mcp",
"env": {
"CODA_API_TOKEN": "your_token_here"
}
}
}
}
克劳德代码 (CLI):
# Binary
claude mcp add coda -e CODA_API_TOKEN=your_token_here -- $HOME/.cargo/bin/coda-mcp
# Or via Docker (no Rust required)
claude mcp add coda -e CODA_API_TOKEN=your_token_here -- docker run --rm -i -e CODA_API_TOKEN ghcr.io/nkpar/coda-mcp:latest
或通过 .mcp.json 在项目根目录中:
{
"mcpServers": {
"coda": {
"command": "/path/to/coda-mcp",
"env": {
"CODA_API_TOKEN": "your_token_here"
}
}
}
}
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
CODA_API_TOKEN |
是 | 您的Coda API令牌 |
CODA_BASE_URL |
没有 | API基本URL(默认值: https://coda.io/apis/v1) |
RUST_LOG |
否 | 日志级别: error, warn, info, debug, trace |
工具
| 工具 | 说明 |
|---|---|
list_docs |
列出可用文件 |
get_doc |
获取文档详细信息 |
search_docs |
按名称搜索文档 |
create_doc |
创建新文档(可选:文件夹、模板、时区) |
delete_doc |
删除文档(永久) |
list_pages |
列出文档中的页面 |
get_page |
获取页面内容(HTML) |
list_tables |
列出文档中的表 |
get_table |
获取表格详细信息 |
list_columns |
列出表中的列 |
get_rows |
使用可选筛选获取行 |
get_row |
获取特定行 |
add_row |
添加新行 |
update_row |
更新现有行 |
delete_row |
删除一行 |
list_formulas |
列出命名公式 |
get_formula |
获取公式值 |
list_controls |
列表控件(按钮、滑块) |
使用示例
# List all documents
list_docs
# Create a new document
create_doc title="My New Doc"
# Create from template in specific folder
create_doc title="Project Plan" folder_id="fl-abc" source_doc="template-xyz"
# Delete a document (permanent!)
delete_doc doc_id="AbCdEfGh"
# Get rows from a table
get_rows doc_id="AbCdEfGh" table_id="grid-xyz" limit=50
# Filter rows
get_rows doc_id="AbCdEfGh" table_id="grid-xyz" query="Status:Active"
# Add a row
add_row doc_id="AbCdEfGh" table_id="grid-xyz" cells={"Name": "John", "Email": "john@example.com"}
# Get page content
get_page doc_id="AbCdEfGh" page_id="canvas-xyz"
速率限制
Coda API有费率限制:
- 阅读:每6秒100个请求
- 写作:每6秒10个请求
写入操作返回HTTP 202(排队)。更改可能需要几秒钟才能显示。
安全
- 从所有日志输出中编辑API令牌
- 仅针对受信任的主机(coda.io、codahosted.io、store.googleapis.com)验证下载URL
- 请求限制为1000,以防止资源耗尽
- 安装脚本使用静默输入令牌并设置限制性文件权限(600)
发展
# Build
cargo build --release
# Run unit & integration tests
cargo test
# Run E2E tests (requires write-enabled API token)
export $(cat .env | xargs) && cargo test --test e2e_tests -- --ignored
# Run with debug logging
RUST_LOG=debug cargo run
# Format & lint
cargo fmt && cargo clippy
看 开发商.md API详细信息和 贡献.md 关于贡献指南。
许可证
MIT许可证。看 许可证 了解详情。
