coda-io-mcp
v0.1.0
Published
MCP server providing full access to the Coda API v1
Maintainers
Readme
Coda MCP Server
A Model Context Protocol (MCP) server providing full access to the Coda API v1. This enables AI coding agents like Claude to interact with Coda docs, tables, rows, formulas, and more.
Features
- 51 tools covering the complete Coda API surface
- Full CRUD operations on docs, pages, tables, and rows
- Formula and control access
- Permission and sharing management
- Publishing and folder operations
- Custom domain management
- Async operation tracking
Quick Start
The easiest way to use this MCP server is via npx (no installation needed):
Get your Coda API key from https://coda.io/account (Account Settings > API)
Add to your Claude Desktop config:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
{
"mcpServers": {
"coda": {
"command": "npx",
"args": ["-y", "coda-io-mcp@latest"],
"env": {
"CODA_API_KEY": "your-coda-api-key"
}
}
}
}- Restart Claude Desktop and start interacting with your Coda docs!
Installation
Option 1: npx (Recommended)
No installation needed! Just use the Quick Start configuration above. The npx command automatically downloads and runs the latest version from npm.
Benefits:
- No manual installation or path configuration
- Always uses the latest version with
@latest - Works the same on macOS, Windows, and Linux
- Automatic updates on Claude Desktop restart
Option 2: Install from GitHub (For Development)
If you want to modify the code or contribute:
# Clone the repository
git clone https://github.com/bluestemso/coda-io-mcp.git
cd coda-io-mcp
# Install dependencies and build
npm installThe prepare script will automatically build the project after installation.
Claude Desktop Configuration:
{
"mcpServers": {
"coda": {
"command": "node",
"args": ["/absolute/path/to/coda-io-mcp/build/index.js"],
"env": {
"CODA_API_KEY": "your-api-key-here"
}
}
}
}Replace /absolute/path/to/coda-io-mcp with the actual path where you cloned the repository.
Option 3: Global npm Install
npm install -g coda-io-mcp@latestClaude Desktop Configuration:
{
"mcpServers": {
"coda": {
"command": "coda-io-mcp",
"env": {
"CODA_API_KEY": "your-api-key-here"
}
}
}
}Important: Replace your-api-key-here with your actual Coda API key in all configurations.
After adding the configuration, restart Claude Desktop to load the server.
Prerequisites
- Node.js 18 or higher (required for all installation methods)
- A Coda API key from https://coda.io/account (Account Settings > API)
Usage
With Claude Desktop
Once configured, you can use natural language with Claude to interact with your Coda docs. For example:
- "List all my Coda docs"
- "Create a new doc called 'Project Tracker'"
- "Add a row to the Tasks table with Status: 'In Progress'"
- "Get the value of the 'Total Revenue' formula"
- "Share the doc with [email protected] as editor"
- "Export the Requirements page as markdown"
Standalone Testing
Run the server directly (requires CODA_API_KEY environment variable):
export CODA_API_KEY=your-api-key-here
node build/index.jsWith MCP Inspector
Test the server with the MCP Inspector:
export CODA_API_KEY=your-api-key-here
npx @modelcontextprotocol/inspector node build/index.jsAvailable Tools
Account (1 tool)
coda_whoami- Get authenticated user info
Docs (5 tools)
coda_list_docs- List accessible docscoda_create_doc- Create new doccoda_get_doc- Get doc metadatacoda_update_doc- Update doc titlecoda_delete_doc- Delete a doc
Pages (9 tools)
coda_list_pages- List pages in a doccoda_create_page- Create a new pagecoda_get_page- Get page infocoda_update_page- Update pagecoda_delete_page- Delete pagecoda_list_page_content- List page contentcoda_delete_page_content- Delete page contentcoda_export_page- Start page exportcoda_get_export_status- Check export status
Tables (2 tools)
coda_list_tables- List tables and viewscoda_get_table- Get table info
Columns (2 tools)
coda_list_columns- List columns in a tablecoda_get_column- Get column info
Rows (7 tools)
coda_list_rows- List rows with filteringcoda_upsert_rows- Insert or update rowscoda_delete_rows- Bulk delete rowscoda_get_row- Get single rowcoda_update_row- Update rowcoda_delete_row- Delete rowcoda_push_button- Push a button
Formulas (2 tools)
coda_list_formulas- List formulascoda_get_formula- Get formula value
Controls (2 tools)
coda_list_controls- List controlscoda_get_control- Get control value
Permissions (7 tools)
coda_get_sharing_metadata- Get sharing infocoda_list_permissions- List permissionscoda_add_permission- Add permissioncoda_delete_permission- Remove permissioncoda_search_principals- Search users/groupscoda_get_acl_settings- Get ACL settingscoda_update_acl_settings- Update ACL settings
Publishing (3 tools)
coda_list_categories- List doc categoriescoda_publish_doc- Publish to gallerycoda_unpublish_doc- Unpublish from gallery
Folders (5 tools)
coda_list_folders- List folderscoda_create_folder- Create foldercoda_get_folder- Get folder infocoda_update_folder- Update foldercoda_delete_folder- Delete folder
Custom Domains (5 tools)
coda_list_domains- List custom domainscoda_add_domain- Add custom domaincoda_update_domain- Update domaincoda_delete_domain- Remove domaincoda_get_domain_provider- Get DNS provider
Mutations (1 tool)
coda_get_mutation_status- Check async operation status
Example Usage
Once configured with Claude Desktop, you can ask Claude to:
- "List all my Coda docs"
- "Create a new doc called 'Project Tracker'"
- "Add a row to the Tasks table with Status: 'In Progress'"
- "Get the value of the 'Total Revenue' formula"
- "Share the doc with [email protected] as editor"
- "Export the Requirements page as markdown"
Troubleshooting
Server not showing up in Claude Desktop
- Make sure you've restarted Claude Desktop after adding the configuration
- Check that the path to
build/index.jsis correct and absolute (not relative) - Verify your config file is valid JSON (use a JSON validator if needed)
- Check Claude Desktop's logs for error messages
"CODA_API_KEY is required" error
- Make sure you've added the
envsection withCODA_API_KEYin your config - Verify your API key is correct (no extra spaces or quotes)
- Ensure you've copied the key correctly from Coda
Tools not working / API errors
- Verify your Coda API key has the necessary permissions
- Check that you have access to the docs/tables you're trying to access
- Some operations require specific permission levels in Coda
Finding Your Installation Path
If you cloned the repository and need to find the absolute path:
cd coda-io-mcp
pwdThis will output the full path (e.g., /Users/yourname/projects/coda-io-mcp). Use this path + /build/index.js in your config.
Development
For contributors who want to modify or extend the server:
# Clone the repository
git clone https://github.com/bluestemso/coda-io-mcp.git
cd coda-io-mcp
# Install dependencies
npm install
# Build
npm run build
# Watch mode for development (auto-rebuild on changes)
npm run watchProject Structure
src/index.ts- MCP server entry pointsrc/coda-client.ts- HTTP client for Coda APIsrc/tools/- Individual tool implementations (13 modules, 51 tools total)
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
Support
- Issues: GitHub Issues
- Coda API Documentation: https://coda.io/developers/apis/v1
- MCP Documentation: https://modelcontextprotocol.io
License
MIT
