Skip to content
Agentmart
Submit a tool

MCP Coda

Coda MCP server (MCP 2026-07-28): docs, pages, tables, rows, automations; writes or read-only

Connector by vish288 · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 2
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/vish288-mcp-coda

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Coda MCP server (MCP 2026-07-28): docs, pages, tables, rows, automations; writes or read-only

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
34 read · 12 write · 8 delete
Secrets
2 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Python package

Tools by what they do 54

Read from the source code; the running server may list different tools.

Read 34 · Look things up without changing anything.

  • coda_export_page
  • coda_get_acl_settings
  • coda_get_analytics_updated
  • coda_get_column
  • coda_get_control
  • coda_get_doc
  • coda_get_doc_analytics_summary
  • coda_get_export_status
  • coda_get_folder
  • coda_get_formula
  • coda_get_mutation_status
  • coda_get_pack_analytics_summary
Show 22 more tools
  • coda_get_page
  • coda_get_page_content
  • coda_get_row
  • coda_get_sharing_metadata
  • coda_get_table
  • coda_list_categories
  • coda_list_columns
  • coda_list_controls
  • coda_list_doc_analytics
  • coda_list_docs
  • coda_list_folders
  • coda_list_formulas
  • coda_list_pack_analytics
  • coda_list_pack_formula_analytics
  • coda_list_page_analytics
  • coda_list_pages
  • coda_list_permissions
  • coda_list_rows
  • coda_list_tables
  • coda_resolve_browser_link
  • coda_search_principals
  • coda_whoami

Write 12 · Create, change, send or run things.

  • coda_add_permission
  • coda_create_doc
  • coda_create_folder
  • coda_create_page
  • coda_insert_rows
  • coda_publish_doc
  • coda_push_button
  • coda_trigger_automation
  • coda_update_doc
  • coda_update_folder
  • coda_update_page
  • coda_update_row

Delete 8 · Delete, drop, revoke or wipe things.

  • coda_delete_doc
  • coda_delete_folder
  • coda_delete_page
  • coda_delete_page_content
  • coda_delete_permission
  • coda_delete_row
  • coda_delete_rows
  • coda_unpublish_doc

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • CODA_API_TOKEN
  • CODA_HTTP_BEARER_TOKEN

Other settings (environment variables or headers).

  • CODA_READ_ONLY
  • MCP_READ_ONLY

Network hosts it talks to 2

  • coda.io · found in code
  • github.com · found in code

