Skip to main content
Glama

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.5.3

  • Disambiguation4/5

    Tools are mostly distinct with clear descriptions, but there is potential confusion between similar pairs like get vs list for rows/pages, and between export vs get page content. Some analytics tools also overlap (summary vs list). Overall, agents should be able to distinguish them with careful reading.

    Naming Consistency5/5

    All tools follow a consistent 'coda_verb_noun' pattern in snake_case. Verbs like create, delete, update, get, list, publish, unpublish, insert, trigger, search, resolve, whoami, push, and export are well-chosen and predictable. Minor exceptions like 'coda_get_analytics_updated' have a non-standard noun but are still clear.

    Tool Count3/5

    With 54 tools, the server is quite large, covering an extensive API surface (docs, folders, pages, rows, columns, permissions, analytics, publishing, automation). While each tool has a purpose, the number may overwhelm agents and suggests some potential consolidation (e.g., merging some analytics tools).

    Completeness4/5

    The tool set provides comprehensive coverage for Coda's core features: CRUD for docs, folders, pages, rows, and permissions, plus analytics, publishing, automation, and utility tools. Minor gaps include no column update operations and no folder sharing management, but these are not critical for typical use cases.

  • Average 4.4/5 across 54 of 54 tools scored. Lowest: 3.6/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • No commit activity data available
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readOnlyHint, idempotentHint, openWorldHint. Description adds that it returns usage metrics and access note, consistent with no additional 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.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three short, front-loaded sentences with no redundancy.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Description is adequate given full schema coverage, output schema, and annotations. Covers purpose, access, and general output content.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%, so baseline 3. Description does not add parameter-specific details beyond what schema provides.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Clearly states action (list analytics), resource (Coda packs), and gives examples of metrics returned. However, does not distinguish from sibling analytics tools like coda_get_pack_analytics_summary or coda_list_pack_formula_analytics.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    States access restriction (pack makers only) but lacks when-not-to-use or comparison to alternatives.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description adds useful behavioral context beyond annotations: it specifies the return data (invocation counts, error rates, execution times) and notes the access restriction (pack maker only). Annotations already indicate read-only, idempotent, and open-world; description complements them without contradiction.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is three sentences: first states the purpose, second lists the return data, third notes access restriction. Every sentence adds value without redundancy, and it is front-loaded with the verb and resource.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool has an output schema and five parameters with full schema descriptions, the description sufficiently covers what the tool returns (per-formula analytics) and its access constraint. It could mention pagination implied by cursor, but the overall completeness is high.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% with clear descriptions for all parameters. The description does not add additional meaning beyond what the schema already provides, 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.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool lists analytics data for individual formulas within a pack, specifying metrics like invocation counts, error rates, and execution times. The name and description distinguish it from pack-level analytics (e.g., coda_list_pack_analytics), but there is no explicit contrast with siblings.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description mentions that the data is 'only available to the pack maker,' implying a prerequisite. However, it does not specify when to use this tool versus other analytics tools (e.g., coda_list_pack_analytics, coda_get_pack_analytics_summary) or provide guidance on alternatives.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already indicate readOnlyHint=true and idempotentHint=true. The description adds valuable behavioral context beyond annotations by stating the owner-only restriction and specifying the metrics returned. This helps the agent understand access requirements and data scope.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is two concise sentences with the key action and details front-loaded. No unnecessary words or repetition; every sentence serves a purpose.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the presence of an output schema, the description does not need to explain return values. It adequately covers purpose, availability, and the nature of the analytics. However, it could mention that results are per-page, which is already implied.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, and the description does not add meaning beyond what the schema provides for parameters. The description focuses on the output rather than parameter details, 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.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool lists analytics data for pages within a doc, specifying the verb 'list', the resource 'page analytics', and the returned metrics (views, unique views). It distinguishes from siblings by focusing on per-page metrics, though not explicitly naming alternatives.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides a key usage constraint: 'Only available to doc owners.' This gives context on when the tool can be used, but it does not offer guidance on when to choose this over other analytics tools (e.g., coda_get_doc_analytics_summary) 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.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already indicate read-only (readOnlyHint), idempotent (idempotentHint), and non-deterministic but safe (openWorldHint). The description adds the access restriction and specific return metrics, which are not conveyed by annotations. It does not disclose other traits like rate limits or pagination, but the annotations cover the safety profile adequately.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely concise, consisting of two sentences that effectively communicate the purpose, output, and access restriction. There is no unnecessary information, and the key details are front-loaded.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The description covers the core purpose, return metrics, and access restriction. However, it does not mention the optional filtering capabilities (pack_ids, is_published, date ranges) that are evident in the schema. While the schema covers these, the agent might benefit from knowing that the summary can be scoped. Given the output schema exists and annotations are rich, the description is adequate but not fully complete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has 100% description coverage for all four parameters. The tool description does not provide any additional parameter information beyond what is in the schema. Therefore, it meets the baseline of 3 without adding value.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: 'Get aggregated analytics summary for packs.' It specifies the exact resources (packs) and the metrics returned (total installs, doc usage, formula invocations). This distinguished it from sibling tools like coda_list_pack_analytics, which provide per-pack detail, and coda_get_doc_analytics_summary, which is per-doc.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description mentions the access restriction ('Only available to pack makers'), which helps the agent determine when not to use it. It implies the tool is for aggregated data rather than per-pack analytics via the phrase 'summed across packs', distinguishing it from list tools. However, it does not explicitly state when to use this over alternatives or provide when-not scenarios.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The annotations indicate this is a mutation (readOnlyHint=false) and may have side effects (openWorldHint=true). The description adds that it returns ID and metadata, but does not disclose any additional behavioral traits like permission requirements 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.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise with two sentences, front-loaded with the purpose and followed by a useful usage hint. No unnecessary words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's simplicity and the presence of an output schema, the description adequately explains the action and how to use the result. The mention of workspace and folder ID provides sufficient context for an agent.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has 100% coverage, so the description does not need to add detail. It does not elaborate on the parameters beyond what the schema provides, warranting a baseline score of 3.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool creates a new folder in a workspace, specifies that it returns ID and metadata, and differentiates from other tools like coda_create_doc and coda_update_folder.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides usage context by suggesting to use the returned folder ID with coda_create_doc for organization. However, it does not discuss when not to use this tool or mention alternatives like coda_update_folder.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already indicate a write operation (readOnlyHint=false). The description adds behavioral context beyond annotations by stating that pack formulas cannot be inserted and that pages are created at top level unless parent_page_id is specified. This is useful for the agent.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise with 5 sentences, front-loaded with the core purpose, and every sentence adds value. No redundant or vague statements.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the output schema exists, the description correctly omits return details. It covers creation behavior, optional content, and nesting. However, it lacks information on error conditions, permission requirements, or uniqueness constraints, which would be helpful for a creation tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%, so baseline is 3. The description restates some schema info (e.g., content_format for HTML/markdown) but adds no new per-parameter semantics beyond a general note about pack formulas. It does not enhance understanding of each parameter beyond what the schema already provides.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb 'create' and resource 'page', and distinguishes from siblings like coda_create_doc and coda_create_folder by specifying it creates a page within a doc. Additional details about optional content and nesting further clarify the purpose.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage for creating a new page but provides no explicit guidance on when not to use it or how to choose between alternatives like coda_update_page. The mention of top-level vs nested creation gives some context, but lacks comparative guidance.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds that the value is computed by Coda and reflects the latest state, which provides some behavioral context but goes beyond annotations only minimally.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three concise sentences that front-load the main purpose, then list returned fields, then provide usage guidance. No unnecessary words or redundancy.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the simple tool (2 string params, output schema present), the description covers the core purpose, returned data, and how to discover formulas. It could optionally mention error cases or case sensitivity, but overall it's sufficiently complete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% with clear descriptions for both parameters (doc_id and formula_id_or_name). The description adds no extra meaning beyond what the schema already provides, so baseline of 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states the tool gets the current value of a named Coda formula, enumerating returned fields (name, ID, type, value, error status). It distinguishes itself from sibling tool coda_list_formulas by directing users to that tool for discovery.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description tells when to use this tool (get a formula's value) and explicitly recommends coda_list_formulas as an alternative for discovering formulas. However, it does not mention when to avoid this tool or provide other exclusion criteria.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations indicate readOnlyHint=false (write operation), and the description adds that the tool fires the automation, optionally passes a payload, and returns a requestId. It clarifies the need for an API-triggerable event type, adding behavioral context beyond annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise with five short, clear sentences. It is front-loaded with the main action ('Trigger a Coda automation rule') and avoids unnecessary words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's simplicity and the presence of an output schema (implied by context signals), the description covers prerequisites, parameter guidance, and return value (requestId) adequately. No additional context seems needed for an agent to use this tool correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%, so baseline is 3. The description adds value by explicitly mentioning the optional JSON payload and explaining how to find the rule_id, which is not detailed in the schema descriptions.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states it triggers a Coda automation rule using verbs like 'Trigger' and 'Fires'. It distinguishes the resource (automation rule) but does not explicitly differentiate from sibling tools like coda_push_button, which might serve 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.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description mentions a prerequisite (automation must have API-triggerable event type) and notes the rule_id location, providing context for when to use. However, it lacks explicit when-not-to-use scenarios or guidance on alternatives among sibling tools.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Description adds value beyond annotations by stating 'Returns the updated folder metadata' and confirming idempotency (matches annotation). It does not contradict annotations and provides useful behavioral context about output, though it omits details on handling null name or partial updates.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is short (4 sentences) but has slight redundancy between the first two sentences. It is front-loaded with the core action, making it efficient. Minor redundancy prevents a higher score.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a straightforward rename operation, the description covers purpose, return value, and idempotency. With a full input schema, output schema, and annotations, the description is sufficiently complete for an agent to invoke correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% with clear parameter descriptions. The description adds only the context that the update is a rename, which is minimally additive. Baseline 3 is appropriate as the schema already carries the burden.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description explicitly states 'Update a folder's name' and 'Renames the specified folder', providing a clear verb-resource pairing with specificity to folder renaming. It distinguishes from sibling folder tools (create, delete, get) by focusing solely on name updates.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage for renaming a folder but does not explicitly state when to use this tool versus alternatives (e.g., use for renaming, not for other folder properties). No exclusions or contextual guidance for sibling tools is provided, leaving some ambiguity.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations indicate readOnly, idempotent, and openWorld hints. The description adds behavioral context: column IDs are internal identifiers and should not be used for row data; names should be used instead. This goes beyond annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three concise sentences with no filler. The key purpose is stated first, followed by useful behavioral and usage hints. Every sentence earns its place.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The description explains what the tool returns, how to use the output (use column names for row data), and when to call it (before insert/update). With an output schema present, it provides sufficient context for an agent to invoke correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% and parameter descriptions in the schema are already clear. The description does not add new semantic details about parameters like doc_id or table_id_or_name beyond what's in the schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states it lists all columns in a Coda table and returns metadata (name, ID, type, configuration). While it doesn't explicitly differentiate from sibling tool coda_get_column, the verb 'list' and context imply it returns all columns vs a single one.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explicitly advises calling this before inserting or updating rows to know available columns and types. It provides clear context but does not mention exclusions or alternatives.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations declare readOnlyHint, idempotentHint, and openWorldHint, which already indicate safety. Description adds that the tool returns metadata including name, ID, type, and current value, providing useful behavioral context beyond annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Description is four sentences, front-loaded with the purpose. Every sentence adds value: purpose, returned metadata, definition of controls, and alternative tool. No waste.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple listing tool with an output schema, the description explains what is returned. Combined with annotations and schema, it provides a complete picture. No gaps.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    All parameters are described in the input schema (100% coverage). Description does not add extra meaning beyond what is already in the schema, so baseline score of 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states the tool lists all controls (sliders, select lists, etc.) in a Coda doc. It distinguishes from sibling coda_get_control by specifying that the latter reads a specific control's current value. The purpose is clear and specific.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Description indicates when to use this tool ('list all controls') and mentions an alternative (coda_get_control). Does not explicitly state when not to use it, but the context is clear enough.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readOnlyHint, idempotentHint, openWorldHint, so the read-only nature is clear. The description adds behavioral context by specifying the doc-level scope and examples of settings, which is valuable beyond annotations. No contradictions.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is two sentences with no wasted words. The first sentence states the core purpose, and the second provides illustrative examples and scope clarification. Efficient and well-structured.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the single parameter, existing annotations, and presence of an output schema, the description is sufficiently complete. It explains what administrative settings are and contrasts with individual permissions, covering essential context for an admin tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The parameter doc_id is fully described in the input schema (100% coverage). The description does not add additional semantic details beyond what the schema provides, 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.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool retrieves ACL settings for a Coda doc, using a specific verb ('Get') and resource. It lists examples of returned settings (copying, editor permissions, default access) and distinguishes from siblings by noting these are administrative settings, not individual permission entries.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies appropriate use by contrasting admin-level settings with individual permissions, suggesting an alternative tool (like coda_list_permissions) for the latter. However, it does not explicitly name an alternative or provide when-not scenarios, leaving minor room for ambiguity.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readOnlyHint and idempotentHint, and the description adds that it returns 'total views, unique viewers, copies, and other metrics summed across all accessible docs.' This provides behavioral context beyond the annotations. It could mention that results depend on the user's access, but it is overall clear.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely concise: two sentences. The first sentence states the action and result, and the second provides usage guidance with an alternative. No unnecessary words, perfectly front-loaded.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given that the tool has an output schema (likely detailing the returned metrics) and annotations covering safety and idempotence, the description is reasonably complete. It mentions the aggregated metrics and distinguishes from per-doc analytics. It could be more explicit that it aggregates over 'all accessible docs,' but that is implied. Overall sufficient.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    All three parameters (is_published, since_date, until_date) have descriptions in the input schema (100% coverage). The tool description does not add any further semantics for these parameters; it only mentions the aggregated metrics returned. Since the schema already documents the parameters, a score of 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: 'Get aggregated analytics summary across all docs.' It specifies the resource (analytics summary) and scope (all docs). It also distinguishes from the sibling tool coda_list_doc_analytics, which is listed in the siblings. The verb 'Get' combined with the resource makes it unambiguous.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides explicit usage guidance: 'Use this for a high-level overview — use coda_list_doc_analytics for per-doc breakdown.' It tells when to use this tool and when to use an alternative. However, it does not mention any prerequisites or cases where this tool should not be used, but the alternative is clearly stated.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already indicate readOnlyHint, idempotentHint, openWorldHint. Description adds that the tool returns an ACL list with principal and permission type, which is behavioral context beyond annotations. No contradictions.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Description is four sentences, front-loaded with the primary purpose. No unnecessary words, each sentence adds value.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Tool has 3 parameters and an output schema. Description explains return values (list with principal and permission type) and mentions pagination indirectly via cursor parameter in schema. Missing explicit explanation of cursor pagination but overall complete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, with each parameter already described in the input schema. The description does not add extra parameter details but reinforces the tool's purpose. Baseline 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states 'List all permission entries (ACL) for a Coda doc.' It uses specific verb 'list' and resource 'permission entries for a Coda doc', distinguishing it from siblings like coda_add_permission and coda_delete_permission.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Description explains that the tool returns who has access and their access level, and mentions related tools for granting or revoking permissions. It provides context for when to use this tool but does not explicitly state 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.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already provide readOnlyHint, idempotentHint, and openWorldHint. The description adds valuable behavioral context: 'Returns row data with column values. By default uses column names (not IDs) for readability.' and 'Results are paginated — pass cursor to get the next page.' This supplements the annotations without contradiction.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is compact and efficient: four sentences, each adding essential information. It starts with the main purpose, then details, then pagination, and finally an alternative tool reference. No redundant or unnecessary text.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool has 8 parameters, pagination, filtering, sorting, and an output schema (not shown but referenced in context), the description covers the key usage aspects: filtering, sorting, default column naming, pagination, and distinction from get_row. It doesn't need to explain return values since the output schema exists. Minor omissions: no mention of open-world behavior (covered by annotation) and no explicit note about result limits (schema has min/max). Overall complete for practical use.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has 100% coverage, so all parameters are already described. The description mentions the query parameter for filtering and the use_column_names default, but does not add significant meaning beyond the schema. The schema descriptions for parameters like sort_by and limit are already clear. Baseline of 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'List rows in a Coda table with optional filtering and sorting.' This is a specific verb+resource combination. It also distinguishes from the sibling tool coda_get_row by noting 'For a specific row by ID, use coda_get_row instead.' The purpose is unambiguous and differentiated.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explains when to use the tool (listing rows with filtering/sorting) and when not (for a specific row, use coda_get_row). It mentions pagination and how to handle it with the cursor parameter. However, it does not explicitly mention alternatives for row mutation (e.g., coda_insert_rows, coda_update_row, coda_delete_row), but the context is clear enough for a listing tool.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations provide destructiveHint and readOnlyHint. The description adds context beyond annotations, noting reversibility and the effect on the public URL. No contradictions with annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is very concise with front-loaded main action and no unnecessary words. Every sentence adds value.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given a single parameter, annotations, and existence of output schema, the description covers the tool's function, effect, and reversibility. It lacks explicit error conditions or prerequisites but is otherwise complete for a simple tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% with a clear description for doc_id. The tool description does not add additional meaning to the parameter beyond what the schema already provides.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb 'Unpublish' and the resource 'Coda doc', explains it removes public access and reverts to private. It distinguishes from sibling coda_publish_doc by indicating it is the reverse operation.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description says it reverts a previously published doc and mentions the public URL will stop working. It also notes reversibility via coda_publish_doc, providing clear context for when to use and an alternative. However, it does not explicitly state prerequisites or when not to use.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already provide readOnlyHint=false and idempotentHint=true. The description adds context by confirming idempotency and clarifying what the tool does not affect (page content). This complements the annotations without contradicting them.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise with four sentences, each serving a distinct purpose: stating general action, specifying updated fields, excluding page content with sibling reference, and noting idempotency. No redundant or unnecessary information.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool has 3 params, full schema coverage, output schema, and good annotations, the description covers key aspects: what it updates, what it doesn't, and idempotency. It lacks error conditions or prerequisites, but overall is sufficiently complete 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.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%, so the schema already describes the parameters. The description mentions 'title and/or icon' matching the parameters, but adds no additional semantic meaning beyond what the schema provides. Since schema does the heavy lifting, baseline 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Update metadata for an existing Coda doc' and specifies what is updated (title and/or icon). It explicitly distinguishes from sibling tools by stating 'Does NOT update page content — use coda_update_page for that', making the purpose unambiguous.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides explicit guidance on when to use this tool (for updating doc title/icon) and when not to (for page content, use coda_update_page). It also mentions idempotency, which informs usage. However, it does not elaborate on prerequisites or context beyond that.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already indicate destructiveHint=true; description adds 'permanently removes' and 'irreversible', reinforcing and contextualizing the destructive nature. No contradiction.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Description is relatively concise with 5 sentences, each adding value. Front-loaded with the core purpose, though could be slightly tighter.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Covers purpose, irreversibility, verification, and bulk alternative. With an output schema present, return values are covered. Missing auth/permission hints, but acceptable for this tool's simplicity.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so the schema already documents all parameters. The tool description adds no further parameter details, staying at baseline.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Clearly states 'Delete a single row from a Coda table' using a specific verb and resource. Distinguishes from sibling coda_delete_rows for bulk deletion, making the purpose unambiguous.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly advises verifying before deletion and directs to coda_delete_rows for bulk operations. Provides clear when-to-use and when-not-to-use guidance with alternatives.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description states that the value reflects the current user-facing state, adding context beyond the annotations (readOnlyHint, idempotentHint, openWorldHint). No contradictions are present, and the description complements the annotations well.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is three sentences, front-loaded with the primary action, and includes only essential information. No fluff or redundancy.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the presence of an output schema and annotations, the description covers the tool's behavior and return values adequately. It also mentions the relationship with a sibling tool, providing sufficient context for a getter tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so the schema already documents both parameters. The description adds minimal extra meaning beyond implying the doc and control identification, but it does not introduce new semantic details. Baseline 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description specifies the verb 'get', the resource 'control', and identifies the tool's purpose: retrieving the current value of a control in a Coda doc. It lists return fields and control types, distinguishing it from sibling tools like coda_list_controls.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description clearly indicates when to use the tool—to get a control's current value—and directs users to coda_list_controls for discovering controls. It lacks explicit 'when not to use' guidance but provides adequate context for the primary use case.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations indicate readOnlyHint=true and idempotentHint=true, but the description adds behavioral details: returns a completed boolean and error details, and specifies polling behavior (2-second intervals, 30-second timeout). This goes beyond what annotations provide, making the tool's behavior transparent.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely concise: three sentences that front-load purpose, then context, then behavior. No redundant or extraneous information.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple polling tool with one parameter, the description covers all necessary aspects: what it does, when to use it, how to use it (polling guidance), and what it returns (completed boolean and error details). Annotations and the presence of an output schema supplement the description without missing gaps.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The single parameter request_id is fully described in the input schema: 'The requestId returned by a write operation (202 response)'. Since schema coverage is 100%, the description adds minimal but consistent value by reinforcing the origin of the request_id.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Check the status of an asynchronous mutation (write operation)', providing a specific verb+resource combination. It uniquely identifies the tool's function among siblings like coda_get_doc or coda_get_row, which are for synchronous reads.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explains the context: 'Coda write operations return 202 with a requestId' and directs to 'Use this tool to poll whether the mutation has completed, is still processing, or failed.' It also provides polling parameters: 'Poll every 2 seconds, up to 30 seconds maximum.' While it doesn't explicitly state when not to use, the guidance is clear and sufficient.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. Description adds valuable behavioral context: returns content in HTML or markdown, marks markdown as lossy for complex content. This goes beyond the annotations to inform agent behavior.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three short sentences, front-loaded with purpose, no filler. Every sentence provides necessary information: purpose, output format, usage guidance and lossy warning.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool has 3 fully described parameters, annotations for safety and idempotency, and an output schema (present but not shown), the description completes the picture by explaining the return content type and usage differentiation. No gaps identified.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so baseline is 3. The description mentions 'in the specified format' referencing output_format, but does not add new semantic information beyond the schema's enum and descriptions. No improvement over schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Get the text content of a page in a Coda doc' with a specific verb and resource. It also distinguishes from the sibling tool coda_get_page by noting that the latter is for metadata only.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides explicit guidance: 'Use this for reading page text — use coda_get_page for metadata only.' It also mentions that markdown output may be lossy, implying when HTML might be preferred. Could be slightly more explicit about when to choose each format, but overall clear.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readonly and idempotent behavior. The description adds value by detailing the specific metadata returned (name, ID, type, row count, etc.) and confirming what is excluded, without contradicting annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is only two sentences, with the purpose and scope front-loaded. Every sentence adds essential information with no redundancy or unnecessary words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    With an existing output schema, the description appropriately focuses on what is not returned. Given the tool's simplicity (2 parameters, no enums) and the annotations covering safety, the description is complete and leaves no critical gaps.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema already provides 100% coverage with descriptions for both parameters (doc_id, table_id_or_name). The description does not add further parameter-level detail, so baseline 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb 'Get metadata' for a single table or view, lists the returned fields, and explicitly contrasts with sibling tools like coda_list_rows and coda_list_columns, making the tool's purpose highly specific and distinct.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides explicit guidance on when not to use this tool (e.g., for row data or column definitions) and suggests alternatives, though it could more explicitly state when the tool should be preferred over similar metadata tools like coda_get_doc.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds that it returns metadata (name, ID, parent folder) and gives context about folders organizing docs, but does not disclose additional behavioral traits such as pagination 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.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three concise sentences: purpose, return description, and usage hint. Front-loaded and no excess verbiage.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given no parameters, rich annotations, and an existing output schema, the description is complete. It explains the tool's purpose, return contents, and downstream usage.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    No parameters exist, so the description adds no parameter-specific semantics. Baseline for 0 parameters is 4, and the description does not need to compensate further.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'List all folders accessible to the current API token,' using a specific verb and resource. It distinguishes from siblings like coda_get_folder by focusing on listing all folders.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Provides context by noting that returned folder IDs can be used with coda_create_doc, but does not explicitly state when to use this tool versus alternatives like coda_get_folder.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readOnlyHint, idempotentHint, openWorldHint. Description adds useful behavior: pages returned in tree order, metadata only, IDs to use. No contradiction.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three concise sentences, front-loaded with purpose, no unnecessary words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given output schema exists, description covers what is returned (metadata, no content) and how to use results. Adequate for a 3-parameter tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%, so baseline is 3. Description does not add semantics beyond what's in the schema for doc_id, limit, cursor.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Clearly states it lists pages in a Coda doc, returns metadata, and explicitly distinguishes from coda_get_page_content by stating it does NOT return content. Verb and resource are specific.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly says when to use (listing pages) and when not to (for content, use coda_get_page_content). Also advises to use returned page IDs for subsequent operations, but does not cover all possible alternatives among siblings.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Discloses that doc becomes publicly accessible and returns URL/settings. Annotations already indicate write operation; description adds side effects and reversible action.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three concise sentences with front-loaded purpose. No unnecessary words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Tool has output schema and full parameter coverage. Description provides essential context: public access, optional settings, and revert option. Complete for its complexity.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%, so baseline is 3. Description mentions slug and gallery listing, but not mode or categories. Schema descriptions cover these.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Clear verb+resource: 'Publish a Coda doc'. Explicitly states making it publicly accessible, and distinguishes from sibling 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.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Provides context for when to use and mentions the revert tool (coda_unpublish_doc). Could include prerequisites like ownership, but adequate.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readOnly, idempotent, and openWorld hints. Description adds that output includes a 'type' field and corresponding IDs, providing useful behavioral context beyond annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two short, clear sentences. No fluff. Every sentence adds value.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given low complexity, one parameter, and presence of output schema, the description fully covers what the tool does and returns.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Only one parameter 'url' with schema coverage 100%. Schema already describes the URL format; description adds purpose context but not new parameter-level detail. Baseline 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states the tool resolves a Coda browser URL to API resource IDs. It uses specific verbs and resources, and differs from all sibling tools, which are CRUD operations.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly advises use as the first step when a user provides a URL instead of IDs. While it doesn't enumerate when not to use it, the guidance is clear and actionable.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already provide readOnlyHint and idempotentHint. The description adds that results include principal type, email, and name. It does not contradict annotations and provides useful 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.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is three concise sentences with no unnecessary words. It is front-loaded and every sentence adds value.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    With output schema present, the description adequately covers the tool's purpose and usage. It mentions what results include, and the annotations cover safety. No gaps identified.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% with adequate descriptions for both parameters. The description does not add extra semantics beyond what the schema provides, so baseline score is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly uses the verb 'search' with the resource 'principals' and specifies the context: users and groups for doc permissions. It distinguishes from siblings by explicitly mentioning use before coda_add_permission.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description states to use this tool to look up user email or find groups before calling coda_add_permission, providing explicit context. It does not explicitly state when not to use it, but the guidance is clear.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations indicate readOnlyHint=false (modifying) and the description elaborates on the effect (granting access, removing implicit access with 'none') and the return of the created entry. No contradiction; it adds value beyond annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise with three sentences, front-loading the primary action. Every sentence provides necessary information without redundancy.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the presence of output schema and annotations, the description covers the main functionality, constraints, and return type. It might benefit from mentioning required permissions but is adequate for agent use.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% so parameters are already documented. The description adds value by clarifying mutual exclusivity of principal_email and principal_domain and the effect of the 'none' access level, which are not in the schema descriptions.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Add a permission entry to a Coda doc' with specific verb and resource. It explains the action (granting access by email or domain) and distinguishes from sibling tools like delete_permission by its focus on adding permissions.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides explicit usage constraints: 'Specify either principal_email or principal_domain (not both)'. It does not explicitly contrast with alternatives but the mutual exclusivity guidance is clear and helpful for correct invocation.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already indicate readOnlyHint, idempotentHint, and openWorldHint. Description adds valuable detail about exactly what metadata is returned, enhancing transparency beyond annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences, no wasted words; first sentence states purpose, second provides guidance and return summary.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given output schema exists and annotations cover safety, description sufficiently explains what the tool does and how to use it, though it could mention that folder_id must be obtained from list_folders.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 100% schema coverage and the schema description already explaining folder_id, the description adds no additional parameter semantics beyond what the schema provides.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states 'Get metadata for a single folder' and lists the specific data returned (name, ID, parent, child items), distinguishing it from sibling tool coda_list_folders.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Description explicitly advises to use coda_list_folders first to discover available folders, providing clear usage context.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already mark the tool as read-only, idempotent, and open-world. The description adds valuable behavioral context: what specific fields are returned, that it excludes text content, and that page names are unstable. No contradictions with annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three concise sentences: first states purpose, second lists returns and exclusions, third gives best practice. No fluff, every sentence earns its place. Front-loaded with the core purpose.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the presence of an output schema, the description is complete enough. It covers functionality, return fields, a limitation, and a usage tip. Could mention error handling, but not required for basic completeness.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Both parameters have full descriptions in the input schema (100% coverage). The description adds extra semantic value by explaining why page IDs are preferred over names for page_id_or_name, which aids correct tool invocation.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool gets metadata for a single page, lists the returned fields (name, ID, parent, subtitle, icon, image), and explicitly states it does NOT return page text content. It also distinguishes itself from coda_get_page_content, making the purpose unambiguous.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides clear when-to-use guidance by directing users to coda_get_page_content for text content and advising to use page IDs over names. While it does not explicitly mention alternatives for listing pages, the advice given is actionable and sufficient for correct usage.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations indicate mutation (readOnlyHint=false) and open-world input. The description adds that it returns the new doc's ID, name, and URL, and respects folder placement, providing useful 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.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise at 4 sentences, front-loaded the key purpose, and uses clear, direct language with no unnecessary words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the simple tool with 3 parameters and an existing output schema, the description covers all essential aspects without needing to repeat return value details.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%, so baseline is 3. The description adds meaning by explaining that source_doc clones an existing doc as a template and that folder_id defaults to root, beyond the schema descriptions.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Create a new Coda doc' and details the two modes (blank or copy), distinguishing it from sibling tools like coda_create_folder and 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.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explains when to use the tool (create blank or copy) and mentions folder placement, but does not explicitly state when not to use it or provide alternatives.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations indicate destructiveHint=true, and the description explicitly states the folder is permanently removed. It also discloses that docs inside may be moved or deleted, adding valuable behavioral context beyond annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is three sentences with no extraneous information. It front-loads the action and return, then adds behavioral details and a recommendation. Every sentence earns its place.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the schema covers the parameter fully, annotations provide destructive hint, and an output schema exists, the description completes the picture by explaining return value, permanence, and effects on documents. It fully equips the agent.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema already describes folder_id as 'The folder ID to delete' with 100% coverage. The description does not add further parameter semantics beyond what the schema provides, 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.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool deletes a folder from the Coda workspace, using a specific verb and resource. It distinguishes from sibling tools like coda_create_folder, coda_update_folder, and coda_delete_doc by focusing solely on deletion.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description advises verifying the folder with coda_get_folder before deletion, and notes potential consequences for docs inside. While it does not explicitly exclude alternative tools, it provides prudent context for when to use this tool.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description adds significant behavioral context beyond annotations: 'irreversible — the page and all its content will be removed. Child pages are reparented to the deleted page's parent.' This goes beyond the destructiveHint annotation.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three sentences, front-loaded with the purpose. Each sentence adds necessary information without fluff. Highly efficient.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the destructive nature and the presence of output schema, the description is complete. It explains irreversibility, child page behavior, and gives a precaution. No gaps.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%, so baseline is 3. The description does not add any additional meaning to the parameters beyond what the schema provides.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: 'Permanently delete a page from a Coda doc.' This is a specific verb+resource combination that distinguishes it from sibling tools like coda_delete_doc or coda_delete_folder.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description advises to 'Verify the page name with coda_get_page before calling this,' providing clear context for use. It does not explicitly name alternatives but the context implies when to use this tool versus other delete tools.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Adds behavioral context beyond annotations: states analytics are not real-time and updated every few hours. Annotations already indicate readOnly and idempotent, but description enhances understanding of staleness.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three sentences efficiently convey purpose, result, and usage caveat. No redundancy, front-loaded with the goal.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given no parameters and presence of output schema, description fully covers what the tool does, what it returns, and when to use it. Complete for its simplicity.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    No parameters, so description does not need to add parameter info. Baseline 4 applies as schema coverage is 100% trivially.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Clear verb 'Get' and specific resource 'timestamp of when analytics data was last updated'. Distinguishes from sibling analytics tools like summaries and lists by focusing on freshness check.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly advises checking this before relying on analytics for time-sensitive decisions, providing clear context for when to use. Does not mention alternatives but context is sufficient.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare the tool as read-only, idempotent, and open-world. The description adds context about what is returned (name, ID, type, format, configuration details), which helps the agent understand the output beyond the annotations. No contradictions with annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely concise—just three sentences—with no wasted words. It front-loads the core purpose and immediately provides actionable guidance.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the low complexity, the presence of an output schema, and the clear description of return fields, the description is complete. It covers what the tool does, when to use it, and what it returns, requiring no additional context.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%, meaning all parameters are described in the schema. The description does not add additional semantic details beyond what is already in the schema, so it meets the baseline of 3.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: 'Get metadata for a single column.' It specifies the verb ('Get'), the resource ('metadata for a single column'), and differentiates from the sibling tool 'coda_list_columns' by noting that the latter provides the full column schema.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides explicit usage guidance: 'Use this to check a specific column's type before writing data to it.' It also tells when to use the alternative ('For the full column schema, use coda_list_columns instead'), effectively covering both when and when-not to use this tool.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readOnlyHint=true and idempotentHint=true, so safety profile is clear. Description adds that it returns all column values, which is useful but not critical.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three concise sentences: purpose, return value, and usage guidance. No extraneous text. Front-loaded with the action.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple read operation with output schema present, description covers purpose, return, and alternatives. Annotations fill in behavioral details. Complete for agent to select and invoke correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so descriptions already define each parameter. The description does not add new information beyond what the schema provides, hence baseline score of 3.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states it retrieves a single row by ID or display column value and returns all column values. It explicitly distinguishes from sibling tool coda_list_rows for querying multiple rows.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Provides explicit guidance: 'Use this when you have a specific row ID or know the display column value. For querying multiple rows with filters, use coda_list_rows instead.'

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already indicate a safe read operation (readOnlyHint, idempotentHint). The description adds that the output contains name and ID, and links to a related tool, providing useful behavioral context beyond the annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences, front-loaded with the action, and every sentence is essential. No wasted words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool has no inputs and an output schema exists, the description adequately covers the purpose and the nature of the output (name and ID). It is complete for such a simple tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    There are no parameters, and schema coverage is 100% (trivially). The description does not need to explain parameters, but it clarifies the purpose of the output, which adds value. Baseline for 0 parameters is 4.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states it lists available publishing categories in Coda, using the verb 'list' and specifying the resource. It distinguishes from sibling tools like coda_list_docs by focusing on categories for publishing.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explicitly mentions using the returned category IDs with coda_publish_doc, providing clear context. It does not explicitly state when not to use it, but the reference to the sibling tool is helpful.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare read-only, idempotent, and open-world. Description adds ownership requirement and data scope (date range, engagement metrics), complementing annotations without contradiction.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Very concise: 4 short sentences, each adding essential info. Purpose in first sentence, metrics in second, restriction in third, alternative in fourth. No wasted words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given full schema coverage, presence of output schema, and comprehensive annotations, the description covers purpose, usage, restrictions, and alternatives. Adequate for tool selection.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%, so description adds minimal value beyond parameter names and types. It implies date-range filtering, but schema already covers that. Baseline 3 appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states it lists analytics data for docs with specific metrics (views, copies, likes, sessions). It distinguishes from sibling tool 'coda_get_doc_analytics_summary' by noting aggregated totals vs per-doc breakdown.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly states availability only to doc owners and provides a clear alternative for aggregated totals via 'coda_get_doc_analytics_summary', guiding appropriate tool selection.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already indicate readOnly and idempotent behavior; the description adds that it returns metadata but not row data, which is valuable context beyond annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three concise sentences front-load the purpose, then describe returns and alternatives with zero waste.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a list tool with robust annotations and output schema, the description fully covers purpose, scope, exclusions, and alternatives, making it complete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Input schema has 100% coverage, so parameter details are already well-defined. The description adds no additional parameter semantics, justifying a baseline score of 3.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states it lists tables and views, which is specific and distinguishes from sibling tools like coda_list_rows and 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.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly notes that row data is not returned and directs users to coda_list_rows for that, and to coda_list_columns for column schema, providing clear when-to-use guidance.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description discloses that only specified columns are modified while others remain unchanged, and that it returns a requestId for async mutation tracking. This adds behavioral context beyond the annotations (idempotentHint, openWorldHint). No contradiction with annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is very concise, with three front-loaded sentences that cover purpose, behavior, and usage guidance. Every sentence adds value without redundancy.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the presence of an output schema (not shown but indicated), the description adequately covers the tool's behavior, parameters, and return value (requestId). It is complete for an update operation with good annotations.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 100% schema description coverage, baseline is 3. The description provides an example for the 'cells' parameter showing the format {column: name, value: val}, which adds valuable meaning beyond the schema's generic description.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states it updates a single row in a Coda table, specifying that only specific column values are changed. It distinguishes itself from sibling tools like coda_insert_rows by noting that for bulk updates, that tool should be used instead.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description advises using column names instead of IDs, and explicitly mentions an alternative tool (coda_insert_rows) for bulk upsert. It lacks explicit exclusion conditions but provides clear guidance on when to use the alternative.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already provide readOnlyHint, idempotentHint, openWorldHint. The description adds behavioral context: it returns user info, checks token validity, and errors indicate token issues. No contradictions.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three sentences total, front-loaded with the purpose, then returning to detail, then usage. Every sentence is necessary; no fluff.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Output schema exists, and the description covers what is returned (name, email, scopes). For a simple read-only verification tool, this is fully complete without needing additional context.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    No parameters exist, and schema coverage is 100%. The description does not need to explain parameters. Baseline for zero-parameter tools is 4, and the description meets that.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb ('Get information') and resource ('current API token owner'), and lists the returned fields (name, email, token scopes). It clearly distinguishes this identity/verification tool from all sibling tools which operate on docs, pages, rows, etc.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly states when to use ('verify that the API token is valid and has the expected permissions') and what happens on error (token invalid/expired). Does not explicitly list when not to use or name alternatives, but the context is self-explanatory.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Describes async initiation, immediate content for small pages, and polling for large pages. Annotations (readOnlyHint, openWorldHint) are consistent.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Concise two-paragraph description with front-loaded purpose, clear structure, no unnecessary words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Covers key aspects: purpose, usage, async behavior, polling. Missing some details like error handling or prerequisite checks, but sufficient for the complexity.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema covers 100% of parameters with descriptions. Description does not add new parameter details, but mentions output format context; adequate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Clearly states the tool exports a page's content with async behavior, and distinguishes from coda_get_page_content for quick reads.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly says when to use (full export with embedded images) and when not (prefer coda_get_page_content for quick reads), including polling instructions.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description adds significant behavioral context beyond annotations: explains that updates can be metadata-only or content updates, outlines replace/append modes, warns against partial inline edits, specifies format consistency, and mentions return value. No contradiction with annotations (readOnlyHint=false, idempotentHint=true, openWorldHint=true).

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is very concise with two short paragraphs. The first sentence immediately states the core purpose. Every subsequent sentence adds essential detail without fluff. No redundant or wasted words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the complexity (7 parameters, output schema, few enums), the description is quite complete: covers what can be updated, modes, format, and return value. It could briefly mention that doc_id and page_id_or_name are required or that updates are idempotent (annotations already signal idempotency), but overall it suffices.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%, so baseline is 3. The description adds value by explaining the behavioral implications of parameters (e.g., 'replace' overwrites entire page, 'append' adds to end) and the requirement that content format matches. This goes beyond the schema descriptions.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool updates a page's name, subtitle, or content in a Coda doc, distinguishing it from create, delete, and other page-related tools. The verb 'update' and resource 'page' are 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.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides explicit guidance on when to use (to update page metadata/content) and how to use (modes: replace vs append, draft full content locally, matching format). It does not mention when not to use or list alternatives, but the context with siblings implies differentiation.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Discloses that only text content is removed, page and metadata remain, and action is irreversible. Adds value beyond annotations which only indicate destructiveness.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Four sentences, front-loaded with main action, no unnecessary information.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    With full schema coverage and output schema, description fully explains behavior and distinct from sibling, covering all needed context.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema provides descriptions for both parameters with 100% coverage; description adds no additional parameter meaning, meeting baseline.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states it deletes all content from a page, leaving it blank, and distinguishes from coda_delete_page which removes the page entirely.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly tells when to use this tool (to clear content) vs coda_delete_page (to remove page), and notes irreversibility.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description transparently discloses the behavioral traits: it returns metadata about sharing configuration. Annotations already indicate read-only, idempotent, and open-world behavior, and the description complements them by specifying exactly what the tool returns, without contradiction.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise, containing only three sentences. It is front-loaded with the main purpose, then specifies return information, and ends with a sibling differentiation. No extraneous content.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    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, clear output schema), the description is complete. It covers purpose, return type, and usage context. Annotations and schema cover the rest.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema covers the single parameter (doc_id) with a description. The tool description does not add additional semantics beyond what the schema already provides, 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.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states it gets sharing metadata for a Coda doc, specifying the exact information returned (sharable, copiable, restrictions). It also distinguishes from coda_list_permissions, making the purpose unmistakable.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explicitly tells when to use this tool (to get sharing configuration metadata) and when not (use coda_list_permissions for access list). This provides clear guidance on tool selection.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Discloses async operation (202), returns requestId for status tracking, and upsert behavior. Annotations indicate write and open world, and description adds specific behavioral details without contradiction.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three concise sentences, each essential: purpose and upsert variant, limit and column name guidance, async behavior and return value. Efficiently front-loaded.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Covers main use case, limits, async nature, and return value. Output schema exists, so no need to detail return shape. No significant gaps.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema has 100% coverage with good descriptions; description adds extra guidance about using column names vs IDs, which adds value beyond schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Clearly states the action 'insert rows' and the resource 'Coda table', with optional upsert. Distinguishes from siblings like coda_update_row by noting 'only way to bulk-update rows'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Provides explicit context: limit of 500 rows, use column names not IDs, upsert via key_columns. While it doesn't mention alternatives for single-row operations, it implies the distinction.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readOnlyHint, idempotentHint, openWorldHint. Description adds rate limit info and that it returns metadata, which is consistent and adds value beyond annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Four sentences: first states purpose, second describes return, third notes what it does not include and alternatives, fourth covers rate limit and parameter hints. No redundant information.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given output schema exists, description adequately covers purpose, exclusions, alternatives, rate limit, and parameter usage. Complete for a list tool with good annotations.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% so baseline is 3. Description adds usage context for query and cursor parameters, explaining how to search by name and paginate, which is extra value beyond the schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Clearly states 'List Coda docs accessible to the current API token' with specific verb and resource. Distinguishes from siblings by noting it does not return page content or table data, and mentions alternatives like coda_list_pages and 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.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly tells when to use (to list docs), when not to (for page/table content), and names alternative tools. Also mentions rate limiting (4 calls per 6 seconds) and parameter usage hints for query and cursor.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Description adds context beyond annotations by explaining that named formulas are doc-level computed values (not column formulas) and describing the return metadata. Consistent with readOnlyHint and idempotentHint.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three concise sentences, front-loaded with the main action, then supporting details. No extraneous information.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the output schema exists and all parameters are documented in the schema, the description fully covers what the tool does, what it returns, and how it relates to siblings.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% with descriptions for all 3 parameters. The description does not add additional parameter-level detail beyond what the schema already provides.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool 'list all named formulas in a Coda doc' with specific verb and resource. It distinguishes from column formulas and points to an alternative tool (coda_get_formula) for specific formula retrieval.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly tells when to use this tool (list all) and when to use the alternative coda_get_formula (get specific formula). Provides clear context for selecting the right tool.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description adds that the effect depends on the button's configuration and returns a requestId for async mutation tracking, disclosing important behavioral traits beyond annotations which only indicate readOnlyHint=false and openWorldHint=true. No contradiction.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Four sentences with no fluff. The first sentence states the primary purpose. Each subsequent sentence adds necessary detail without redundancy.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's complexity (4 required params, async behavior, config-dependent effects), the description covers purpose, usage, behavioral notes, and return value (requestId for tracking). Output schema exists but its details are not needed.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Input schema has 100% description coverage, so baseline is 3. The description adds the context that the button must be in a Button-type column, which is not in schema descriptions, providing extra value.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb 'push' and the resource 'button in a Coda table row', and is distinguishable from sibling tools like update_row or trigger_automation.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description specifies that the button must be in a Button-type column and triggers its configured action, providing clear context for when to use the tool. It does not explicitly state alternatives or when not to use, but the context is sufficient.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description lists the exact fields returned (name, owner email, folder, timestamps, doc size) and states what is not included (page content, table data). Annotations already mark it as readOnly, idempotent, and openWorld, so the description adds useful context beyond those. No hidden behaviors are disclosed, but for a simple metadata retrieval it is sufficient.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise at three sentences. It front-loads the core purpose and immediately clarifies scope and exclusions. Every sentence earns its place with no redundancy.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's simplicity (one parameter, no nested objects, output schema present), the description is fully complete. It covers what the tool returns, what it does not, how to get parameters, and alternatives for other use cases.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has one parameter (doc_id) with 100% description coverage. The description adds context by explaining how to obtain the doc_id (from coda_list_docs or coda_resolve_browser_link), which goes beyond the schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Get metadata for a single Coda doc by ID', which is a specific verb and resource. It immediately distinguishes itself from siblings by noting it does NOT return page content or table data, and names specific alternatives (coda_list_pages, 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.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explicitly tells when to use the tool (when you need doc metadata) and when not to (when you need pages or tables), and provides clear alternatives. It also tells how to obtain the doc_id from other tools (coda_list_docs, coda_resolve_browser_link).

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already set destructiveHint=true; description reinforces irreversibility (doc and all pages, tables, data permanently removed). Adds context beyond annotations. No contradiction.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three sentences, all essential: action, consequence, usage tip and output. No wasted words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given simple tool (one param, clear irreversible action), description covers all needed info. Output schema exists, so return values need not be explained.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Only one parameter (doc_id) with 100% schema coverage, so baseline is 3. Description adds indirect value by referencing verification step, earning a 4.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Clearly states it permanently deletes a Coda doc, using specific verb 'delete' and resource 'doc'. Distinguishes from sibling tools like coda_delete_page, 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.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly advises to verify the doc name with coda_get_doc before calling, providing a clear prerequisite and when-to-use guidance.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description discloses that revocation causes the principal to lose access unless other permissions exist, which is critical behavioral context beyond the annotations (destructiveHint=true). No contradiction with annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is four sentences, each carrying essential information: purpose, effect, nuance, and prerequisite. It is front-loaded and concise without unnecessary words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the simplicity of the tool, the description covers the operation, its implications, and how to obtain the required input. With an output schema present, no further details on return values are needed.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    While the input schema already describes both parameters with 100% coverage, the description adds value by explaining that permission_id should come from coda_list_permissions, linking the tools together and providing cross-reference information.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses the specific verb 'Remove' and resource 'permission entry' from a Coda doc, clearly distinguishing it 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.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explicitly states when to use this tool (to revoke a permission), warns about potential access through other permissions, and instructs the agent to get the permission_id from coda_list_permissions first, providing clear guidance on prerequisites and alternatives.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Adds context beyond annotations: operation is irreversible, returns a requestId for async tracking. Annotations already mark destructiveHint=true, but description reinforces permanence and async nature.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three sentences with no wasted words: purpose, irreversibility, prerequisite, async return, and performance tip. Front-loaded with the core action.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Covers all essential aspects: what it does, what it requires, what it returns, and why to use it over alternatives. For a 3-parameter destructive tool with async return, this is complete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema provides complete descriptions for all three parameters (100% coverage). Description adds practical guidance for row_ids (use list_rows to get IDs), but doesn't add new semantics for doc_id or table_id_or_name. Still, the schema is sufficient.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    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 from a Coda table in a single call', distinguishing it from sibling coda_delete_row which deletes a single row. The verb and resource are specific.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly instructs to 'List the rows first with coda_list_rows to get their IDs' and recommends this tool over coda_delete_row for performance and rate limit efficiency. Also states irreversibility, guiding appropriate usage.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readOnly, idempotent, and openWorld hints. The description adds valuable behavioral context: the 6-second sliding window, local tracking, and reset on server restart, going beyond annotation coverage.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise (4 sentences) with the primary action front-loaded. Every sentence adds value, no redundant or irrelevant information.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The tool is simple (no parameters, clear output), and the description covers purpose, usage, return values, and important caveats (local tracking, reset behavior). It is complete and self-contained.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    There are no parameters (100% schema coverage), so the description cannot add parameter details. However, it explains the return values (read/write budget), which compensates for the lack of parameter information.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Check the current rate limit budget for reads and writes', using a specific verb and resource. It is distinct from sibling tools, none of which perform this function.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly advises to use this tool 'before batch operations to avoid hitting 429 errors' and explains the rate limits (100 reads/6s, 10 writes/6s), providing clear context for when to use this tool.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

mcp-coda MCP server

Copy to your README.md:

Score Badge

mcp-coda MCP server

Copy to your README.md:

Latest Blog Posts

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/vish288/mcp-coda'

If you have feedback or need assistance with the MCP directory API, please join our Discord server