logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

coda-api-integrator-mcp

Facilitates comprehensive interaction with Coda workspaces, enabling operations such as indexing available documents, provisioning new pages, fetching, modifying, and cloning existing page assets. Offers direct command access for AI frameworks to manipulate document structures and content programmatically.

Author

coda-api-integrator-mcp logo

orellazri

MIT License

Quick Info

GitHub GitHub Stars 28
NPM Weekly Downloads 7938
Tools 1
Last Updated 2026-02-19

Tags

codatoolsorellazricoda documentscoda mcptools orellazri

Coda Model Context Protocol (MCP) Adapter

This repository houses an implementation of an MCP server designed to bridge external AI clients with the capabilities exposed by the official Coda Application Programming Interface (API). It empowers an MCP-aware consumer (such as an advanced conversational agent) to execute diverse read/write operations against Coda pages, encompassing listing, creation, retrieval, content revision, duplication, and renaming functionalities.

Core Functionalities

The server exposes the following distinct tooling endpoints for client invocation:

  • coda_list_documents: Retrieves a manifest of all accessible Coda workspaces for the authenticated user.
  • coda_list_pages: Enumerates all individual pages within a designated Coda file, featuring support for handling extensive page counts via pagination.
  • coda_create_page: Generates a novel page within the document structure. It supports nesting by allowing specification of a parent ID and can initialize the page body with initial Markdown content.
  • coda_get_page_content: Fetches the current body content of a specified page (identifiable via ID or title) and returns it formatted as Markdown.
  • coda_replace_page_content: Overwrites the entire content of a targeted page with a new provided Markdown payload.
  • coda_append_page_content: Adds supplemental Markdown content to the terminus of an existing page's body.
  • coda_duplicate_page: Instantiates an exact copy of a source page, assigning the replica a user-specified moniker.
  • coda_rename_page: Updates the title attribute of a pre-existing page.
  • coda_peek_page: Provides a rapid inspection of a page by returning only the initial sequence of lines.
  • coda_resolve_link: Deciphers Coda object metadata when provided with a standard web URL pointing to a Coda resource.

Integration Instructions

To incorporate this MCP service into environments like Cursor, Claude Desktop, or compatible frameworks, integrate the configuration into your settings file:

{
  "mcpServers": {
    "coda": {
      "command": "npx",
      "args": ["-y", "coda-mcp@latest"],
      "env": {
        "API_KEY": "[YOUR_SECRET_KEY]"
      }
    }
  }
}

Mandatory Environmental Variable:

  • API_KEY: Secures access to the Coda API. This token must be generated from within your Coda account administration panel.

Alternative deployment via containerization (Docker):

{
  "mcpServers": {
    "coda": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "API_KEY", "reaperberri/coda-mcp:latest"],
      "env": {
        "API_KEY": "[YOUR_SECRET_KEY]"
      }
    }
  }
}

Local Development Setup

Prerequisites for local operation:

  1. Node.js Runtime Environment
  2. pnpm Package Manager

Steps for environment initialization:

  1. Obtain Source Code:

    bash git clone <repository-url> cd coda-mcp

  2. Dependency Installation:

    bash pnpm install

  3. Compilation Phase: bash pnpm build This action processes the TypeScript source into executable JavaScript files located within the dist/ directory.

Server Execution

The MCP server facilitates communication via standard input/output streams (stdio). Execution requires setting the necessary environment variables and launching the compiled entry point:

dist/index.js

See Also

`