Tools (54)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • coda_add_permission

    Add a permission entry to a Coda doc. Grants access to a user by email or to an entire domain. Specify either principal_email or principal_domain (not both). The access level controls what the principal can do: readonly, write, comment, or none (removes implicit access). Returns the created permission entry.

  • coda_create_doc

    Create a new Coda doc. Creates a blank doc or a copy of an existing doc. Returns the new doc's ID, name, and browser URL. The doc is created in the specified folder, or the user's root if no folder is given. Use source_doc to clone an existing doc as a template.

  • coda_create_folder

    Create a new folder in a Coda workspace. Creates a folder in the specified workspace. Returns the new folder's ID and metadata. Use the folder ID when creating docs with coda_create_doc to organize them.

  • coda_create_page

    Create a new page in a Coda doc. Creates a page with optional initial content. Returns the new page's ID and metadata. The page is created at the top level unless parent_page_id is specified. Content can be HTML or markdown — specify the format via content_format. Pack formulas cannot be inserted via the API.

  • coda_delete_doccan change or delete data

    Permanently delete a Coda doc. This is irreversible — the doc and all its pages, tables, and data will be permanently removed. Verify the doc name with coda_get_doc before calling this. Returns a confirmation status.

  • coda_delete_foldercan change or delete data

    Delete a folder from the Coda workspace. Returns confirmation with folder_id. Permanently removes the folder. Docs inside the folder may be moved to the root level or deleted depending on Coda's behavior. Verify the folder with coda_get_folder before deleting.

  • coda_delete_pagecan change or delete data

    Permanently delete a page from a Coda doc. This is irreversible — the page and all its content will be removed. Child pages are reparented to the deleted page's parent. Verify the page name with coda_get_page before calling this.

  • coda_delete_page_contentcan change or delete data

    Delete all content from a page, leaving it blank. Removes the page's text content but does NOT delete the page itself. The page remains in the doc with its name and metadata intact. This is irreversible. Use coda_delete_page to remove the page entirely.

  • coda_delete_permissioncan change or delete data

    Remove a permission entry from a Coda doc. Revokes the specified permission. The principal will lose access to the doc unless they have access through another permission (e.g. domain-level). Get the permission_id from coda_list_permissions first.

  • coda_delete_rowcan change or delete data

    Delete a single row from a Coda table. Permanently removes the row. This is irreversible. Verify the row with coda_get_row before deleting. For bulk deletion, use coda_delete_rows with a list of row IDs instead.

  • coda_delete_rowscan change or delete data

    Delete multiple rows from a Coda table in a single call. Permanently removes all specified rows. This is irreversible. List the rows first with coda_list_rows to get their IDs. Returns a requestId for async mutation tracking. Prefer this over calling coda_delete_row in a loop for better performance and rate limit efficiency.

  • coda_export_pageread-only

    Export a page's content, initiating an async export if needed. Starts an export job and returns the export status. For small pages, the content may be returned immediately. For large pages, call coda_get_export_status with the returned id. Prefer coda_get_page_content for quick reads — use this only when you need a full export with embedded images resolved.

  • coda_get_acl_settingsread-only

    Get the ACL settings for a Coda doc. Returns doc-level access control settings such as whether the doc allows copying, whether editors can change permissions, and the default access mode. These are administrative settings, not individual permission entries.

  • coda_get_analytics_updatedread-only

    Get the timestamp of when analytics data was last updated. Returns a timestamp indicating the freshness of analytics data. Analytics are not real-time — they are typically updated every few hours. Check this before relying on analytics data for time-sensitive decisions.

  • coda_get_columnread-only

    Get metadata for a single column in a Coda table. Returns the column's name, ID, type, format, and configuration details. Use this to check a specific column's type before writing data to it. For the full column schema, use coda_list_columns instead.

