coda-mcp-readonly
Provides tools for reading and interacting with Coda documents, including listing documents, pages, tables, columns, and rows, retrieving page content as markdown, and resolving links.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@coda-mcp-readonly list my documents"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Prerequisites:
Node.js
pnpm
Clone the repository:
git clone <repository-url> cd coda-mcpInstall dependencies:
pnpm installBuild the project:
pnpm buildThis 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 toolscoda_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).
coda_resolve_linkB
Resolve metadata given a browser link to a Coda object
Inputs: url (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
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.
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.
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.
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
Related MCP Connectors
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
Read-only MCP server for the OrchestKit docs: full-text search + Markdown fetch. No auth.
MCP-native open-source Notion alternative: read & write pages, databases and kanban boards.
Read-only MCP server over the developer docs for the portfolio's JSON API, MCP, A2A and NLWeb.
Related MCP Servers
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables AI assistants to interact with Coda documents, allowing operations like listing, creating, reading, updating, and duplicating pages.19921 npm62MIT
- AlicenseNot gradedqualityBmaintenanceA lightweight, read-only MCP server for Notion that enables searching, reading pages, and querying databases with token-efficient output and smart caching.24 npm5MIT
- AlicenseAqualityDmaintenanceMCP 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.516 npmMIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Coda.io API that enables AI assistants to read and write Coda documents, tables, and rows.2MIT