Skip to content

bwinsatt/coda-mcp

 
 

Repository files navigation

Coda MCP Server

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.

Features

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.

Usage

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": "..."
      }
    }
  }
}

Local Setup

  1. Prerequisites:

    • Node.js
    • pnpm
  2. Clone the repository:

    git clone <repository-url>
    cd coda-mcp
  3. Install dependencies:

    pnpm install
  4. Build the project:

    pnpm build

    This compiles the TypeScript code to JavaScript in the dist/ directory.

Running the Server

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.

About

MCP Server for Coda

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.5%
  • Other 0.5%