Show 39 more tools
  • coda_get_controlread-only

    Get the current value of a control in a Coda doc. Returns the control's name, ID, type, and current value. Controls include sliders, select lists, date pickers, text inputs, and buttons. The value reflects the current user-facing state. Use coda_list_controls to discover available controls.

  • coda_get_docread-only

    Get metadata for a single Coda doc by ID. Returns name, owner email, folder, created/updated timestamps, and doc size. Does NOT return page content or table data — use coda_list_pages or coda_list_tables for those. The doc_id can be obtained from coda_list_docs or coda_resolve_browser_link.

  • coda_get_doc_analytics_summaryread-only

    Get aggregated analytics summary across all docs. Returns total views, unique viewers, copies, and other metrics summed across all accessible docs. Use this for a high-level overview — use coda_list_doc_analytics for per-doc breakdown.

  • coda_get_export_statusread-only

    Check a page export started by coda_export_page. Pass the `id` from coda_export_page as request_id. `status` is inProgress, failed or complete. When complete, `downloadLink` holds the exported file; the link expires after a short time — call this tool again for a fresh one. When failed, `error` says why. Poll every 2 s for up to 30 s (same cadence as coda_get_mutation_status). The request itself expires: 404/410 means start a new export.

  • coda_get_folderread-only

    Get metadata for a single folder. Returns the folder's name, ID, parent folder, and child items. Use coda_list_folders to discover available folders first.

  • coda_get_formularead-only

    Get the current value of a named formula in a Coda doc. Returns the formula's name, ID, type, current value, and whether it has an error. The value is computed by Coda and reflects the latest state. Use coda_list_formulas to discover available formulas in a doc.

  • coda_get_mutation_statusread-only

    Check the status of an asynchronous mutation (write operation). Coda write operations return 202 with a requestId. Use this tool to poll whether the mutation has completed, is still processing, or failed. Returns a completed boolean and any error details. Poll every 2 seconds, up to 30 seconds maximum.

  • coda_get_pack_analytics_summaryread-only

    Get aggregated analytics summary for packs. Returns total installs, doc usage, and formula invocations summed across packs. Only available to pack makers.

  • coda_get_pageread-only

    Get metadata for a single page in a Coda doc. Returns the page's name, ID, parent, subtitle, icon, and image. Does NOT return the page's text content — use coda_get_page_content for that. Page names can change; always use page IDs for reliable access.

  • coda_get_page_contentread-only

    Get the text content of a page in a Coda doc. Returns the page's content in the specified format (HTML or markdown). Markdown output may be lossy for complex Coda content (embedded objects, pack formulas). Use this for reading page text — use coda_get_page for metadata only.

  • coda_get_rowread-only

    Get a single row from a Coda table by ID or display column value. Returns all column values for the specified row. Use this when you have a specific row ID or know the display column value. For querying multiple rows with filters, use coda_list_rows instead.

  • coda_get_sharing_metadataread-only

    Get sharing metadata for a Coda doc. Returns whether the doc can be shared, copied, or has sharing restrictions. This is metadata about the doc's sharing configuration, not the list of who has access — use coda_list_permissions for that.

  • coda_get_tableread-only

    Get metadata for a single table or view in a Coda doc. Returns the table's name, ID, type, row count, parent page, and sort/filter info. Does NOT return row data or column definitions — use coda_list_rows and coda_list_columns for those.

  • coda_insert_rows

    Insert one or more rows into a Coda table, with optional upsert. Inserts up to 500 rows per call. Use column names (not IDs) in the cells. With key_columns, matching rows are updated (upsert) instead of inserted — this is the only way to bulk-update rows. Returns a requestId for async mutation tracking via coda_get_mutation_status. The operation is async (202).

  • coda_list_categoriesread-only

    List all available publishing categories in Coda. Returns the categories that can be used when publishing a doc to the Coda gallery. Each category has a name and ID. Use these category IDs with coda_publish_doc.

  • coda_list_columnsread-only

    List all columns in a Coda table. Returns column metadata including name, ID, type (text, number, date, etc.), and configuration. Column IDs are internal identifiers — use column names when working with row data. This is the table schema — call this before inserting or updating rows to know the available columns and their types.

  • coda_list_controlsread-only

    List all controls (sliders, select lists, date pickers, etc.) in a Coda doc. Returns control metadata including name, ID, type, and current value. Controls are interactive UI elements on pages. Use coda_get_control to read a specific control's current value.

  • coda_list_doc_analyticsread-only

    List analytics data for docs (views, copies, likes, sessions). Returns usage metrics for docs over the specified date range. Includes total views, unique views, copies, and other engagement metrics. Only available to doc owners. Use coda_get_doc_analytics_summary for aggregated totals instead of per-doc breakdown.

  • coda_list_docsread-only

    List Coda docs accessible to the current API token. Returns doc metadata including name, owner, folder, and timestamps. Does NOT return page content or table data — use coda_list_pages or coda_list_tables for those. Rate-limited to 4 calls per 6 seconds. Use the query parameter to search by doc name. Pass cursor to paginate through results.

  • coda_list_foldersread-only

    List folders accessible to the current API token, one page at a time. Returns folder metadata (name, ID, parent folder) with pagination — the API defaults to 25 per page, so pass cursor to fetch the rest. Folders organize docs in the Coda workspace. Use the returned folder IDs with coda_create_doc to place new docs in specific folders.

  • coda_list_formulasread-only

    List all named formulas in a Coda doc. Returns formula metadata including name, ID, and value. Named formulas are doc-level computed values (not column formulas). Use coda_get_formula to get a specific formula's current value.

  • coda_list_pack_analyticsread-only

    List analytics data for Coda packs. Returns usage metrics for packs including install counts, doc usage, and formula invocations. Only available to pack makers for their own packs.

  • coda_list_pack_formula_analyticsread-only

    List analytics data for individual formulas within a pack. Returns per-formula invocation counts, error rates, and execution times. Only available to the pack maker.

  • coda_list_page_analyticsread-only

    List analytics data for pages within a doc. Returns per-page usage metrics (views, unique views) for the specified doc. Only available to doc owners. Useful for understanding which pages get the most traffic.

  • coda_list_pagesread-only

    List all pages in a Coda doc. Returns page metadata including name, ID, parent page, and icon. Pages are returned in their tree order. Does NOT return page content — use coda_get_page_content for that. Use the returned page IDs (not names) for all subsequent page operations.

  • coda_list_permissionsread-only

    List all permission entries (ACL) for a Coda doc. Returns who has access to the doc and their access level (read, write, etc.). Each entry includes the principal (user or group) and their permission type. Use coda_add_permission to grant access or coda_delete_permission to revoke.

  • coda_list_rowsread-only

    List rows in a Coda table with optional filtering and sorting. Returns row data with column values. By default uses column names (not IDs) for readability. Use the query parameter to filter rows by column values. For a specific row by ID, use coda_get_row instead. Results are paginated — pass cursor to get the next page.

  • coda_list_tablesread-only

    List all tables and views in a Coda doc. Returns table metadata including name, ID, type (table or view), row count, and parent page. Does NOT return row data — use coda_list_rows for that. Use coda_list_columns to get the column schema of a specific table.

  • coda_publish_doc

    Publish a Coda doc to make it publicly accessible. Publishes the doc with optional gallery listing and URL slug. Publishing alone makes the doc public by link; setting discoverable=True is a separate, more public step that lists it in the Coda gallery. Use coda_unpublish_doc to revert. Returns the published doc's URL and settings.

  • coda_push_button

    Push a button in a Coda table row. Triggers the button's configured action (e.g. run automation, modify row). The button must be in a Button-type column. The effect depends on the button's configuration in the Coda doc. Returns a requestId for async mutation tracking.

  • coda_resolve_browser_linkread-only

    Resolve a Coda browser URL to API resource IDs. Converts a browser URL (e.g. from the address bar or a shared link) into API-compatible IDs for the doc, page, table, row, or column it points to. Use this as the first step when a user provides a Coda URL instead of IDs. Returns a type field indicating the resource kind and corresponding IDs.

  • coda_search_principalsread-only

    Search for users and groups that can be added to a doc's permissions. Returns matching principals (users and groups) based on the query string. Use this to look up a user's email or find groups before calling coda_add_permission. Results include the principal's type, email, and name.

  • coda_trigger_automation

    Trigger a Coda automation rule. Fires the specified automation rule, optionally passing a JSON payload. The automation must have an API-triggerable event type. The payload schema depends on the automation's configuration. Returns a requestId for tracking. The rule_id can be found in the automation's settings in the Coda UI.

  • coda_unpublish_doccan change or delete data

    Unpublish a Coda doc, removing public access. Returns confirmation with doc_id. Reverts a previously published doc to private. The public URL will stop working. This is reversible — you can publish again with coda_publish_doc.

  • coda_update_doc

    Update metadata for an existing Coda doc. Updates the doc's title and/or icon. Does NOT update page content — use coda_update_page for that. Returns the updated doc metadata. This is an idempotent operation — calling with the same values produces the same result.

  • coda_update_folder

    Update a folder's name. Renames the specified folder. Returns the updated folder metadata. This is an idempotent operation.

  • coda_update_page

    Update a page's name, subtitle, or content in a Coda doc. Updates page metadata and/or content. When updating content, 'replace' mode overwrites the entire page while 'append' adds to the end. There is no partial inline edit — draft full content locally first. Content format must match what you send (HTML or markdown). Returns the updated page metadata.

  • coda_update_row

    Update a single row in a Coda table. Updates specific column values for one row. Only the specified columns are changed — other columns are left unchanged. Use column names (not IDs). For bulk updates, use coda_insert_rows with key_columns (upsert) instead. Returns a requestId for async mutation tracking.

  • coda_whoamiread-only

    Get information about the current API token owner. Returns the user's name, email, and token scopes. Use this to verify that the API token is valid and has the expected permissions. If this returns an error, the token is invalid or expired.

Signals

Stars
2
Forks
1
Open issues
1
Weekly downloads
532
Last commit
Oct 22, 2026 (6 days ago)
Last release
Oct 22, 2026 (6 days ago)
Last package publish
Oct 22, 2026 (6 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.vish288/mcp-coda
Version
0.12.3
Auth
API key
Packages
pypi mcp-coda
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from vish288

Cite this page

MCP Coda. Agent Mart. https://agentmart.dev/connectors/vish288-mcp-coda (last updated 2026-10-24)