mcpField
C
coda

coda

本地服务
github.com/nkpar生产力238 周前更新

关于 coda

coda 是连接 Coda.io API 的 MCP 服务,供 AI 助手读取和管理文档、页面及表格数据。它还支持公式、控件访问和异步页面导出。

主要功能

  1. 01文档与页面内容读取
  2. 02表格行的增删改查
  3. 03公式与控件访问
  4. 04画布页面异步导出
  5. 05API 速率限制处理

适用场景

  1. 01查找并查看 Coda 文档
  2. 02创建文档并管理表格行
  3. 03读取页面内容与公式值

MCP 相关

该 MCP 服务通过 Coda API 向客户端提供文档、页面、表格、行、公式和控件相关工具。使用时需配置 Coda API token。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"nkpar-coda": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"CODA_API_TOKEN",
"ghcr.io/nkpar/coda-mcp:0.2.1"
],
"env": {
"CODA_API_TOKEN": "<CODA_API_TOKEN>"
}
}
}
}
启动命令docker run -i --rm -e CODA_API_TOKEN ghcr.io/nkpar/coda-mcp:0.2.1
需要配置的环境变量
CODA_API_TOKEN密钥Coda API token from coda.io/account

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/nkpar/coda-mcp:0.2.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

coda-mcp

MCP Registry Crates.io CI codecov License: MIT MSRV

用于 Coda.io API 的 MCP(Model Context Protocol)服务。支持 AI 助手读取和写入 Coda 文档、表格和行。

功能

  • 对 Coda 表格执行完整的 CRUD 操作
  • 获取文档和页面内容
  • 访问公式和控件
  • 画布页面的异步导出工作流
  • 速率限制处理

快速开始

1. 安装
cargo install coda-mcp
2. 获取 API 令牌

从 coda.io/account → API 设置中获取令牌。

3. 配置 Claude Desktop

添加到 ~/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. 重启 Claude Desktop

现在即可使用 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

预构建二进制文件

请查看 Releases 页面。

Docker

无需 Rust 工具链。多架构镜像(amd64 + arm64),约 3MB。

docker pull ghcr.io/nkpar/coda-mcp:latest

Claude Code(命令行):

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

Claude Desktop 配置:

{
  "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.io/account → API 设置中获取 Coda API 令牌。

重要: 对于写入操作(create_doc、delete_doc、add_row、update_row、delete_row),请确保令牌已启用写入权限。只读令牌执行这些操作时会返回 403 Forbidden。

2. 配置 MCP 客户端

Claude Desktop(~/.config/claude/claude_desktop_config.json):

{
  "mcpServers": {
    "coda": {
      "command": "/path/to/coda-mcp",
      "env": {
        "CODA_API_TOKEN": "your_token_here"
      }
    }
  }
}

Claude Code(命令行):

# 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": "[email protected]"}

# Get page content
get_page doc_id="AbCdEfGh" page_id="canvas-xyz"

速率限制

Coda API 有速率限制:

  • 读取:每 6 秒 100 个请求
  • 写入:每 6 秒 10 个请求

写入操作会返回 HTTP 202(已排队)。更改可能需要几秒钟才会显示。

安全

  • 所有日志输出中的 API 令牌都会被隐藏
  • 下载 URL 仅允许来自可信主机(coda.io、codahosted.io、storage.googleapis.com)
  • 请求数量上限为 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

API 详情请参阅 DEVELOPER.md,贡献指南请参阅 CONTRIBUTING.md。

许可证

MIT 许可证。详情请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。