io.github.nkpar/coda

Registre officiel Productivité

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

Que pouvez-vous faire avec io.github.nkpar/coda ?

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

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

OCI package ghcr.io/nkpar/coda-mcp:0.2.1
Claude Code
claude mcp add coda -e 'CODA_API_TOKEN=<your coda_api_token>' -- docker run -i --rm ghcr.io/nkpar/coda-mcp:0.2.1
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "coda": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "ghcr.io/nkpar/coda-mcp:0.2.1"
            ],
            "env": {
                "CODA_API_TOKEN": "<your coda_api_token>"
            }
        }
    }
}

Variables d'environnement

  • CODA_API_TOKEN obligatoire secret Coda API token from coda.io/account

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. coda-mcp
  2. Features
  3. Quick Start
  4. Installation
  5. Configuration
  6. Tools
  7. Usage Examples
  8. Rate Limits
  9. Security
  10. Development
  11. License

coda-mcp

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
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):

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

cargo install coda-mcp
From Source
git clone https://github.com/nkpar/coda-mcp.git
cd coda-mcp
cargo 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.

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

{
  "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:

git clone https://github.com/nkpar/coda-mcp.git
cd 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):

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

Or via .mcp.json in project root:

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

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

# 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

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

License

MIT License. See LICENSE for details.

Questions fréquentes

Qu'est-ce que io.github.nkpar/coda ?

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

Comment installer io.github.nkpar/coda ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add coda -e 'CODA_API_TOKEN=<your coda_api_token>' -- docker run -i --rm ghcr.io/nkpar/coda-mcp:0.2.1. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour io.github.nkpar/coda ?

Oui. Il attend CODA_API_TOKEN, à renseigner dans sa configuration.

io.github.nkpar/coda est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient io.github.nkpar/coda ?

Il est publié par nkpar. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.