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
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.
About
Reviews
Write a reviewNo 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_pagecoda_get_acl_settingscoda_get_analytics_updatedcoda_get_columncoda_get_controlcoda_get_doccoda_get_doc_analytics_summarycoda_get_export_statuscoda_get_foldercoda_get_formulacoda_get_mutation_statuscoda_get_pack_analytics_summary
Show 22 more tools
coda_get_pagecoda_get_page_contentcoda_get_rowcoda_get_sharing_metadatacoda_get_tablecoda_list_categoriescoda_list_columnscoda_list_controlscoda_list_doc_analyticscoda_list_docscoda_list_folderscoda_list_formulascoda_list_pack_analyticscoda_list_pack_formula_analyticscoda_list_page_analyticscoda_list_pagescoda_list_permissionscoda_list_rowscoda_list_tablescoda_resolve_browser_linkcoda_search_principalscoda_whoami
Write 12 · Create, change, send or run things.
coda_add_permissioncoda_create_doccoda_create_foldercoda_create_pagecoda_insert_rowscoda_publish_doccoda_push_buttoncoda_trigger_automationcoda_update_doccoda_update_foldercoda_update_pagecoda_update_row
Delete 8 · Delete, drop, revoke or wipe things.
coda_delete_doccoda_delete_foldercoda_delete_pagecoda_delete_page_contentcoda_delete_permissioncoda_delete_rowcoda_delete_rowscoda_unpublish_doc
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
CODA_API_TOKENCODA_HTTP_BEARER_TOKEN
Other settings (environment variables or headers).
CODA_READ_ONLYMCP_READ_ONLY
Network hosts it talks to 2
coda.io· found in codegithub.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_permissionAdd 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_docCreate 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_folderCreate 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_pageCreate 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 dataPermanently 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 dataDelete 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 dataPermanently 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 dataDelete 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 dataRemove 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 dataDelete 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 dataDelete 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-onlyExport 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-onlyGet 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-onlyGet 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-onlyGet 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-onlyGet 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-onlyGet 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-onlyGet 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-onlyCheck 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-onlyGet 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-onlyGet 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-onlyCheck 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-onlyGet aggregated analytics summary for packs. Returns total installs, doc usage, and formula invocations summed across packs. Only available to pack makers.
coda_get_pageread-onlyGet 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-onlyGet 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-onlyGet 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-onlyGet 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-onlyGet 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_rowsInsert 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-onlyList 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-onlyList 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-onlyList 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-onlyList 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-onlyList 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-onlyList 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-onlyList 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-onlyList 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-onlyList 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-onlyList 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-onlyList 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-onlyList 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-onlyList 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-onlyList 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_docPublish 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_buttonPush 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-onlyResolve 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-onlySearch 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_automationTrigger 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 dataUnpublish 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_docUpdate 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_folderUpdate a folder's name. Renames the specified folder. Returns the updated folder metadata. This is an idempotent operation.
coda_update_pageUpdate 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_rowUpdate 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-onlyGet 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
- Repository
- github.com/vish288/mcp-coda
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from vish288
- 0.763score
MCP GitLab
vish288
GitLab MCP server (MCP 2026-07-28): projects, MRs, pipelines, CI/CD, issues; writes or read-only
ConnectorAFreshness: ALocal★ 6↓ 8K/wkClaude Code +5 - 0.643score
MCP Atlassian Extended
vish288
Jira/Confluence MCP server (MCP 2026-07-28): sprints, boards, attachments; writes or read-only
ConnectorAFreshness: ALocal★ 3↓ 512/wkClaude Code +5 - 0.613score
MCP Argocd
vish288
Argo CD MCP server (MCP 2026-07-28): status, sync, rollback, drift, AppSets; writes or read-only
ConnectorAFreshness: ALocal↓ 323/wkClaude Code +5
Cite this page
MCP Coda. Agent Mart. https://agentmart.dev/connectors/vish288-mcp-coda (last updated 2026-10-24)