mcpField
C
coda

coda

ローカル
github.com/nkpar生産性238 週間前に更新

coda について

coda は、AI アシスタントが Coda.io のドキュメント、ページ、テーブルデータを読み書きするための MCP サーバーです。数式やコントロールへのアクセス、ページの非同期エクスポートにも対応します。

主な機能

  1. 01ドキュメントとページ内容の取得
  2. 02テーブル行の作成・更新・削除
  3. 03数式とコントロールへのアクセス
  4. 04キャンバスページの非同期エクスポート
  5. 05API レート制限への対応

活用シーン

  1. 01Coda ドキュメントの検索と確認
  2. 02ドキュメント作成とテーブル行の管理
  3. 03ページ内容や数式値の取得

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 に生成されます。

ビルド済みバイナリ

リリースページを確認してください。

Docker

Rust ツールチェーンは不要です。マルチアーキテクチャイメージ(amd64 + arm64)で、サイズは約3MBです。

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

Claude Code(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

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(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": "[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 を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。