Coda

io.github.nkpar由 GitHub 账号 nkpar 发布v0.2.1更新于 Oct 24, 2026

Interact with Coda.io documents, tables, and rows via the Coda API

已验证STDIO仅桌面数据库效率与工作流

概览

AI 生成的概览

本地 MCP 服务器,让 AI 助手通过 Coda API 读写 Coda.io 的文档、表格、行、页面、公式和控件。

可以做什么
列出、搜索、查看、创建并永久删除文档,列出页面并获取其 HTML 内容,支持画布页面的异步导出流程。列出表格和列,并按条件筛选读取行。在 Coda 表格中新增、更新和删除行。列出命名公式和控件并读取公式值。处理 Coda API 的速率限制和排队写入响应。
适用场景
适合团队把项目计划、跟踪表或结构化数据放在 Coda 中,希望助手直接查询内容、总结页面或增改行而无需切换应用。也适合从模板或文件夹创建文档的流程。
运行要求
作为本地进程在用户机器上运行(仅桌面端),可通过 cargo、预编译二进制或 Docker 镜像安装。需要 Coda API 令牌,通过环境变量 CODA_API_TOKEN 提供;写操作需要具备写权限的令牌。可选环境变量 CODA_BASE_URL 和 RUST_LOG。需要访问 Coda API 的网络连接。
安装前请注意
该令牌可访问你的 Coda 工作区;具备写权限的令牌可创建、更新并永久删除文档和行。delete_doc 为永久删除。写入会排队,可能需要几秒才生效。请勿将令牌放入共享配置文件。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Coda,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

coda-mcp

[MCP Registry] [Crates.io] [CI] [codecov] [License: MIT] [MSRV]

MCP (Model Context Protocol) server for Coda.io API. Enables AI assistants to read and write Coda documents, tables, and rows.

Features

  • Full CRUD operations on Coda tables
  • Document and page content retrieval
  • Formula and control access
  • Async export workflow for canvas pages
  • Rate limit handling

Quick Start

1. Install

bash
cargo install coda-mcp

2. Get API Token

Get your token from coda.io/account → API settings.

3. Configure Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or ~/.config/claude/claude_desktop_config.json (Linux):

json
{  "mcpServers": {    "coda": {      "command": "/Users/YOUR_USERNAME/.cargo/bin/coda-mcp",      "env": {        "CODA_API_TOKEN": "your_token_here"      }    }  }}

4. Restart Claude Desktop

The Coda tools will now be available.

Installation

From crates.io (Recommended)

bash
cargo install coda-mcp

From Source

bash
git clone https://github.com/nkpar/coda-mcp.gitcd coda-mcpcargo build --release

Binary will be at ./target/release/coda-mcp

Pre-built Binaries

Check the Releases page.

Docker

No Rust toolchain required. Multi-arch image (amd64 + arm64), ~3MB.

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

Claude Code (CLI):

bash
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 config:

json
{  "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"      }    }  }}

One-Click Install Script

For Claude Desktop with automatic configuration:

bash
git clone https://github.com/nkpar/coda-mcp.gitcd coda-mcp./scripts/install.sh

Configuration

1. Get API Token

Get your Coda API token from coda.io/account → API settings.

Important: For write operations (create_doc, delete_doc, add_row, update_row, delete_row), ensure your token has write permissions enabled. Read-only tokens will return 403 Forbidden for these operations.

2. Configure MCP Client

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

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

Claude Code (CLI):

bash
# Binaryclaude 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

Or via .mcp.json in project root:

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

Environment Variables

VariableRequiredDescription
CODA_API_TOKENYesYour Coda API token
CODA_BASE_URLNoAPI base URL (default: https://coda.io/apis/v1)
RUST_LOGNoLog level: error, warn, info, debug, trace

Tools

ToolDescription
list_docsList available documents
get_docGet document details
search_docsSearch documents by name
create_docCreate a new document (optional: folder, template, timezone)
delete_docDelete a document (permanent)
list_pagesList pages in a document
get_pageGet page content (HTML)
list_tablesList tables in a document
get_tableGet table details
list_columnsList columns in a table
get_rowsGet rows with optional filtering
get_rowGet a specific row
add_rowAdd a new row
update_rowUpdate an existing row
delete_rowDelete a row
list_formulasList named formulas
get_formulaGet formula value
list_controlsList controls (buttons, sliders)

Usage Examples

# List all documentslist_docs
# Create a new documentcreate_doc title="My New Doc"
# Create from template in specific foldercreate_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 tableget_rows doc_id="AbCdEfGh" table_id="grid-xyz" limit=50
# Filter rowsget_rows doc_id="AbCdEfGh" table_id="grid-xyz" query="Status:Active"
# Add a rowadd_row doc_id="AbCdEfGh" table_id="grid-xyz" cells={"Name": "John", "Email": "[email protected]"}
# Get page contentget_page doc_id="AbCdEfGh" page_id="canvas-xyz"

Rate Limits

Coda API has rate limits:

  • Reading: 100 requests per 6 seconds
  • Writing: 10 requests per 6 seconds

Write operations return HTTP 202 (queued). Changes may take a few seconds to appear.

Security

  • API tokens are redacted from all log output
  • Download URLs validated against trusted hosts only (coda.io, codahosted.io, storage.googleapis.com)
  • Request limits capped at 1000 to prevent resource exhaustion
  • Install script uses silent input for tokens and sets restrictive file permissions (600)

Development

bash
# Buildcargo build --release
# Run unit & integration testscargo test
# Run E2E tests (requires write-enabled API token)export $(cat .env | xargs) && cargo test --test e2e_tests -- --ignored
# Run with debug loggingRUST_LOG=debug cargo run
# Format & lintcargo fmt && cargo clippy

See DEVELOPER.md for API details and CONTRIBUTING.md for contribution guidelines.

License

MIT License. See LICENSE for details.

来源:README.md,提交 2d40cbb

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.2.1最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分