Coda MCP Server
Provides full access to the Coda API, enabling management of docs, tables, rows, formulas, permissions, publishing, folders, and custom domains.
Click on "Install 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 Serverlist all my Coda docs"
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 Server
A Model Context Protocol (MCP) server providing full access to the Coda API v1. This enables AI coding agents like Claude to interact with Coda docs, tables, rows, formulas, and more.
Features
51 tools covering the complete Coda API surface
Full CRUD operations on docs, pages, tables, and rows
Formula and control access
Permission and sharing management
Publishing and folder operations
Custom domain management
Async operation tracking
Related MCP server: Coda MCP Server
Quick Start
The easiest way to use this MCP server is via npx (no installation needed):
Get your Coda API key from https://coda.io/account (Account Settings > API)
Add to your Claude Desktop config:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"coda": {
"command": "npx",
"args": ["-y", "coda-io-mcp@latest"],
"env": {
"CODA_API_KEY": "your-coda-api-key"
}
}
}
}Restart Claude Desktop and start interacting with your Coda docs!
Installation
Option 1: npx (Recommended)
No installation needed! Just use the Quick Start configuration above. The npx command automatically downloads and runs the latest version from npm.
Benefits:
No manual installation or path configuration
Always uses the latest version with
@latestWorks the same on macOS, Windows, and Linux
Automatic updates on Claude Desktop restart
Option 2: Install from GitHub (For Development)
If you want to modify the code or contribute:
# Clone the repository
git clone https://github.com/bluestemso/coda-io-mcp.git
cd coda-io-mcp
# Install dependencies and build
npm installThe prepare script will automatically build the project after installation.
Claude Desktop Configuration:
{
"mcpServers": {
"coda": {
"command": "node",
"args": ["/absolute/path/to/coda-io-mcp/build/index.js"],
"env": {
"CODA_API_KEY": "your-api-key-here"
}
}
}
}Replace /absolute/path/to/coda-io-mcp with the actual path where you cloned the repository.
Option 3: Global npm Install
npm install -g coda-io-mcp@latestClaude Desktop Configuration:
{
"mcpServers": {
"coda": {
"command": "coda-io-mcp",
"env": {
"CODA_API_KEY": "your-api-key-here"
}
}
}
}Important: Replace your-api-key-here with your actual Coda API key in all configurations.
After adding the configuration, restart Claude Desktop to load the server.
Prerequisites
Node.js 18 or higher (required for all installation methods)
A Coda API key from https://coda.io/account (Account Settings > API)
Usage
With Claude Desktop
Once configured, you can use natural language with Claude to interact with your Coda docs. For example:
"List all my Coda docs"
"Create a new doc called 'Project Tracker'"
"Add a row to the Tasks table with Status: 'In Progress'"
"Get the value of the 'Total Revenue' formula"
"Share the doc with user@example.com as editor"
"Export the Requirements page as markdown"
Standalone Testing
Run the server directly (requires CODA_API_KEY environment variable):
export CODA_API_KEY=your-api-key-here
node build/index.jsWith MCP Inspector
Test the server with the MCP Inspector:
export CODA_API_KEY=your-api-key-here
npx @modelcontextprotocol/inspector node build/index.jsAvailable Tools
Account (1 tool)
coda_whoami- Get authenticated user info
Docs (5 tools)
coda_list_docs- List accessible docscoda_create_doc- Create new doccoda_get_doc- Get doc metadatacoda_update_doc- Update doc titlecoda_delete_doc- Delete a doc
Pages (9 tools)
coda_list_pages- List pages in a doccoda_create_page- Create a new pagecoda_get_page- Get page infocoda_update_page- Update pagecoda_delete_page- Delete pagecoda_list_page_content- List page contentcoda_delete_page_content- Delete page contentcoda_export_page- Start page exportcoda_get_export_status- Check export status
Tables (2 tools)
coda_list_tables- List tables and viewscoda_get_table- Get table info
Columns (2 tools)
coda_list_columns- List columns in a tablecoda_get_column- Get column info
Rows (7 tools)
coda_list_rows- List rows with filteringcoda_upsert_rows- Insert or update rowscoda_delete_rows- Bulk delete rowscoda_get_row- Get single rowcoda_update_row- Update rowcoda_delete_row- Delete rowcoda_push_button- Push a button
Formulas (2 tools)
coda_list_formulas- List formulascoda_get_formula- Get formula value
Controls (2 tools)
coda_list_controls- List controlscoda_get_control- Get control value
Permissions (7 tools)
coda_get_sharing_metadata- Get sharing infocoda_list_permissions- List permissionscoda_add_permission- Add permissioncoda_delete_permission- Remove permissioncoda_search_principals- Search users/groupscoda_get_acl_settings- Get ACL settingscoda_update_acl_settings- Update ACL settings
Publishing (3 tools)
coda_list_categories- List doc categoriescoda_publish_doc- Publish to gallerycoda_unpublish_doc- Unpublish from gallery
Folders (5 tools)
coda_list_folders- List folderscoda_create_folder- Create foldercoda_get_folder- Get folder infocoda_update_folder- Update foldercoda_delete_folder- Delete folder
Custom Domains (5 tools)
coda_list_domains- List custom domainscoda_add_domain- Add custom domaincoda_update_domain- Update domaincoda_delete_domain- Remove domaincoda_get_domain_provider- Get DNS provider
Mutations (1 tool)
coda_get_mutation_status- Check async operation status
Example Usage
Once configured with Claude Desktop, you can ask Claude to:
"List all my Coda docs"
"Create a new doc called 'Project Tracker'"
"Add a row to the Tasks table with Status: 'In Progress'"
"Get the value of the 'Total Revenue' formula"
"Share the doc with user@example.com as editor"
"Export the Requirements page as markdown"
Troubleshooting
Server not showing up in Claude Desktop
Make sure you've restarted Claude Desktop after adding the configuration
Check that the path to
build/index.jsis correct and absolute (not relative)Verify your config file is valid JSON (use a JSON validator if needed)
Check Claude Desktop's logs for error messages
"CODA_API_KEY is required" error
Make sure you've added the
envsection withCODA_API_KEYin your configVerify your API key is correct (no extra spaces or quotes)
Ensure you've copied the key correctly from Coda
Tools not working / API errors
Verify your Coda API key has the necessary permissions
Check that you have access to the docs/tables you're trying to access
Some operations require specific permission levels in Coda
Finding Your Installation Path
If you cloned the repository and need to find the absolute path:
cd coda-io-mcp
pwdThis will output the full path (e.g., /Users/yourname/projects/coda-io-mcp). Use this path + /build/index.js in your config.
Development
For contributors who want to modify or extend the server:
# Clone the repository
git clone https://github.com/bluestemso/coda-io-mcp.git
cd coda-io-mcp
# Install dependencies
npm install
# Build
npm run build
# Watch mode for development (auto-rebuild on changes)
npm run watchProject Structure
src/index.ts- MCP server entry pointsrc/coda-client.ts- HTTP client for Coda APIsrc/tools/- Individual tool implementations (13 modules, 51 tools total)
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
Support
Issues: GitHub Issues
Coda API Documentation: https://coda.io/developers/apis/v1
MCP Documentation: https://modelcontextprotocol.io
License
MIT
Available Tools
51 toolscoda_add_domainB
Add a custom domain to a doc
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only says 'Add' without detailing side effects, authentication needs, error conditions, or whether the operation is reversible. For a mutation tool, more behavioral disclosure is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no redundant or extraneous information. It is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema or annotations, the description is too minimal. It does not explain what adding a domain entails, confirmation steps, or potential impacts, leaving gaps for proper invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although the tool description does not elaborate on parameters, the input schema itself includes descriptions ('ID of the doc', 'Custom domain to add'). Thus the description adds no value beyond schema, achieving a baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description 'Add a custom domain to a doc' clearly indicates action (add) and resource (custom domain to a doc). It distinguishes from siblings like coda_add_permission or coda_create_doc, which are clearly different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, no prerequisites or conditions. The description does not mention when not to use it or provide any context for selection among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_add_permissionC
Add a permission to a doc
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| access | Yes | ||
| principal | Yes | ||
| suppressEmail | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only says 'add a permission' without disclosing behavioral traits like idempotency, effect on existing permissions, or whether email notifications are sent (though 'suppressEmail' parameter exists). The short description leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded and concise. However, it is perhaps too concise, omitting necessary details that would justify its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description should provide a complete picture of the tool's behavior, including return value, side effects, and prerequisites. It fails to do so, leaving the agent with incomplete context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any parameters beyond their names. For example, 'principal' is an object with no description, and 'access' enum values are not elaborated. The description adds little value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'add' and the resource 'permission to a doc', distinguishing it from sibling tools like 'delete_permission' and 'list_permissions'. However, it could be more specific about what a permission entails, but it's sufficient for basic understanding.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., 'update_acl_settings' or 'delete_permission'). Prerequisites or conditions for adding a permission, such as required user roles, are not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_create_docB
Create a new Coda doc
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | ||
| sourceDoc | No | ||
| timezone | No | ||
| folderId | No | ||
| initialPage | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the action. Missing details on success/error responses, side effects, or required authentication scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (5 words) but sacrifices useful context. Could add a brief note on optional parameters or result without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with 5 optional parameters and no output schema, the description omits critical behavioral info (e.g., returns doc ID, idempotency). Incomplete for reliable agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions already cover the parameters (title, sourceDoc, timezone, folderId, initialPage). The tool description adds no extra meaning but also doesn't need to given schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Create' and the resource 'new Coda doc', distinguishing it from sibling tools like coda_create_folder or coda_create_page.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as coda_update_doc or when to avoid it. Agent must infer context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_create_folderC
Create a new folder
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| parentFolderId | No | ||
| workspaceId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full burden. It only states 'Create a new folder' with no disclosure of side effects, required permissions, or behavior (e.g., whether it can be a top-level folder or needs a parent). This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (one sentence), which is concise but lacks necessary details. It does not waste words, but it also does not earn its place fully as it omits critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 3 parameters (1 required) and no output schema. A creation tool should describe what the folder is created under, the role of optional parameters, and expected behavior. This minimal description is incomplete for effective use by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% (tool description does not mention parameters). The description adds no meaning beyond the schema, which itself has descriptions for each parameter. With low coverage, the description should compensate but fails to do so.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action and resource: 'Create a new folder'. It distinguishes from sibling tools like coda_create_doc or coda_create_page by specifying 'folder'. However, it lacks any additional context about scope or constraints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There are many sibling tools for creating other entities, but no tips on prerequisites, common use cases, or when not to use this folder creation tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_create_pageC
Create a new page in a doc
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| name | No | ||
| subtitle | No | ||
| iconName | No | ||
| imageUrl | No | ||
| parentPageIdOrName | No | ||
| pageContent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should disclose behavioral traits. However, it only states the basic action without mentioning side effects, permissions, rate limits, or any constraints beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (one sentence) and front-loaded. It earns its place but could be expanded slightly without losing efficiency. It is not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 7 parameters, no output schema, and no annotations, the description is highly incomplete. It does not explain return values, error conditions, or how to use parameters like 'pageContent'. The agent lacks essential context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, meaning the schema does not describe parameters. The description adds no meaning beyond the parameter names, leaving the agent to infer usage from names like 'name', 'subtitle', 'iconName', etc. This is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (create) and resource (a page in a doc). It distinguishes from sibling tools like coda_delete_page, coda_update_page, and coda_list_pages. It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no indication of prerequisites, context, or when not to use it. The description simply states what it does.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_delete_docC
Delete a doc
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description 'Delete a doc' implies a destructive action but does not disclose consequences (e.g., irreversibility, permission requirements, or effect on related resources).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—one short sentence—with no superfluous information. It efficiently communicates the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single required parameter and no output schema, the description lacks important context such as return behavior, error handling, or prerequisites. It leaves several questions unanswered for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the tool description adds no parameter info. The schema provides a basic description for docId, but the tool description does not compensate with additional context or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete a doc' clearly states the action (delete) and resource (doc), and distinguishes it from sibling tools that delete other entities like folders or pages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as when to delete a doc vs a folder or page. No prerequisites or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_delete_domainB
Remove a custom domain from a doc
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It only says 'Remove', but does not disclose side effects, error conditions, or authorization requirements, leaving the agent uninformed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, front-loading the core action. It could be slightly more structured with a bullet or explicit note, but it is not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no annotations or output schema, the description lacks essential context such as success/failure indicators, permission requirements, or domain removal limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the tool description adds no meaning for the parameters 'docId' and 'domain' beyond their names. No hints on format, constraints, or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Remove a custom domain from a doc', using a specific verb and resource. It distinguishes from sibling tools like coda_add_domain and coda_update_domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating what it does, but provides no explicit guidance on when to use it versus alternatives, nor any prerequisites or when-not-to-use scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_delete_folderD
Delete a folder
| Name | Required | Description | Default |
|---|---|---|---|
| folderId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral disclosure burden but only states it deletes a folder. It omits critical information such as permissions required, irreversibility, cascading effects, or return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at three words, which is appropriate for simplicity but lacks necessary detail. It is not verbose but also not fully informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool's simplicity (one parameter, no output schema), the description omits any context about return values, side effects, or typical usage scenarios, making it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention the required 'folderId' parameter. It adds no value beyond the schema, failing to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete a folder' is a tautology that simply restates the tool name 'coda_delete_folder'. It provides no additional detail or differentiation from sibling delete tools like coda_delete_doc or coda_delete_page.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. Siblings include create and update operations, but no context for prerequisites or conditions is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_delete_pageC
Delete a page
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| pageIdOrName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a destructive action ('Delete') but provides no details on side effects, permissions required, or reversibility. With no annotations, the description should disclose behavioral traits beyond the action itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise but lacks structure. It is a single sentence with no context, which is appropriate for a simple action, but the under-specification limits its usefulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (2 parameters, no output schema), the description is incomplete. It does not explain the outcome, such as whether the page is permanently deleted or if there are any constraints like requiring the page to be empty.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for both parameters ('ID of the doc' and 'ID or name of the page'). The tool description adds no additional meaning beyond what the schema offers, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete a page' clearly states a verb and resource, but it does not differentiate from siblings like coda_delete_page_content or coda_delete_doc. The term 'page' could be ambiguous without further context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not indicate when to use this tool versus alternatives like coda_delete_page_content or coda_delete_doc, and there are no prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_delete_page_contentC
Delete content from a page
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| pageIdOrName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It only states 'Delete content from a page' without disclosing permissions, reversibility, or what exactly is deleted (e.g., all content vs. specific elements).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no fluff, but it is too brief to be informative. It could include more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and only basic parameter descriptions, the description fails to explain return values, side effects, or the scope of content deletion. It is incomplete for a delete operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has basic descriptions for each parameter (e.g., 'ID of the doc'), but schema coverage is reported as 0%. The tool description adds no additional meaning to the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete content from a page' clearly states the action and resource. It is distinct from sibling tools like coda_delete_page which deletes the page itself, though it does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no when-not scenarios, and no prerequisites mentioned. The description provides no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_delete_permissionC
Remove a permission from a doc
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| permissionId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a destructive action ('Remove'), but with no annotations provided, it fails to disclose important behavioral traits such as whether the operation is reversible, required permissions, or any side effects on other permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and to the point. However, it could benefit from a brief additional sentence of context, such as noting that the permission ID must be valid.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 required params, no output schema, no annotations), the description is incomplete. It lacks essential context like how to obtain the permission ID or preconditions for successful deletion.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, and the description does not explain the parameters at all. The parameter names ('docId', 'permissionId') are somewhat self-explanatory, but the description should clarify that 'permissionId' likely comes from a list operation, which it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Remove') and the resource ('permission from a doc'), making the tool's purpose unambiguous. It effectively distinguishes from sibling tools like 'coda_add_permission' and 'coda_list_permissions'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, there is no mention that the permission ID must be obtained from 'coda_list_permissions' first, or any prerequisites like doc existence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_delete_rowC
Delete a specific row from a table
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| tableIdOrName | Yes | ||
| rowIdOrName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only states 'delete', implying a destructive action, but does not disclose important behavioral traits such as permanence of deletion, cascading effects, required permissions, or whether the action is reversible. With no annotations provided, the description carries the full burden but fails to adequately inform the agent of these risks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence and avoids unnecessary verbiage. However, it is overly minimal; while concise, it could include more relevant information (e.g., that deletion is permanent, or a note about row ID versus name) without becoming verbose. It earns a 3 for being succinct but lacking depth.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (3 required parameters, no annotations, no output schema), the description should provide enough context for correct invocation. It fails to cover behavioral aspects, parameter usage, or when to use it compared to siblings. The description is incomplete for an agent to make a safe and correct decision.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the schema provides only generic descriptions (e.g., 'ID of the doc'). The tool description adds no additional parameter-level meaning beyond what is already in the schema. For a tool with three required parameters, the description should elaborate on what values each parameter accepts (e.g., format of IDs, whether names are case-sensitive), but it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete a specific row from a table' clearly states the verb (delete), resource (row), and context (from a table). It distinguishes from siblings like coda_delete_rows (batch delete) and coda_delete_page (page resource), making it unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, the sibling tool coda_delete_rows exists for deleting multiple rows, but there is no mention of when to choose one over the other. The description lacks any context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_delete_rowsC
Delete multiple rows from a table
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| tableIdOrName | Yes | ||
| rowIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description discloses no behavioral traits such as idempotency, permissions, or side effects beyond the deletion itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with verb, no redundant words. Could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Minimal description for a tool with 3 required parameters and no output schema or annotations. Lacks context on return values, failure modes, or batch behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no meaning to the parameters; the schema has no descriptions (per context signals: 0% coverage), and the description does not explain what docId, tableIdOrName, or rowIds are.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delete multiple rows') and the resource ('from a table'), distinguishing it from sibling tools like coda_delete_row (single row) and other delete operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no mention of prerequisites or when not to use it. The description is purely functional.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_export_pageC
Start an export of a page
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| pageIdOrName | Yes | ||
| outputFormat | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It only states that the tool starts an export, but fails to mention that exports are asynchronous, require permissions, or that the tool returns immediately with a status identifier. No behavioral traits are revealed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it omits critical information needed for correct tool usage. It's under-specified rather than efficiently informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has three required parameters and no output schema, the description is extremely incomplete. It does not explain what the tool returns, how to check export status, or any side effects. A more complete description would cover the asynchronous nature and provide guidance on subsequent steps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% according to context signals, so the description must compensate. The description does not mention the three required parameters (docId, pageIdOrName, outputFormat) or their semantics. The schema itself contains descriptions for each parameter, but the description adds no value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Start an export of a page' clearly states the action (start) and resource (export of a page). It is specific and distinct from sibling tools like coda_get_export_status. However, it could be improved by mentioning that it initiates an asynchronous process.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as coda_get_export_status to check progress. There is no mention of prerequisites, context, or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_get_acl_settingsC
Get ACL settings for a doc
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only operation ('Get'), which is appropriate, but with no annotations, it should disclose more: e.g., whether authentication is required, what happens if docId is invalid, or any rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (6 words) but at the cost of omitting essential details. It is front-loaded with the action and resource, yet lacks sufficient information to be considered appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter, no output schema, and no annotations, the description is insufficiently complete. It does not describe return values, error scenarios, or any behavioral context needed for proper use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, docId, has a minimal schema description ('ID of the doc'). The tool description adds no additional context about the parameter format, source, or constraints. With 0% schema coverage, the description should compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action ('Get') and resource ('ACL settings for a doc'), which is clear and specific. It distinguishes from sibling tools like coda_get_doc or coda_get_sharing_metadata, but lacks a brief explanation of what ACL settings are.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as coda_get_permissions or coda_get_sharing_metadata. No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_get_columnC
Get information about a specific column
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| tableIdOrName | Yes | ||
| columnIdOrName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose whether the operation is read-only, what type of information is returned, or any side effects. The description is too vague to inform the agent about behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the purpose. No unnecessary words, though it could provide more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 required parameters and no output schema, the description is inadequate. It does not explain what 'information' is returned, any constraints on the parameters, or how the response is structured. Lacks sufficient context for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no meaning beyond the input schema. The schema descriptions for each parameter are minimal, and the overall tool description does not clarify their roles or relationships. With 0% schema description coverage, the description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and resource 'column', clearly indicating the tool retrieves information about a single column. It distinguishes from sibling tools like 'coda_list_columns' by focusing on a specific column, but does not explicitly differentiate from other 'get' tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance provided on when to use this tool versus alternatives such as 'coda_list_columns' or 'coda_get_table'. The description does not mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_get_controlB
Get the value of a specific control
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| controlIdOrName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only says 'Get', implying a read operation, but omits details like what happens if the control is not found, any side effects, or data freshness guarantees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence. However, its brevity sacrifices informative value; it is efficiently minimal but could be better structured with additional context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool among many similar coda getters, the description lacks contextual completeness. It does not describe the return value, error behavior, or relationship to siblings, leaving gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for both parameters ('ID of the doc', 'ID or name of the control'), covering 100% of parameter meaning. The description adds no additional semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get) and the resource (value of a specific control). It distinguishes from siblings like coda_list_controls and other getters by specifying 'a specific control' via ID or name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like coda_list_controls. The description is too sparse to help an agent decide the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_get_docC
Get metadata for a specific doc
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only says 'Get metadata' without disclosing any behavioral traits such as authentication needs, rate limits, or error handling. The read nature is implied but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence without extra words, which is concise. However, it may be too brief for adequate understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description should explain what metadata is returned. It does not, leaving the agent uninformed about the response structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema includes a description for docId ('ID of the doc') but it is in a non-standard format. The tool description adds no additional meaning beyond what the schema already provides. Schema description coverage is effectively 0% as per context, so the description does not compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves metadata for a specific doc, using a specific verb and resource. It distinguishes from siblings like coda_list_docs which lists docs, and coda_get_page which gets a page.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description only states what it does, without indicating context, prerequisites, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_get_domain_providerC
Get the DNS provider for a domain
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states the basic action. Does not disclose what happens if domain is missing, permissions needed, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise but not overly informative. Could benefit from a bit more detail without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and sparse description, agent lacks information about return values, error conditions, or behavior for invalid inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description adds no meaning beyond what the input schema provides for the 'domain' parameter. Schema description 'Domain to check' already covers it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Get' and resource 'DNS provider for a domain'. It distinguishes from sibling tools that add, delete, update, or list domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs. alternatives like coda_add_domain or coda_list_domains. Agent must infer context from name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_get_export_statusC
Get the status of a page export
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| pageIdOrName | Yes | ||
| requestId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states the basic function, omitting details about required requestId from prior export, return format, or idempotency. The agent lacks key transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is very concise but lacks structure and information density. It is front-loaded with the only key action, but the brevity sacrifices completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is extremely incomplete given the tool has 3 required parameters, no output schema, and no annotations. It does not mention the prerequisite of an export request, possible status values, or how to handle the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no parameter-level meaning. The three required parameters (docId, pageIdOrName, requestId) are not explained beyond their names, leaving the agent without usage context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get the status of a page export' uses a specific verb and resource. It clearly distinguishes from siblings like coda_export_page (which initiates an export) and coda_get_mutation_status (for other mutation statuses).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention that it should be used after calling coda_export_page, nor does it specify prerequisites like needing a requestId.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_get_folderC
Get information about a specific folder
| Name | Required | Description | Default |
|---|---|---|---|
| folderId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, rate limits, or required permissions. The agent cannot infer safety or potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, concise and front-loaded. However, it could be slightly more descriptive without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should hint at the return value or structure. 'Get information' is vague; a more complete description would list typical fields (e.g., name, URL) or response type. The tool is simple, but completeness is lacking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'folderId' has a description in the schema ('ID of the folder'), meaning the schema already provides meaning. The tool description adds no additional semantics, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves information about a folder, distinguishing it from sibling tools like coda_list_folders (listing) and coda_update_folder (modification). However, it is generic and could specify what type of information is returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. For example, there is no mention that this tool is for a single folder's details, while coda_list_folders is for listing all folders.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_get_formulaB
Get the value of a specific formula
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| formulaIdOrName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only indicates a read operation ('Get the value') but provides no additional behavioral context such as required permissions, side effects, error handling, or the nature of the returned value. Since annotations are absent, the description carries the full burden and is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded and contains no unnecessary words. It is efficient but could include additional context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter tool with two parameters and no output schema, the description is minimally adequate but lacks details about return value, error scenarios, and its relationship to other formula-related tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema includes descriptions for both parameters ('ID of the doc' and 'ID or name of the formula'), which covers the parameter semantics. The description adds no further value beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get the value of a specific formula' clearly states the action (get), the resource (formula), and its specificity (a specific formula). This distinguishes it from sibling tools like coda_list_formulas, which lists formulas, and other getters like coda_get_column.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention that one needs to know the formula ID or name, nor does it contrast with coda_list_formulas or other retrieval tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_get_mutation_statusC
Get the status of an asynchronous mutation
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully disclose behavior. It does not mention possible status values, polling implications, or response format, leaving the agent without critical behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence and front-loaded, but lacks structure like separate sections for parameters or behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a single parameter, the description should clarify expected return values or statuses. It does not, making it incomplete for an agent to interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'requestId' has a description in the schema ('Request ID from an async operation'), but the schema coverage is marked as 0%. The tool description adds no additional meaning about the parameter format or source.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'status of an asynchronous mutation', which is specific and distinct from sibling tools that get other entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool or when alternatives are appropriate. It is implied it follows a mutation, but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_get_pageC
Get information about a specific page
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| pageIdOrName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It says 'Get' implying a read operation but does not explicitly state read-only, permissions, or error behavior. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, making it concise but under-specified. It could be restructured to include key details without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and two parameters, the description is incomplete. It does not explain the return format, pagination, or any constraints. Adequate for a very simple tool but lacks depth.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool description adds no information about parameters. The input schema provides descriptions for both params, but schema description coverage is 0%, meaning the tool description should compensate. It fails to do so.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Get' and the resource 'information about a specific page', which is clear and distinguishes it from sibling tools like coda_list_pages that list multiple pages. However, it does not explicitly differentiate from other get_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., coda_list_pages or coda_get_doc). The description lacks context about prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_get_rowC
Get a specific row from a table
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| tableIdOrName | Yes | ||
| rowIdOrName | Yes | ||
| useColumnNames | No | ||
| valueFormat | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are available, so the description must convey behavioral traits. The brief text does not specify that the operation is read-only, what happens if the row is missing, or any permission requirements, leaving the agent with minimal context about side effects or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at one sentence and six words, which is efficient for a simple read operation. However, it borders on under-specification, sacrificing useful context for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With five parameters, no output schema, and no annotations, the description is insufficient. It does not explain the return value format, error handling, or how to construct the required identifiers, making the tool incomplete for an agent to reliably use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% per context, and the description does not explain any parameters (e.g., how to specify docId, tableIdOrName, rowIdOrName, or the optional useColumnNames and valueFormat). The description fails to compensate for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get a specific row from a table' clearly states the action (get) and resource (specific row), effectively distinguishing it from sibling tools like coda_list_rows (list multiple rows) or coda_update_row (modify a row).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as coda_list_rows for fetching multiple rows or coda_get_table for table metadata. The description doesn't exclude any contexts or mention prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_get_sharing_metadataB
Get sharing metadata for a doc
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only states 'Get' which implies read-only but does not detail what metadata is returned, potential side effects, or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that is appropriately concise and front-loaded, though it could be slightly expanded without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, no output schema), the description is minimal. It lacks information about return values or usage context, making it incomplete for a fully informed decision.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter 'docId' is described in the input schema as 'ID of the doc', covering its meaning. The tool description adds no further semantics, achieving baseline adequacy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get sharing metadata for a doc' clearly specifies the verb (Get) and resource (sharing metadata for a doc), distinguishing it from other 'get' tools that retrieve different aspects of a doc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like coda_get_doc or coda_get_permissions. The description lacks context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_get_tableC
Get information about a specific table
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| tableIdOrName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations; the description only says 'get information', not disclosing permissions, rate limits, or that it's read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence, front-loaded; but under-specified for a tool with no output schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema; the description does not state what information is returned, leaving the agent to guess the response format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description does not explain or add context to the two parameters; the schema descriptions exist but are not supplemented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it retrieves information about a specific table, which is distinct from sibling tools like list tables or get row.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use vs alternatives like coda_list_tables or coda_get_row; only implied by the word 'specific'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_list_categoriesA
List available doc categories for publishing
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. The verb 'list' implies a read-only, non-destructive operation, which is sufficient for this simple tool. However, no additional behavioral details (e.g., prerequisites or output format) are given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded. Every word serves a purpose, with no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters and no output schema, the description is mostly complete, covering the purpose. However, it could be enhanced by mentioning the output format (e.g., returns an array of category names), though not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the schema coverage is 100%. The description naturally adds no parameter info because none exist. Baseline for 0 params is 4, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists available doc categories for publishing, which is a specific verb and resource. It distinguishes itself from sibling tools like coda_list_docs or coda_list_tables.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternatives are provided. The context is clear but lacks guidance on when not to use this tool or comparisons with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_list_columnsB
List columns in a table
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| tableIdOrName | Yes | ||
| limit | No | ||
| pageToken | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It only states the action without mentioning read-only nature, pagination behavior, rate limits, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. Front-loaded with the key action and resource. Could be slightly more detailed without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a listing tool with 4 parameters and no output schema, the description omits pagination details, return format, and ordering. Relies entirely on the schema for parameter meaning.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all parameters (docId, tableIdOrName, limit, pageToken). The description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List columns in a table' uses a specific verb ('List'), identifies the resource ('columns'), and scopes it ('in a table'). It clearly distinguishes from sibling tools like coda_list_rows or coda_list_docs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use or avoid this tool. Does not mention prerequisites, compare to alternatives like coda_get_column, or explain pagination usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_list_controlsC
List controls in a doc
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| limit | No | ||
| pageToken | No | ||
| sortBy | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must convey behavior. It only says 'list' which implies read-only, but fails to disclose any behavioral traits such as pagination limits, response format, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (4 words), but this is underspecification rather than conciseness. It lacks front-loaded key information and every word could be expanded to provide value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters and no output schema or annotations, the description is severely incomplete. It does not cover pagination, sorting options, or what a 'control' is, leaving the agent without sufficient context to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is reported as 0%, meaning the parameter descriptions in the schema are minimal or not counted. The tool description does not explain or augment the parameters (docId, limit, pageToken, sortBy), leaving their purpose and usage unclear beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List', the resource 'controls', and the scope 'in a doc'. It is specific about what the tool does, but it does not differentiate from sibling list tools like coda_list_columns or coda_list_tables, lacking unique context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With many sibling list tools, the description should indicate scenarios, but it offers no such context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_list_docsC
List accessible Coda docs
| Name | Required | Description | Default |
|---|---|---|---|
| isOwner | No | ||
| query | No | ||
| sourceDoc | No | ||
| isStarred | No | ||
| inGallery | No | ||
| workspaceId | No | ||
| folderId | No | ||
| limit | No | ||
| pageToken | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It does not disclose any behavioral traits: no mention of pagination, rate limits, data freshness, or whether it returns all accessible docs or requires authentication. The schema shows pagination parameters but the description omits this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, immediately states purpose. No wasted words. Front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 9 parameters and no output schema, the description is extremely terse. It fails to explain return values, pagination, filtering syntax, or how the tool integrates with other tools, leaving the agent with insufficient context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for each parameter (e.g., 'Filter for docs owned by the user'), so the tool description adds nothing beyond that. Baseline score of 3 is appropriate since schema covers parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'List' and resource 'Coda docs' with scope 'accessible'. While it distinguishes from single-doc tools like coda_get_doc, it does not explicitly differentiate from other list tools (e.g., coda_list_folders), but the resource is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings like coda_get_doc or coda_list_pages. Missing context about prerequisites or suitable scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_list_domainsC
List custom domains for a doc
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description does not disclose any behavioral traits such as read-only nature, error cases, or performance characteristics. The agent gets no hints beyond the basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no unnecessary words. Efficiently conveys the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with one parameter, the description is minimally adequate but lacks information about the return value (list of domain objects) and any pagination or filtering. No output schema exists, so the description should hint at the result shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds no meaning to the docId parameter beyond what the schema already provides ('ID of the doc'). No additional context like format or source.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (list) and resource (custom domains) and scope (for a doc). It distinguishes from sibling add/delete domain tools, but does not elaborate on what constitutes a custom domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like coda_list_docs or coda_list_permissions. No prerequisites or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_list_foldersC
List folders in the workspace
| Name | Required | Description | Default |
|---|---|---|---|
| isOwner | No | ||
| limit | No | ||
| pageToken | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description lacks any behavioral details such as required permissions, pagination behavior, rate limits, or return format. The description alone is insufficient for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence), but it is too brief, sacrificing necessary details like pagination and filtering. It is under-specified rather than efficiently concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 3 optional parameters, no output schema, and no annotations, the description fails to provide adequate context. It omits any mention of output format, pagination, or how parameters affect results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite the input schema having descriptions for each parameter, the context indicates 0% schema description coverage, meaning the description should compensate. It does not explain what 'isOwner', 'limit', or 'pageToken' do, leaving the agent to infer from parameter names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (List) and resource (folders), with scope (in the workspace). This distinguishes it from siblings like 'get_folder' (single) and 'create_folder' (create).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention that 'get_folder' is for a single folder or provide any exclusions. The usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_list_formulasC
List formulas in a doc
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| limit | No | ||
| pageToken | No | ||
| sortBy | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose any behavioral traits (e.g., read-only, destructive, auth needs). The agent cannot infer safety or side effects from the description alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (four words), but it lacks front-loading of key information such as required parameters. It is efficient but could be improved by adding important context without increasing length significantly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters and no output schema, the description is insufficient. It does not cover pagination, sorting behavior, or the meaning of the returned data. A tool with this complexity needs more contextual details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is reported as 0%, so the description must compensate. However, it only adds 'in a doc' and does not explain the purpose or format of any parameters (docId, limit, pageToken, sortBy).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List formulas' as a verb-resource pair, differentiating it from sibling tools listing other resources like columns or pages. However, it does not mention the required docId parameter, which is essential for the agent to know the scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like coda_get_formula. There is no mention of prerequisites, limitations, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_list_page_contentC
List content on a page (sections, tables, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| pageIdOrName | Yes | ||
| limit | No | ||
| pageToken | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description does not disclose behavioral traits such as read-only nature, pagination behavior, output format, or any side effects. For a list operation, minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise and front-loaded with the action. However, it could be restructured to include more details without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and four parameters with no description, the description is insufficient. It does not explain return values, pagination, or input requirements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the tool description adds no meaning to parameters. Does not explain that 'limit' controls max results or 'pageToken' handles pagination, leaving agents without guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List content on a page (sections, tables, etc.)' uses a specific verb 'list' and resource 'page content', clearly distinguishing it from sibling tools like coda_get_page (retrieve page details) or coda_list_pages (list pages in doc).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Does not mention contexts where other tools (e.g., coda_list_tables, coda_list_columns) would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_list_pagesC
List pages in a doc
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| limit | No | ||
| pageToken | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose any behavioral traits such as pagination behavior, ordering, or whether deleted pages are included. The pagination parameter (pageToken) is not mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at 4 words, but it lacks necessary detail. It is not overly verbose, but it does not earn its place by providing sufficient information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description is incomplete. It does not explain the return format, pagination details, or how to retrieve specific page information, making it insufficient for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the tool description does not explain any of the three parameters (docId, limit, pageToken). The description must compensate but fails to do so.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List pages in a doc' is clear with a specific verb and resource, but does not differentiate from sibling list tools like coda_list_docs or coda_list_folders, which also list items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not specify when to use this tool versus alternatives like coda_get_page for a single page or coda_search_principals.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_list_permissionsB
List permissions for a doc
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| limit | No | ||
| pageToken | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description should disclose behavioral traits such as read/write nature, required permissions, or return format. It only states 'list permissions', but does not confirm it's a read-only operation or indicate any side effects, auth needs, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just 4 words, with no unnecessary information. Every word serves a purpose, and the structure is front-loaded for immediate clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and the tool's complexity (listing permissions), the description fails to explain the return format, pagination behavior, or error states. The agent lacks essential context to fully understand the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides clear descriptions for all three parameters (docId, limit, pageToken). The tool description adds no additional semantic value beyond what the schema already offers, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List permissions for a doc' uses a specific verb and resource, clearly indicating the tool's purpose. It is easily distinguishable from sibling tools like coda_add_permission, coda_delete_permission, and coda_get_acl_settings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of context, prerequisites, or scenarios where another tool might be preferred, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_list_rowsC
List rows in a table with optional filtering and sorting
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| tableIdOrName | Yes | ||
| query | No | ||
| sortBy | No | ||
| useColumnNames | No | ||
| valueFormat | No | ||
| visibleOnly | No | ||
| limit | No | ||
| pageToken | No | ||
| syncToken | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It only mentions 'List rows', implying read-only, but does not disclose pagination, rate limits, authentication needs, or what happens with large result sets. The description is too sparse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise at one sentence, but it is too terse. It lacks structure or front-loading of key information. While brevity is positive, it omits necessary details that could be provided in a slightly longer but still concise format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 10 parameters, no output schema, and no annotations, the description is highly incomplete. An AI agent would lack crucial information on pagination (pageToken, syncToken), formatting (valueFormat, useColumnNames), filtering (query formula syntax), and result limits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite the schema having descriptions for each parameter, the context signals indicate 0% schema description coverage (i.e., the tool description adds no value beyond schema). The description mentions 'optional filtering and sorting' only, which applies to two parameters but does not explain the other eight (docId, tableIdOrName, useColumnNames, valueFormat, visibleOnly, limit, pageToken, syncToken).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'rows in a table', with optional filtering and sorting. It distinguishes from siblings like coda_get_row (single row) or coda_delete_row, and from list operations on other resources like coda_list_tables or coda_list_columns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives, such as coda_get_row for a single row or coda_upsert_rows for batch operations. There is no mention of prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_list_tablesB
List tables and views in a doc
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| limit | No | ||
| pageToken | No | ||
| sortBy | No | ||
| tableTypes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only states the basic action. It does not mention that the operation is read-only, any side effects, authentication needs, or rate limits, which are critical for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, front-loaded with the essential action, with no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters, no output schema, and no annotations, the description is insufficient. It does not explain pagination, sorting options, or filtering by table types, leaving the agent without enough context to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% per context signals, but the input schema itself contains parameter descriptions. The tool description does not add any additional meaning beyond the schema, failing to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List tables and views in a doc' clearly states the verb (list) and resource (tables/views), distinguishing it from sibling tools like coda_list_columns or coda_list_rows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as coda_get_table or how to effectively leverage parameters like pagination. The description only states what it does, not when or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_publish_docC
Publish a doc to the gallery
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| slug | No | ||
| discoverable | No | ||
| earnCredit | No | ||
| categoryNames | No | ||
| mode | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose behavioral traits like side effects, required permissions, or what 'publishing' entails beyond the action itself. This is a significant gap for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is extremely concise at one sentence. However, it sacrifices essential details. While front-loaded, it is too brief for a tool with many parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters, no output schema, and no annotations, the description is incomplete. It fails to explain what happens upon publishing or the structure of the gallery, leaving significant ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any parameters. With 6 parameters including optional ones like slug, discoverable, and mode, the description adds no meaning to them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action: 'Publish a doc to the gallery'. It uses a specific verb and resource, and distinguishes from sibling tools like coda_unpublish_doc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives such as coda_update_doc or coda_create_doc. No context about prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_push_buttonC
Push a button in a specific row
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| tableIdOrName | Yes | ||
| rowIdOrName | Yes | ||
| columnIdOrName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose side effects (e.g., triggering automations), permissions needed, or whether it is a mutation. The agent has no behavioral context beyond 'push a button'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, highly concise and front-loaded. However, it is so brief that it sacrifices clarity and completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 required parameters, no annotations, and no output schema, the description is severely incomplete. It fails to explain the effect of pushing a button, return values, or any prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% per context signals, yet the description adds no parameter information. The schema itself contains brief descriptions, but the tool description does not help the agent understand how parameters relate or any constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Push a button') and target ('in a specific row'), but does not differentiate from sibling tools that also operate on rows (e.g., coda_update_row, coda_delete_row).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, or any prerequisites like button column existence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_search_principalsC
Search for users or groups to share with
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| search | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. However, it only states the basic purpose without disclosing behavioral traits like return format, pagination, or authentication needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (8 words), but it lacks structure and could benefit from additional context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description is insufficient for an agent to understand the tool's full behavior, such as what the search returns and how to use the results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description adds no meaning beyond the schema's brief parameter descriptions. It does not explain how to use the 'docId' or 'search' parameters effectively.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for users or groups for sharing, providing a specific verb and resource. It distinguishes well from sibling tools, as no other tool has a similar purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives, such as permission listing or adding tools. The context implies use before sharing, but it's not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_unpublish_docC
Unpublish a doc from the gallery
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description fails to disclose side effects, required permissions, or what happens to the document after unpublishing, offering only the verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool's simplicity, the description omits critical details such as the effect of unpublishing, whether it can be undone, and any related constraints, rendering it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not explain the single parameter 'docId', leaving its purpose and format entirely ambiguous despite 0% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (unpublish) and the resource (doc from gallery), distinguishing it from sibling tools like coda_publish_doc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage context is provided; it doesn't indicate when to use this tool versus alternatives, nor any prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_update_acl_settingsC
Update ACL settings for a doc
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| allowEditorsToChangePermissions | No | ||
| allowViewersToRequestEdit | No | ||
| allowViewersToRequestComment | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states 'Update' but does not reveal whether the operation is idempotent, what permissions are required, or any side effects. For a mutation tool, this is insufficient transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but lacks structure and relevant detail. It could be expanded to include parameter context or usage notes without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 4 parameters (1 required), the description is incomplete. It does not specify the impact of updating ACL settings, default values for boolean parameters, or relationships to other tools like coda_get_acl_settings or coda_add_permission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool description does not explain any parameters; it relies solely on the schema. Since schema description coverage is 0% (no parameter info in the description), the description should compensate but fails to do so. The schema itself has descriptions for each parameter, but the tool description adds no value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Update' and resource 'ACL settings for a doc', which is specific and unambiguous. However, it does not differentiate from the sibling tool coda_get_acl_settings, which is a read operation, but the name itself implies mutation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no scenarios where it should not be used. Agents would have to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_update_docB
Update a doc (currently only supports updating the title)
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It mentions the limitation (only title), but lacks details on mutation effects, idempotency, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no fluff. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimal. While the tool is simple, it lacks details on success/error responses, usage context, or behavior beyond the stated limitation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning by clarifying that the 'title' parameter is the only updatable field, which is not evident from the schema alone. However, it does not detail parameter syntax or constraints beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: updating a doc, and explicitly notes the current limitation (only title). This differentiates it from siblings that update other resources like pages or rows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., coda_update_page for pages). The description does not mention prerequisites or scenarios where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_update_domainC
Update a custom domain for a doc
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| domain | Yes | ||
| properties | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so description carries full burden. It fails to disclose behavioral traits like whether the update is destructive, requires permissions, or replaces/merges existing settings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded, and no waste. Every word is necessary, but conciseness should not come at the cost of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 3 required parameters, no output schema, and no annotations, the description is too minimal. Lacks details on updatable properties, domain format, and what happens after update.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% (only names and brief descriptions in schema). The description adds no additional meaning beyond parameter names and schema-defined descriptions like 'ID of the doc'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Update a custom domain for a doc', providing a specific verb and resource. However, it does not differentiate from sibling tools like coda_add_domain or coda_delete_domain, lacking uniqueness.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. No prerequisites, context, or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_update_folderD
Update a folder
| Name | Required | Description | Default |
|---|---|---|---|
| folderId | Yes | ||
| name | No | ||
| parentFolderId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description fails to disclose any behavioral traits (e.g., side effects, permissions, idempotency).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (3 words), but conciseness is not helpful at the expense of missing critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 3 parameters, no output schema, and no annotations, the description provides almost no context about usage, behavior, or return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description adds no meaning beyond the schema fields (folderId, name, parentFolderId).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description 'Update a folder' is a verb+resource but lacks specificity on what aspects are updated (name, parent). Among siblings like coda_update_doc and coda_update_page, it does not distinguish itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no prerequisites or constraints mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_update_pageC
Update a page
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| pageIdOrName | Yes | ||
| name | No | ||
| subtitle | No | ||
| iconName | No | ||
| imageUrl | No | ||
| contentUpdate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only states 'Update a page' without detailing effects, idempotency, required permissions, or side effects. This is insufficient for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at three words, but it lacks substantive content. While brevity is positive, the omission of critical information makes it insufficient for effective tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the schema providing parameter descriptions, the tool has 7 parameters and no output schema. The description does not explain the overall update behavior, return value, or usage context, leaving gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already includes descriptions for each parameter (e.g., 'New name for the page'), covering their semantics. The tool description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update a page' is minimal but clearly indicates the verb and resource. However, it does not distinguish from sibling tools like coda_update_doc or coda_update_row, which also update other entities. The specificity is adequate but not strong.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description lacks instructions on prerequisites, context, or exclusions, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_update_rowC
Update a specific row in a table
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| tableIdOrName | Yes | ||
| rowIdOrName | Yes | ||
| row | Yes | ||
| disableParsing | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as idempotency, return values, or permission requirements. The mutation nature is implied but not elaborated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, but it is overly brief and omits essential context. Conciseness is achieved at the cost of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 5 parameters and no output schema or annotations, the description does not explain return values, error scenarios, or partial update behavior. It is insufficient for an agent to fully understand the tool's effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no meaning beyond the input schema, which has its own descriptions for parameters. With 0% schema description coverage, the description should compensate but fails to do so.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update a specific row in a table' clearly states the verb (update) and resource (specific row in a table). It distinguishes from siblings like coda_delete_row or coda_get_row, but does not differentiate from coda_upsert_rows which combines update and insert.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like coda_upsert_rows or coda_delete_row. Prerequisites (e.g., having docId, tableIdOrName, rowIdOrName) are implied but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_upsert_rowsC
Insert or update rows in a table
| Name | Required | Description | Default |
|---|---|---|---|
| docId | Yes | ||
| tableIdOrName | Yes | ||
| rows | Yes | ||
| keyColumns | No | ||
| disableParsing | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It fails to explain the upsert mechanism (e.g., use of keyColumns for matching), idempotency, or side effects. A user cannot infer how conflicts are resolved or what disableParsing does.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
At only six words, the description is very concise but lacks structure. It does not waste words but omits crucial details that could be included in a brief additional sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters, no annotations, and no output schema, the description is insufficient. It omits key behavioral details about upsert logic, parameter roles, and expected outcomes, making it hard for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all parameters (e.g., 'Column IDs to use as merge keys for upsert'), covering over 80% of parameter meaning. The description adds no extra context, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool inserts or updates rows in a table, which is a specific action on a resource. It distinguishes from sibling tools like coda_update_row (which updates a single row) by implying batch capability, but does not explicitly mention key columns or merging logic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as coda_update_row for single-row updates or other tools for deletions. Missing context on batch vs. individual operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coda_whoamiA
Get information about the authenticated user
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description does not disclose behavioral traits such as what specific user information is returned, rate limits, or authentication requirements, beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that clearly states the action. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description could be more complete by hinting at what information is returned (e.g., user ID, email). As is, it is minimal but functional.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters and schema coverage is 100% (none). The description adds no parameter info, which is acceptable per baseline scoring for no-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get information about the authenticated user' uses a specific verb (Get) and a clear resource (information about authenticated user), distinguishing it from sibling tools like coda_search_principals or other get tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like coda_search_principals. However, the purpose is straightforward, and the lack of parameters suggests it's a simple self-info call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a distinct purpose, clearly indicated by its name and description. No two tools appear to overlap in functionality, even for similar operations like deleting single vs multiple rows.
All tools follow a consistent `coda_verb_noun` pattern in snake_case, making it easy to predict tool names from the action and resource.
With 51 tools, the count is high but justifiable given the breadth of Coda's features (docs, pages, tables, rows, columns, controls, formulas, permissions, domains, folders, publishing, etc.). Still on the upper end for typical MCP server scoping.
Covers most major CRUD operations for docs, pages, folders, and rows, but lacks create/update/delete for tables, controls, and formulas, leaving notable gaps in the lifecycle management of these entities.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
SaaS intelligence for AI agents. 5 unified tools cover 1,000+ services with 91-96% token savings.
Exactly 50 data transformation and live web verification tools for AI agents.
Verified, pay-per-use API tools for AI agents through one authenticated connection.
Connect AI agents to 1000+ apps with managed authentication and tool-calling.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides comprehensive access to the Airtable Web API, enabling AI assistants to create and manage bases, tables, fields, records, views, and webhooks with support for 25+ field types, batch operations, and enterprise features.32221MIT
- FlicenseAqualityNot gradedmaintenanceProvides 15 core tools for managing Coda documents, tables, and rows through HTTP, SSE, and stdio transports. It is specifically optimized for stability with LangSmith Agent Builder and supports document manipulation, data retrieval, and formula execution.15
- AlicenseAqualityFmaintenanceIntegrates Coda.io with Claude, enabling direct access to docs, pages, tables, and data via natural language commands.35121MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to interact with Coda docs, pages, tables, rows, formulas, and more via the Coda API, offering 54 tools, 12 resources, and 5 prompts for comprehensive document management.542MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bluestemso/coda-io-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server