Skip to main content
Glama

Coda MCP Read-Only 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, such as listing and reading.

Acknowledgments

This project is a fork of the original Coda MCP server.

Credits to Orel Lazri for the original implementation and the foundation of this tool.

Related MCP server: nooon

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_get_page_content: Retrieves the content of a specified page (by ID or name) as markdown.

  • 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_tables: List tables in a document.

  • coda_list_columns: List columns in a table.

  • coda_list_rows: List rows in a table with optional filtering and sorting.

  • coda_get_row: Get a single row from a table.

Usage

Add the MCP server to Cursor/Claude Desktop/etc. like so:

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

Required environment variables:

  • API_KEY: Your Coda API key. You can generate one from your Coda account settings.

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.

Available Tools

9 tools
coda_get_page_contentB

Get the content of a page as markdown

Inputs: docId (required), pageIdOrName (required).

coda_get_rowA

Get a single row from a table

Inputs: docId (required), rowIdOrName (required), tableIdOrName (required), useColumnNames.

coda_list_columnsB

List columns in a table

Inputs: docId (required), tableIdOrName (required), limit, nextPageToken.

coda_list_documentsB

List or search available documents

Inputs: query.

coda_list_pagesC

List pages in the current document with pagination

Inputs: docId (required), limit, nextPageToken.

coda_list_rowsB

List rows in a table with optional filtering and sorting

Inputs: docId (required), tableIdOrName (required), limit, query, +3 more.

coda_list_tablesB

List tables in a document

Inputs: docId (required), limit, nextPageToken.

coda_peek_pageA

Peek into the beginning of a page and return a limited number of lines

Inputs: docId (required), numLines (required), pageIdOrName (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 9 tools

    Disambiguation4/5

    The tools are mostly distinct, but coda_get_page_content and coda_peek_page serve similar purposes—both retrieve page content with slight differences in format and length. This overlap could cause confusion, but all other tools clearly target different resources or actions.

    Naming Consistency5/5

    All tool names follow a consistent coda_ prefix followed by a verb_noun pattern (e.g., list_documents, get_page_content, resolve_link). The naming is uniform, using snake_case throughout, making it easy to predict tool functions.

    Tool Count5/5

    With 9 tools, the server is well-scoped for a read-only Coda API. Each tool serves a clear purpose in reading documents, pages, tables, and rows, without unnecessary bloat or missing essential operations.

    Completeness4/5

    For a read-only server, the tool surface covers the core lifecycle of reading Coda objects: documents, pages, tables, columns, and rows. Minor gaps exist, such as no separate tool to fetch a single column or table metadata, but these can be worked around with existing list endpoints.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      A Model Context Protocol server that enables AI assistants to interact with Coda documents, allowing operations like listing, creating, reading, updating, and duplicating pages.
      19
      921 npm
      62
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      A lightweight, read-only MCP server for Notion that enables searching, reading pages, and querying databases with token-efficient output and smart caching.
      24 npm
      5
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      MCP server for mdgen that enables reading, writing, and managing mdgen documents from MCP clients like Claude Desktop and Codex CLI using your own mdgen account.
      5
      16 npm
      MIT