This project implements a Model Context Protocol (MCP) server that acts as a bridge to interact with the Coda API. It allows an MCP client (like an AI assistant) to perform actions on Coda pages and tables, such as listing, creating, reading, updating, duplicating, and renaming pages, as well as listing and updating table rows.
The server exposes the following tools to the MCP client:
coda_list_documents: Lists all documents available to the user.coda_list_pages: Lists all pages within the configured Coda document with pagination support.coda_create_page: Creates a new page in the document, optionally under a specified parent page (creating a subpage) and populating it with initial markdown content.coda_get_page_content: Retrieves the content of a specified page (by ID or name) as markdown.coda_replace_page_content: Replaces the content of a specified page with new markdown content.coda_append_page_content: Appends new markdown content to the end of a specified page.coda_duplicate_page: Creates a copy of an existing page with a new name.coda_rename_page: Renames an existing page.coda_peek_page: Peek into the beginning of a page and return a limited number of lines.coda_resolve_link: Resolve metadata given a browser link to a Coda object.coda_list_rows: Lists rows from a table with optional filtering, sorting, and pagination support.coda_update_row: Updates one or more cells in a table row.coda_upsert_rows: Inserts new rows into a table, or updates existing rows if key columns are provided.
Add the MCP server to Cursor/Claude Desktop/etc. like so:
{
"mcpServers": {
"coda": {
"command": "npx",
"args": ["-y", "coda-mcp@latest"],
"env": {
"API_KEY": "..."
}
}
}
}Required environment variables:
API_KEY: Your Coda API key. You can generate one from your Coda account settings.
This MCP server is also available with Docker, like so:
{
"mcpServers": {
"coda": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "API_KEY", "reaperberri/coda-mcp:latest"],
"env": {
"API_KEY": "..."
}
}
}
}-
Prerequisites:
- Node.js
- pnpm
-
Clone the repository:
git clone <repository-url> cd coda-mcp
-
Install dependencies:
pnpm install
-
Build the project:
pnpm build
This compiles the TypeScript code to JavaScript in the
dist/directory.
The MCP server communicates over standard input/output (stdio). To run it, set the environment variables and run the compiled JavaScript file - dist/index.js.