Skip to main content
Glama
Coalesce-Software-Inc

coalesce-transform-mcp

Official

Server Quality Checklist

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

  • Disambiguation3/5

    Many tools serve overlapping purposes, particularly around node creation (e.g., create_workspace_node_from_predecessor, create_pipeline_from_intent, create_node_from_external_schema, create_workspace_node_from_scratch) and run execution (start_run, run_and_wait, retry_run, etc.). While descriptions are detailed, the sheer number of similar tools makes it easy for an agent to select the wrong one, especially when subtle differences in parameters and required preconditions exist.

    Naming Consistency4/5

    Tool names predominantly follow a consistent verb_noun pattern in snake_case (e.g., analyze_impact, apply_join_condition, cache_workspace_nodes). However, the set includes a subset of tools prefixed with 'coa_' (e.g., coa_create, coa_run) that breaks the pattern, and some tools like 'pipeline_workshop_open' and 'personalize_skills' use alternative conventions. Overall, the naming within subgroups is predictable, but the mix of patterns slightly reduces coherence.

    Tool Count2/5

    With 115 tools, the server is overcrowded for its purpose, which seems to be a comprehensive Coalesce platform interface. While each tool may have a distinct function, the quantity overwhelms an agent's selection space. Many tools could be consolidated (e.g., multiple run-related tools, several cache tools), and the inclusion of internal utilities like 'clear_data_cache' and 'personalize_skills' adds unnecessary weight. A typical well-scoped server has 3-15 tools; this far exceeds that range.

    Completeness4/5

    The tool set covers a wide spectrum of the Coalesce domain: CRUD for nodes, environments, projects, jobs, subgraphs, git accounts, user roles, runs, and deployments. It also includes advanced features like lineage analysis, pipeline planning, documentation auditing, and diagnostics. Minor gaps exist (e.g., no explicit schedule management or historical run trend analysis), but the overall surface is comprehensive for most workflows.

  • Average 4.3/5 across 97 of 115 tools scored. Lowest: 3.2/5.

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

    • No community issues in the last 6 months
    • 12 commits in the last 12 weeks
    • 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, and destructiveHint false. The description adds minimal behavioral detail beyond 'Returns: Role assignments...' but does not contradict annotations.

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

    Conciseness3/5

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

    The description is short but includes a redundant parameter list. It is front-loaded with the purpose but could be more concise by omitting the parameter details already present in the schema.

    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 low complexity, full schema coverage, and presence of an output schema, the description is complete enough for a safe read operation. It states the return value, which suffices.

    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 covers 100% of parameters with descriptions. The description repeats the parameter names and required/optional status but adds no new meaning beyond 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 identifies the action ('Get') and resource ('user roles') and specifies optional scoping to project or environment. It is specific but does not explicitly differentiate from the sibling tool 'list_user_roles', which could cause confusion.

    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?

    No guidance on when to use this tool versus alternatives like 'list_user_roles' or the set/delete role tools. The description lacks when-not-to-use instructions or prerequisites.

    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 readOnly, idempotent, non-destructive. Description adds return format (pagination fields) but little else beyond that.

    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?

    Concise docstring format with Args/Returns. No wasted words, front-loaded 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?

    Tool is simple with optional filters. Description covers purpose, parameters, and return shape. Output schema exists but is not present in description; description still provides sufficient 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%, and description repeats parameter meanings without adding new context beyond 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?

    Clearly states it lists roles for users, optionally scoped. However, not explicitly differentiated from sibling 'get_user_roles', which may be singular vs plural.

    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?

    No guidance on when to use this tool vs alternatives like 'get_user_roles', 'set_org_role', etc. The description implies usage for listing all roles but lacks exclusions.

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

  • Behavior2/5

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

    Annotations already indicate non-readonly, non-destructive, and non-idempotent. Description adds minimal behavioral detail beyond stating it updates and returns an object.

    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?

    Fairly concise, front-loaded with the main purpose. Uses a clear list format for parameters, but could be slightly more efficient.

    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?

    Basic purpose and parameters are covered; output schema exists so return details are optional. Lacks usage context and differentiation from sibling tools, making it minimally complete for a 5-param 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 repeats parameters and adds minor format hints for selectors, but does not significantly enhance understanding 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 'Update' and the resource 'existing workspace job'. Distinguishes from sibling tools like create_workspace_job and delete_workspace_job.

    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?

    No guidance on when to use versus alternatives, no prerequisites mentioned, and no conditions for use provided.

    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 readOnlyHint=false, destructiveHint=false, and idempotentHint=false. The description adds that it returns the created account with an assigned ID, which is useful but does not elaborate on side effects or security considerations.

    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, front-loaded with the purpose, and uses a clear bulleted list for parameters. Every sentence is necessary 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?

    The description covers the purpose, parameters, and return value. An output schema exists, but the description still mentions the return. It does not address error conditions or prerequisites, but for a create tool it is fairly 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%, so the schema already describes parameters. The description restates them and lists enum values for provider, but does not add significant new meaning beyond 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 the tool creates a new Git account in Coalesce, specifying the action and resource. However, it does not differentiate from sibling tools like update_git_account or get_git_account, which slightly reduces clarity.

    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?

    No guidance is given on when to use this tool versus alternatives such as update_git_account or list_git_accounts. There is no mention of when not to use it or any prerequisites.

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

  • Behavior2/5

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

    Annotations declare readOnlyHint=true, so conversion is read-only. The description adds context about UUID round-trip behavior. However, it describes inputs (yaml or diskNode) not present in the schema, creating a contradiction that undermines transparency.

    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 moderately concise and well-structured, with purpose upfront. It is slightly verbose but earns its sentences by providing useful details and alternatives.

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

    Completeness2/5

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

    The description explains the return value and transformation well, but the missing parameter definitions make it incomplete. Without input definition, the tool cannot be invoked correctly.

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

    Parameters1/5

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

    The input schema has no properties, but the description demands 'Provide one of: yaml or diskNode'. This is a critical mismatch; the schema does not support these inputs, making the tool unusable as defined.

    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 converts on-disk YAML to a cloud workspace-node body for use with set/update tools. It specifies the format and distinguishes from sibling tools like create_workspace_node_from_predecessor.

    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?

    Explicit guidance is given: use when pushing local-dev edits, avoid for scratch nodes (use alternatives). This clearly differentiates when to use this tool versus others.

    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 context beyond annotations: it reveals side effect (caching to disk), idempotency (efficient repeated access), and return format (resourceUri). Annotations provide idempotentHint=true, which aligns. 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.

    Conciseness4/5

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

    Description is well-structured with Args and Returns sections, front-loading the main purpose. It is adequately concise, though could be tightened by removing redundant default mentions.

    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 7 optional params and no output schema provided, the description explains the return format (cache metadata with resourceUri) adequately. It covers the essential behavior for an agent to use the tool 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 description adds marginal value. It provides defaults and limits (e.g., pageSize max 500) and clarifies parameter purposes, but does not introduce new meaning 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 'Fetch and cache runs to disk with optional filters', using specific verb (fetch/cache) and resource (runs). It distinguishes from siblings like 'list_runs' and 'get_run' by emphasizing caching behavior.

    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?

    No explicit guidance on when to use this tool vs alternatives (e.g., 'list_runs' for one-time fetch). The description implies caching for repeated access, but does not state 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 already indicate destructiveHint=true, but the description reinforces this with 'DESTRUCTIVE: modifies warehouse data.' It adds value by detailing the need for confirmed, timeout, preflight warnings for V2 projects, and return structure. 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.

    Conciseness4/5

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

    The description is concise with a clear one-line summary followed by key behavioral notes. It uses a clean structure but could be more streamlined; no wasted sentences.

    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 5 parameters, annotations, and an output schema, the description is fairly complete. It covers purpose, behavioral traits, and return format. It references coa_create for additional details, which is acceptable.

    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 5 parameters are described in the schema (100% coverage). The description adds some context (e.g., confirmed must be true, include example, projectPath mentions data.yml), but much of this is already in the schema. Baseline 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 runs DML (INSERT/MERGE) to populate selected nodes. It uses a specific verb+resource combination. However, it does not explicitly distinguish itself from siblings like coa_create or coa_dry_run_run, though it mentions shared pre-flight checks.

    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 the requirement for confirmed=true and a 30-minute timeout. It references coa_create for pre-flight checks, but does not provide explicit when-to-use or when-not-to-use guidance compared to alternatives like coa_dry_run_run.

    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 read-only and idempotent behavior. The description adds value by disclosing a known false-positive issue and detailing the return format (command, exitCode, stdout, etc.), which goes 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.

    Conciseness4/5

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

    The description is concise and front-loaded with the core action. It includes a known issue, arguments, and returns without extraneous details. Every sentence contributes useful 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's complexity, the presence of annotations, full schema coverage, and an output schema, the description is fairly complete. It covers what is scanned, a known issue, and the return format, but could benefit from more guidance on interpreting results or prerequisites.

    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 description coverage, the description's argument list largely restates the schema. No additional semantics or examples are provided beyond what is in the schema, so the added value is minimal.

    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 runs `coa validate` and scans YAML schemas, storage locations, column references, and types. It provides a specific verb and resource, but does not explicitly differentiate from sibling tools like `coa_doctor` or `coa_describe`.

    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 known issue with false positives that do not block related tools, offering some context for when validation results may need interpretation. However, it lacks explicit guidance on when to use this tool versus alternative validation or diagnostic 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?

    Annotations indicate read-only, idempotent, and non-destructive behavior. The description adds pagination details (limit, startingFrom, orderBy) and return structure (next, total), which are not in annotations. No contradictions found.

    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 well-structured with Args and Returns sections, front-loading the main purpose. It is concise, though the parameter list is somewhat redundant with the schema. 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?

    For a list tool with output schema existing, the description adequately covers purpose, filters, pagination, and return shape. No mention of authorization or rate limits, but annotations cover safety. It is complete enough given the tool's 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?

    Input schema has 100% coverage with descriptions; the description lists parameters with types and optionality but adds minimal new semantic meaning beyond the schema. It groups pagination controls but repeats schema info.

    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 Coalesce runs' with optional filters, specifying the verb and resource. It distinguishes from sibling tools like get_run or cancel_run by focusing on listing with filtering capabilities.

    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?

    No explicit guidance on when to use this tool versus alternatives like get_run or list_environment_jobs. The description only lists parameters and return type, without contextual use cases or exclusions.

    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 non-readOnly, non-destructive, non-idempotent. The description adds that it returns the created object but lacks details on side effects, prerequisites, or error conditions beyond creation.

    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 a single sentence followed by a clear bullet list of arguments and returns. It is front-loaded and every element is essential and well-organized.

    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 complexity (7 parameters, nested objects, output schema), the description covers all parameters with types, defaults, and return shape. It lacks only minor context like error conditions or domain semantics, but is complete enough 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 descriptions cover 100% of parameters. The description repeats parameter details and adds default values and a structured return description, but does not add significant new meaning 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 the verb 'Create' and resource 'environment' within a project, and explicitly distinguishes from sibling tools like delete_environment and get_environment.

    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 use for creating environments but provides no guidance on when not to use it (e.g., duplicate names, permissions) or alternatives among siblings. No exclusions or when-to-use 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 indicate read-only, idempotent, and non-destructive. The description adds value by specifying the optional inclusion of nested workspace and job data, and the return structure with pagination (next, total), which are not covered by annotations.

    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 concise and well-structured with Args and Returns sections. A single sentence could suffice, but it's not overly verbose.

    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 (context signal), the description optionally explains return structure. It covers all parameters and return type, making it complete for a simple list 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% and the description largely repeats the schema's parameter descriptions. It adds minimal new meaning beyond 'include nested workspace data' vs 'with workspace IDs'.

    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 Coalesce projects' with a specific verb and resource. It distinguishes from sibling tools like list_workspaces or list_environments by focusing on projects.

    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 does not explicitly provide when-to-use or when-not-to-use guidance compared to alternatives. However, the purpose is clear enough that an agent would infer using this to list projects.

    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 description says the instruction 'modifies the current plan,' consistent with readOnlyHint=false. The examples illustrate the range of modifications but do not disclose additional behavioral traits such as whether the session state is saved, if there are any side effects like caching, or what happens on invalid input. Annotations already provide the core mutation and non-destructive hints.

    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 well-structured with a clear introductory sentence followed by a bullet-point list of example instructions. It is informative but slightly lengthy; it could be more concise by trimming redundant examples. However, the structure aids readability.

    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 complexity (natural language processing), the description covers the core functionality well. The existence of an output schema means return value documentation is not required. However, it does not mention error handling or prerequisites (e.g., session must be open and active), which might be considered minor 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 has 100% description coverage, with clear descriptions for both sessionID and instruction. The tool description adds value by providing many examples of valid instruction content, but these are illustrative rather than specifying constraints beyond the schema. Therefore, the parameter semantics are adequately covered.

    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 modifies an open pipeline workshop session via natural language. It lists numerous example instructions (add nodes, join sources, add filters, etc.), making the purpose explicit and distinguishable from sibling tools like pipeline_workshop_open (which opens a session) and pipeline_workshop_close (which closes 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 specifies that the instruction is sent to an open session, implying it should be used after pipeline_workshop_open. It provides a rich set of examples covering many possible modifications. However, it does not explicitly state when not to use this tool or mention alternatives for specific operations (e.g., using apply_join_condition instead of a join instruction).

    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 provide idempotentHint=true, destructiveHint=false, and readOnlyHint=false. The description adds 'Idempotent' and mentions the return type ('Updated role assignment'), which provides some additional behavioral context but does not go beyond what annotations already cover in terms of safety profile.

    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: a single sentence followed by a brief structured 'Args' section. Every sentence is necessary and front-loaded, with 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?

    For a simple three-parameter idempotent mutation tool with full schema coverage and output schema, the description provides all necessary context. It covers purpose, parameters, and return value adequately.

    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 all three parameters adequately. The description lists the parameters in a concise 'Args' section, but this adds little beyond the schema descriptions (e.g., role description already gives examples).

    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 'Set a user's role for a specific environment.' It uses a specific verb+resource and implicitly differentiates from siblings like delete_env_role, set_org_role, and set_project_role by specifying the scope (environment).

    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 indicates the tool is for assigning a role to a user for an environment, but it does not explicitly state when to use this tool over alternatives (e.g., set_org_role, set_project_role) or provide any exclusions or prerequisites. The usage context is implied rather than explicit.

    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?

    Highlights destructive nature, confirmation requirement, CLI wrapper behavior, and profile limitation, adding context beyond annotations. However, the parameter contradiction with schema reduces clarity.

    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?

    Well-structured with clear sections and front-loaded purpose. Slightly verbose but each sentence adds value. Could be more concise.

    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 behavior, return shape, usage pattern, alternatives, and limitations. Lacks full alignment with input schema due to parameter mismatch, otherwise comprehensive.

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

    Parameters1/5

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

    Describes 5 parameters with detailed semantics, but the input schema declares no properties. This mismatch makes the parameter information unreliable and misleading, severely undermining usefulness.

    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 scaffolded source-node YAML files from the project' with specific verb and resource. Distinguishes from sibling 'coa_list_warehouse_sources' by pairing suggestion.

    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 when-to-use context (re-onboarding, cleanup after schema rename), required flags, profile limitation with workaround, and pairing with list tool. Covers when-not-to-use implicitly by noting unmanaged files are not removed.

    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 read-only, idempotent, safe behavior. The description adds the return structure showing both environment and nodes, 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.

    Conciseness4/5

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

    Very concise, front-loaded with purpose, and structured with Args/Returns. However, the parameter documentation in description is redundant with input schema.

    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 a simple single-parameter get operation with full schema coverage and an output schema described, the description is complete and covers all necessary 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% (single parameter described in schema). Description merely repeats the schema, adding no new meaning.

    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 retrieves environment details and all deployed nodes in one call, distinguishing it from siblings like get_environment and list_environment_nodes.

    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?

    It suggests use for efficiency ('in a single call') but does not provide explicit when-to-use, when-not-to-use, or alternatives. Context is clear but lacks exclusions.

    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 read-only, idempotent, non-destructive behavior. The description adds pagination details and return type, which are behavioral traits beyond annotations. However, it does not mention rate limits, data freshness, or any potential delays.

    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, using only a few lines to cover purpose, parameters, and return type. Every sentence is informative 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?

    Given the low complexity, rich annotations, complete schema, and presence of output schema, the description is adequate. It covers the essential aspects (purpose, pagination, return shape). However, it could mention that the list includes all users regardless of status.

    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 parameters. The description only lists parameter names and groups them as 'Pagination controls', adding minimal value beyond the schema. 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 'List' and the resource 'users in the Coalesce organization'. It is distinct from sibling tools like 'cache_org_users' which implies a caching operation, and 'list_user_roles' which lists roles per user. The scope 'organization' is specific.

    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 listing users with pagination but does not explicitly state when to use this tool over alternatives (e.g., 'cache_org_users' might be for cached results). No when-not-to-use or exclusion criteria are provided, leaving the agent to infer from 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 declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds behavioral details: it returns a status and message, enumerates possible statuses (e.g., completed, running), and specifies the return format. This goes beyond structured 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: one sentence for purpose, one for statuses, and a structured Args/Returns section. No filler, 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?

    Given the simple tool (1 param, output schema exists, no nested objects), the description covers the return structure and possible statuses. It is complete enough for an agent to use, though it could mention that the tool is safe/read-only (already in annotations).

    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 single parameter (runCounter) described as non-negative integer. The description repeats 'numeric run counter' but adds no new semantics beyond the schema. Baseline is 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 'Get the current status of a Coalesce run by run counter.' It specifies the action (get), resource (run), and key (run counter), distinguishing it from sibling tools like 'get_run' or 'get_run_details'.

    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 lists terminal and non-terminal statuses, giving context on expected outputs, but does not explicitly state when to use this tool versus alternatives like 'get_run' or 'get_run_details'. No guidance on when to avoid or choose 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?

    Beyond annotations (readOnly, idempotent), description discloses caching behavior: first call fetches all workspace nodes (may be slow), subsequent calls use in-memory cache with 30 min TTL. This adds significant behavioral context not covered by annotations.

    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?

    Well-structured: first sentence states purpose, followed by parameter list in docstring style, then returns and two paragraphs on efficiency and caching. Front-loaded and no wasted sentences, though could be slightly more concise.

    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 main aspects: purpose, all parameters with defaults, return format, caching behavior, and performance implications. Omitted details like error handling or pagination are acceptable given the output schema and simplicity of the 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?

    Schema coverage is 100% with descriptions for each parameter. The description adds default values (limit default 50, fields defaults to all), return format, and groups parameters logically. This goes beyond the schema's individual parameter 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 searches across node names, SQL, column names, descriptions, and config values using the lineage cache. It distinguishes from siblings by specifying the data source and efficiency, but does not explicitly name alternative search tools.

    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 clear guidance on when to use: it is efficient for large workspaces and uses cached data after initial fetch. Also states requirement of populated cache and default TTL. However, does not explicitly mention when not to use or compare to siblings.

    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 idempotentHint=true and destructiveHint=false. Description echoes idempotence but adds no new behavioral context such as permission requirements or side effects.

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

    Conciseness4/5

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

    Short and front-loaded with purpose and key trait (idempotent). Could benefit from bullet parameter list but remains 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?

    For a simple, two-parameter tool with output schema present, the description covers purpose, idempotence, and return value fully. 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 3. Description merely restates parameter descriptions with example role values, adding minimal additional meaning 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 verb 'set' and resource 'organization-level role', and title reinforces. Distinguishes from sibling tools like set_env_role and set_project_role.

    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?

    Mentions idempotence, implying safe repeated calls, but does not explicitly contrast with alternative tools or provide when-to-use guidance. Name and description suffice for purpose-driven 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 readOnlyHint=false and destructiveHint=false. The description adds behavioral detail about projection-capable node types being created in two steps, which is useful beyond annotations. No contradiction found.

    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 concise with a clear initial sentence and a parameter list. The list is somewhat lengthy but well-structured. Every sentence adds value, though the parameter section mirrors the schema.

    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 and presence of output schema, the description covers the main workflow: plan input, confirmation process, dryRun option, and return type. It could mention plan must be from plan_pipeline and status 'ready', 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 coverage is 100%, so the schema already describes all parameters thoroughly. The description repeats the parameter definitions without adding significant new meaning. The extra detail about projection-capable nodes is not parameter-specific.

    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 'Create a Coalesce pipeline from a previously approved plan' with specific verb and resource. It distinguishes from siblings like plan_pipeline and build_pipeline_from_intent by specifying the input is the exact plan object.

    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 to pass the exact plan from plan_pipeline and requires user approval via confirmed and confirmationToken. It provides clear context for when to use but does not explicitly mention alternatives or when not to use. The confirmation token requirement adds strong usage 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?

    Annotations indicate readOnlyHint false and destructiveHint false, confirming modification but not destruction. The description adds that it returns a created project with an assigned ID, providing useful post-creation behavior. 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 concise, front-loaded with the purpose, followed by a clean list of parameters and return value. Every sentence adds value with 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?

    Given the tool's complexity, full schema coverage, annotations, and output schema, the description is complete. It covers purpose, parameters, and return value without 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 the schema already describes each parameter. The description repeats parameters with types and required status, which is redundant but reinforces the information. It does not add meaningful new semantics 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 'Create a new Coalesce project' with a specific verb and resource. It is distinct from siblings like update_project, get_project, and delete_project, which focus on update, read, or delete operations.

    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 does not explicitly state when to use this tool versus alternatives. While it's implied for creation, there is no guidance on prerequisites or exclusions. With many siblings, more explicit context would help.

    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?

    Beyond annotations (readOnlyHint false), description discloses caching behavior of UUID and return format. Adds value by explaining that the subgraph ID is cached for later reference, which is not evident from 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 concise paragraphs with Args/Returns sections. No redundant information. Front-loaded with purpose. 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?

    For a simple creation tool with 3 required parameters, the description covers purpose, parameters, return shape, and a behavioral note (caching). No output schema needed as description provides return structure.

    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 are documented in schema (100% coverage). Description restates them but adds minimal new semantics (e.g., steps are node IDs). Baseline 3 applies as schema does the heavy lifting.

    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 'Create a subgraph in a Coalesce workspace' with specific verb and resource, and explains subgraphs group nodes visually. Distinguishes from sibling tools like delete/update/get.

    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?

    Mentions caching for future edits, implying when to use (when later edits are needed), but does not explicitly state when not to use or provide alternatives. Usage context is implied but not exhaustive.

    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 read-only, idempotent, non-destructive behavior. The description adds behavioral context by stating SQL override controls are removed because they are disallowed, which is additional transparency. 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?

    Four concise sentences, front-loaded with purpose. Each sentence adds unique information without redundancy. 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 tool's complexity (9 params, two modes, output schema), the description covers the essential behavioral context and usage guidance. Output schema is not described but is provided separately, and the description compensates for any gaps in parameter interaction understanding.

    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 that nodeType is used differently in repo vs raw mode, and that repoPath has a fallback chain. This contextualizes parameters beyond 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 the tool generates a YAML-friendly set_workspace_node body template in two modes: raw node definition or repo commited type. It differentiates from some siblings by mentioning the use of corpus tools, but does not explicitly distinguish the closely named sibling 'generate_set_workspace_node_template_from_variant'.

    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 guidance on when to use repo mode vs raw mode, and mentions fallback to corpus tools. Also notes SQL override controls are removed due to project constraints. However, does not explicitly list when not to use this tool or direct to alternative 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?

    Annotations already declare readonly and idempotent. The description adds useful behavioral details: it requires a lineage cache, may fetch all workspace nodes on first call, deduplicates nodes, and returns depth levels. 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 concise and front-loaded with the main purpose, followed by structured args, return format, and additional notes. Every sentence adds value with 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?

    Given the presence of annotations and output schema, the description covers all essential aspects: purpose, parameters, return structure (nodeID, nodeName, nodeType, depth), traversal behavior (full graph, no limit, deduplicated), and a notable side effect (caching requirement). It is complete for a graph-traversal 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?

    Input schema coverage is 100% with existing descriptions for workspaceID and nodeID. The description reiterates these parameters without adding new constraints, examples, or semantic nuance beyond what the schema provides. 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 tool walks the full downstream dependency graph and returns dependents with depth levels. The verb 'walk' and resource 'downstream dependency graph' are specific and distinguish it from siblings like get_upstream_nodes.

    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 tracing all downstream dependents with no depth limit, but lacks explicit guidance on when to use vs alternatives such as get_upstream_nodes or get_column_lineage. No when-not-to-use instructions are provided.

    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, idempotentHint=true, destructiveHint=false, indicating a safe read operation. The description adds return field details (name, node list, schedule, configuration), going beyond 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 concise with two short paragraphs. Every sentence adds value, with no redundancy or extra 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?

    For a simple get tool with high schema coverage, complete annotations, and an output schema, the description provides sufficient context. It covers what the tool does, required parameters, and return fields.

    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 both parameters documented. The description repeats the parameter names and required status, adding no new meaning beyond the schema. 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 'Get details of a specific job in an environment', using a specific verb and resource. It distinguishes from sibling tools like list_environment_jobs and get_job_run_details_by_name.

    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 when environmentID and jobID are known, but lacks explicit guidance on when to use this tool versus alternatives (e.g., list_environment_jobs). No when-not or alternatives are mentioned.

    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, idempotentHint=true, destructiveHint=false, so the agent knows this is a safe read operation. The description adds that it returns a 'Full node object with columns, config, metadata, and deployment state,' which goes beyond annotations where no contradiction is present.

    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: one sentence for purpose, then Args and Returns sections. Every sentence adds value, with no fluff. Front-loaded with the key 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?

    Given the tool's straightforward nature (2 simple required params, output schema exists, no nested objects), the description provides sufficient detail about what the tool returns. The mention of 'Full node object with columns, config, metadata, and deployment state' covers the key aspects.

    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 both parameters (environmentID, nodeID) are described in the schema with same text. The description repeats this info without adding new meaning beyond what the schema provides. 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 'Get details of a specific node deployed in an environment.' It uses a specific verb-resource pair and distinguishes from sibling tools like list_environment_nodes (which lists) and get_workspace_node (which is for workspace nodes, not environment nodes).

    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 does not explicitly state when to use this tool versus alternatives such as list_environment_nodes or get_environment. The context is clear for an agent, but no explicit guidance on when not to use it or when a sibling is more appropriate.

    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 destructiveHint=false, so the safety profile is clear. The description adds that it returns a 'Git account object with connection details', which is helpful 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?

    The description is extremely concise, with two sentences and a parameter list. No unnecessary words, and the purpose is 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?

    Given the simple read operation, rich annotations, and existence of an output schema, the description is complete. It covers what the tool does and what it 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?

    Schema coverage is 100% and both parameters have descriptions in the schema. The description only repeats the parameter names and requiredness without adding new meaning.

    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 details of a specific Git account', with a specific verb and resource. It distinguishes from siblings like list_git_accounts and create/update/delete by focusing on a single account retrieval.

    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 does not explicitly state when to use this tool versus alternatives like list_git_accounts. While the purpose is clear, there is no guidance on use cases or exclusions.

    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 fully declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the description is not burdened with safety disclosures. It adds value by specifying the response contents (nodes, config, history), but the output schema likely covers that.

    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?

    A single sentence that front-loads the verb and concisely states the resource and included data. 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 low complexity, full schema coverage, presence of annotations, and an output schema, the description is complete. It mentions all relevant aspects: session state, nodes, configuration, instruction history.

    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 the parameter sessionID is described as 'The workshop session ID'. The description adds no additional meaning beyond what the schema provides, so baseline 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 the verb 'Get' and the resource 'current state of a pipeline workshop session', listing specific contents (planned nodes, configuration, instruction history). This distinguishes it from sibling tools like pipeline_workshop_instruct or pipeline_workshop_close.

    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 context is clear: this tool retrieves session state. While it doesn't explicitly state when not to use it or suggest alternatives, the purpose is self-evident given the sibling tools (open, instruct, close).

    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, non-destructive. Description adds what the return includes (columns, transforms, joins, config, metadata), which is helpful 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?

    Very concise: one sentence for purpose, one for prerequisite (list_workspaces), then structured arg list and return summary. 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?

    Sufficient for a simple retrieval tool: purpose, required args, return content. Output schema exists for further detail. 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% with clear descriptions. Description repeats parameter info without adding new meaning beyond the schema, so 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?

    Clear verb+resource: 'Get details of a specific node in a workspace.' Distinct from siblings like list_workspace_nodes or delete_workspace_node.

    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?

    Mentions using list_workspaces to find workspace IDs but no explicit guidance on when to use this vs list_workspace_nodes or other node retrieval tools. Adequate but not explicit.

    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 destructiveHint. The description adds context about the return shape (Subgraph object with name and node steps), which is useful beyond the structured metadata.

    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 short and front-loaded with the purpose. It lists parameters and return value without any unnecessary information. 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 tool's simplicity, the description is complete: it states the action, required parameters, and return type. An output schema exists, so the return description is 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?

    Schema coverage is 100%, and the description repeats parameter names and types from the schema without adding new meaning. It does not elaborate on how the parameters are used or constraints 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 'Get details of a specific subgraph', using a specific verb and resource. This distinguishes it from sibling tools that create, delete, or update subgraphs.

    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?

    No explicit when-to-use or alternatives are provided. The read-only nature is implied by the name and annotations, but there is no guidance on when to choose this over other getters like get_workspace_node.

    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?

    Discloses stateful behavior and return of sessionID. However, with openWorldHint=true, description does not elaborate on potential side effects or permissions needed, missing 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?

    Three sentences, each serving a distinct purpose: purpose, operational behavior, and optional input. Front-loaded and free of extraneous detail.

    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, output schema present, and annotations, the description is sufficient. It clearly explains the tool's role, stateful nature, and required follow-up, leaving no major 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 description coverage is 100%, so baseline is 3. Description rephrases schema descriptions for both parameters without adding significant new meaning.

    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 verb 'Open' and resource 'pipeline workshop session' with specific purpose 'iterative, conversational pipeline building'. Distinguishes from sibling tools like pipeline_workshop_instruct and pipeline_workshop_close.

    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?

    Explains that state is maintained between calls and that sessionID must be passed to subsequent workshop calls. Implicitly indicates when to use (start of session) vs siblings, but lacks explicit exclusions.

    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 details the polling mechanism, timeout, and return structure including timedOut, incomplete, and resultsError fields, adding context beyond annotations. Annotations are sparse (readOnlyHint=false, etc.), and the description properly communicates the mutating nature and expected outcomes.

    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 well-structured with a clear first sentence, an auth requirement note, bulleted args, and return fields. It is appropriately sized but could be slightly more concise by removing redundant phrasing.

    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 complexity (retry and poll) and the presence of an output schema, the description covers auth, parameters, return fields, and post-use checks. It does not explicitly differentiate from retry_run, but the purpose is clear. Minor gaps: no mention of error scenarios beyond return fields.

    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 high (75%), so the baseline is 3. The description adds default values for pollInterval and timeout but omits min/max constraints present in the schema. For runDetails.runID and forceIgnoreWorkspaceStatus, the description provides simplified explanations compared to schema descriptions. Overall, it adds moderate 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?

    The description clearly states 'Retry a failed Coalesce run and poll until completion or timeout,' specifying the verb (retry and poll), resource (failed Coalesce run), and expected behavior. It distinguishes from siblings like retry_run (likely no wait) and run_and_wait (starts new run).

    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 indicates when to use the tool (to retry a failed run) and provides context such as requiring Snowflake auth. It advises inspecting specific return fields before continuing, guiding post-invocation behavior. However, it does not explicitly mention when not to use or list 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 valuable behavioral context beyond the annotations: it explains the tool walks the node DAG, inspects transforms, join conditions, etc., and returns findings sorted by severity. Since annotations already declare readOnlyHint and idempotentHint, the description enriches with operational details 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 well-structured with a concise opening sentence followed by bullet points listing specific checks. Every sentence adds value; no fluff. It is appropriately sized for the complexity of the tool.

    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, the description fully covers what it does, the checks performed, and parameter usage. The presence of an output schema means return values need not be detailed. The description is complete for an agent to understand when and how to invoke the 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?

    Input schema covers both parameters with descriptive descriptions (100% coverage). The description's additional note about using nodeIDs to scope the review largely repeats schema info, adding minimal new meaning. 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 tool's purpose: 'Analyze an existing pipeline in a Coalesce workspace and suggest improvements.' It specifies the verb 'analyze' and the resource 'pipeline', and enumerates specific checks (e.g., redundant passthrough nodes, missing join conditions, layer violations), making it highly distinct from siblings like analyze_impact or analyze_workspace_patterns.

    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 when to use the tool (when reviewing an existing pipeline) and mentions scoping via nodeIDs, but it does not explicitly state when not to use it or suggest alternative tools for different scenarios. Provides basic usage context but no comparative 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?

    Annotations already indicate readOnlyHint=false, destructiveHint=false, idempotentHint=true. The description adds context of partial update and lists returned object, aligning with annotations and providing clarity beyond 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 a clear two-part structure: purpose statement followed by parameter list. Every sentence is informative, 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 8 parameters, 100% schema coverage, and an output schema, the description covers the partial update behavior and all parameters. It is 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 the schema already documents all parameters. The description repeats parameter names and types in an Args section, adding no new semantics beyond what the schema provides. 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 an existing Coalesce project' with 'Partial update — only provided fields are changed', specifying verb, resource, and behavior. It distinguishes from siblings like create_project, delete_project, and get_project.

    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 use when updating a project, but provides no explicit guidance on when to use this tool versus alternatives like update_workspace or update_git_account. No exclusions or context given.

    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 and readOnlyHint=false. The description adds behavioral context: it writes a file, is safe to re-run, includes a known issue about profile fall-through, and requires confirmed=true. This adds value beyond 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.

    Conciseness4/5

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

    The description is well-structured with clear sections (main action, important notes, known issue, destructive warning, args, returns). Every sentence provides useful information, though it could be slightly more concise without losing clarity.

    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 parameters, output schema, and side effects, the description covers purpose, usage warnings, known issues, destructive nature, and return format. It fully equips the agent to understand when and how to use the 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 all parameters. The description does not add additional semantics beyond what the schema provides (e.g., confirmed requirement is also in schema). 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 runs 'coa doctor --fix' to write a starter 'workspaces.yml' file, seeded from 'locations.yml'. The verb 'writes' and specific resource distinguish it from siblings like coa_doctor, coa_create, 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?

    The description provides clear usage context: it is safe to re-run, will not overwrite existing valid files, and warns that placeholder values must be replaced before using coa_create/coa_run. It also mentions the known issue about profile configuration. It lacks explicit when-not-to-use or alternatives but provides strong guidance overall.

    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 the user loses environment access immediately, which goes beyond the annotation's destructiveHint=true. It also explains the optional 'confirmed' parameter for explicit user confirmation.

    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 brief and well-structured: a one-sentence purpose, a warning, a clear list of arguments, and a return description. No extraneous 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's simplicity (3 parameters, no enums), the description covers the main points: purpose, immediate destructive effect, required and optional parameters, and return type. Could optionally mention that the role must exist, but not necessary for completeness.

    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 baseline is 3. The description lists the three parameters with types and requiredness, and adds context for 'confirmed' (user confirmation). However, it does not significantly extend beyond the schema's own 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 action: 'Remove a user's role from a specific environment.' It specifies the resource (role), verb (remove), and context (environment). It is distinct from sibling tools like set_env_role which adds/updates roles.

    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 notes that the action is destructive and immediate, implying it should be used only when removal is intended. It does not explicitly list alternatives (e.g., set_role with null), but the clear labeling and sibling context suffice.

    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, idempotent, non-destructive. The description adds context about the return value (full environment object with ID, name, project, etc.) without contradicting annotations. It doesn't disclose additional behaviors like rate limits, but given annotations cover safety, this 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 with a clear structure: main purpose, return summary, and parameter list. Every sentence adds value with no fluff.

    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 getter nature, the description covers the tool's purpose and return values. It mentions key fields (ID, name, project, connection settings) which aligns with expected output. Minor omission of error handling, but overall complete for the tool's 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% with description for environmentID. The description repeats this info and adds no further parameter semantics beyond the schema. Baseline 3 is appropriate as schema does the heavy lifting.

    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 details of a specific Coalesce environment by ID', which is a specific verb+resource. It distinguishes from sibling tools like list_environments (list all) and create_environment (create new).

    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 usage (when you need details of a single environment by ID) but does not explicitly state when not to use or mention alternatives like get_environment_health. However, the purpose is clear enough for an agent to infer appropriate 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 already declare readOnlyHint=true and destructiveHint=false. The description adds value by explaining the scope of the accountOwner parameter (org admins can manage others' accounts) and the return structure, which goes beyond the schema.

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

    Conciseness5/5

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

    The description is extremely concise: a one-line summary plus structured args/returns. Every sentence is necessary and front-loaded with the core purpose. No 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?

    With an output schema present, the description need not detail return values. It covers the optional filter and its semantics. The only minor gap is no mention of pagination or how to interpret the 'next' and 'total' fields, but these are inferred from the type. Overall, complete for a list 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?

    Since schema description coverage is 100%, the schema already documents the parameter. However, the description adds context about who can use the accountOwner filter (org admins managing others), which provides additional 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 the verb 'list all' and the resource 'Git accounts configured in Coalesce,' with an optional filter by accountOwner. This distinguishes it from the sibling "get_git_account" which retrieves a single account.

    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 does not explicitly state when to use this tool over alternatives like "get_git_account." It is implied for listing, but no guidance on when not to use it or preference criteria. This is a minimum viable level.

    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 destructiveHint. The description adds the filtering behavior (by packageAlias) and the source directory, which is consistent and non-contradictory.

    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 with zero waste. The first delivers purpose and key option, the second provides usage context. Every word earns its place.

    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?

    With an output schema present, the description need not detail return values. It covers the source, filtering, and usage preference. Remaining minor gaps (e.g., what 'exact resolvable' means) are acceptable given the output schema.

    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 all three parameters already described. The description mentions the filtering option but does not add meaningful semantics beyond what the schema provides, so baseline score applies.

    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 'list', the resource 'node-type identifiers', and the scope 'from nodeTypes/ in a committed local Coalesce repo'. It distinguishes this repo-backed approach from corpus tools, setting it apart from siblings like list_workspace_node_types.

    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 guidance: use when the repo contains committed definitions, otherwise use corpus tools. While it doesn't name specific sibling tools, the context signal is clear enough to guide the agent.

    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, idempotentHint=true, destructiveHint=false. Description adds that the tool inspects a committed repo and lists from packages/*.yml, which is consistent and provides more context about the source and state requirement.

    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 two sentences, front-loaded with the action, and contains no redundant information. Every sentence adds value: the first states the core function, the second provides usage guidance.

    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?

    For a simple tool with one optional parameter and an output schema (signaled), the description covers the purpose and usage context adequately. It does not explain the output format, but the output schema likely covers that.

    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 single optional parameter repoPath fully described in the schema. The description does not add additional parameter semantics beyond what the schema provides, 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?

    Description clearly states it inspects a local repo and lists package aliases from packages/*.yml. This distinguishes it from sibling tools like list_repo_node_types by focusing on packages, providing a specific verb-resource pair.

    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 when a local repo is available and repo-backed node-type discovery is needed before falling back to the corpus. While it doesn't name specific alternative tools, the 'falling back to the corpus' hint suggests a broader strategy.

    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?

    Beyond annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=true), the description details the read-merge-write process, automatic handling of column linkages, passthrough transforms, API field injection, and metadata cleaning. It explains the return structure, adding significant 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.

    Conciseness4/5

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

    The description is well-structured with a summary, behavior paragraph, bullet-point args, return info, and usage warnings. It is front-loaded but slightly lengthy; every sentence adds value, so it earns a 4.

    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 complexity (nested objects, 3 required params), the description covers the update process, automatic behaviors, and return fields. It could mention relationship with get_workspace_node for reading state, but overall it's complete enough 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.

    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 listing typical body fields (name, description, nodeType, config, metadata.columns) and warns against including overrideSQL (auto-preserved). This aids understanding beyond the schema's 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 the tool updates a workspace node's full body with merge semantics. It identifies itself as the 'primary mutation tool' and lists automatic behaviors, distinguishing from tools like apply_join_condition. However, it does not differentiate from the sibling tool 'update_workspace_node', which may cause confusion.

    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?

    Explicit guidance is given on when to use (for workspace node updates) and when not to use (avoid setting overrideSQL or metadata.sourceMapping, use apply_join_condition/convert_join_to_aggregation for joins/aggregations). It lacks explicit mention of when to prefer alternative mutation tools like update_workspace_node.

    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 details behavioral traits beyond annotations: it explains the dependency on a lineage cache, initial fetch time, caching TTL (30 min), and defines 'documented' for nodes and columns. It also notes that column lists are capped at 200. Annotations already indicate read-only, idempotent, and non-destructive, and the description adds valuable context 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 and well-structured: a one-sentence purpose, followed by clear sections for Args, Returns, and additional details. 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 tool's complexity (scanning all nodes, caching, reporting statistics), the description covers all necessary aspects: return structure, undocumented node/column listing limits, and caching behavior. No critical gaps are present.

    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 'workspaceID' is fully described in the schema (100% coverage). The description merely restates it as 'Workspace to audit', adding no extra meaning 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 the tool's purpose: to scan all nodes and columns in a workspace and report documentation coverage statistics. It uses a specific verb ('audit') and resource ('documentation coverage'), and is distinct from sibling tools like 'list_workspace_nodes' or 'analyze_workspace_patterns'.

    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 auditing documentation coverage and mentions caching behavior, but does not provide explicit guidance on when to use this tool versus alternatives. No exclusions or comparisons to siblings are given.

    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. The description adds that it removes all cached artifacts from disk, confirming the scope. It does not contradict annotations and provides additional context about the action's permanence, though it could mention impact on ongoing operations.

    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 extremely concise: one sentence for purpose, then a clear Args and Returns section. Every sentence adds value. 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?

    For a simple cache-clearing tool with one optional parameter and an output schema, the description provides all necessary context: what it does, the safety confirmation step, and the return structure. 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% with a description for the confirmed parameter. The tool description repeats this information without adding new semantics. 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?

    Description clearly states the verb 'clear' and resource 'data cache', specifying it removes all cached artifacts. No sibling tools perform cache clearing, so no differentiation needed.

    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 when to use (to clear cache) and provides a guideline that the confirmed parameter should be set after user explicit confirmation. However, it does not explicitly discuss when not to use or alternatives, but for a simple maintenance tool, this is acceptable.

    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 explicitly states 'DESTRUCTIVE: modifies warehouse data' and the need for confirmed=true, which adds behavioral insight beyond the annotations (destructiveHint=true). It also warns about forceIgnoreEnvironmentStatus potentially causing failures, providing valuable 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.

    Conciseness4/5

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

    The description is fairly concise but includes a parameter list that largely duplicates the schema. It is well-structured with clear sections (description, destructive note, args, returns), though the args section could be trimmed for even better conciseness.

    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?

    The description covers the tool's destructive nature, required confirmation, and the return structure. Given the output schema exists, it doesn't need to detail return values further. It could elaborate more on how include/exclude node selectors work, but overall it's adequate.

    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, so the schema already explains all parameters. The description repeats the parameter list but does not add significant new meaning beyond the schema's own 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's purpose: 'Run DML for selected nodes in a deployed environment.' It specifies that it operates purely on the cloud environment and does not require a local project, distinguishing it from other tools that may need local context.

    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, noting that it requires confirmed=true and is destructive. It also mentions that it doesn't require a local project. However, it does not explicitly compare with sibling tools like coa_run or coa_deploy, leaving some ambiguity about when to choose this tool over 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 destructiveHint=true and readOnlyHint=false. The description reinforces by stating 'permanently delete' and 'cannot be undone', and explains the confirmation mechanism. 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: a single sentence stating purpose, then structured Args and Returns sections. Every sentence is necessary and 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?

    For a simple destructive tool with an output schema, the description covers purpose, required parameters, confirmation requirement, and return type. 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 3. The description lists parameters in Args format, but adds no new information beyond what the schema already provides (e.g., 'confirmed' explanation is identical).

    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 'Permanently delete a Coalesce environment' with explicit verb 'delete' and resource 'environment'. It distinguishes from siblings like 'create_environment' by emphasizing destructiveness.

    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 warns this is destructive and irreversible, and explains the 'confirmed' parameter requires explicit user confirmation. It provides clear usage context but doesn't explicitly mention 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 set destructiveHint=true. The description adds important behavioral context: the deletion is permanent, irreversible, and requires explicit user confirmation. 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 concise: two sentences plus an arg list. The core action and destructiveness are front-loaded. Every sentence adds value, 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 simple two-parameter schema, good annotations, and presence of an output schema, the description fully covers the tool's purpose, required parameters, confirmation flow, and return type.

    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 parameter descriptions already present. The description repeats parameter names and types but adds little new meaning beyond the schema. 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 states 'Permanently delete a Coalesce project' with a clear verb (delete) and resource (project). It emphasizes the irreversible, destructive nature, distinguishing it from sibling tools like create_project or update_project.

    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 states the tool is destructive and cannot be undone, and requires user confirmation via the 'confirmed' parameter. While it doesn't explicitly name alternative tools, the context is clear and sufficient for an agent to decide when 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 provide read-only, idempotent, and non-destructive hints. Description adds 'from the committed snapshot', which clarifies the source but does not significantly expand behavioral disclosure 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 concise sentences with front-loaded purpose and immediate guidance. 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, return values are handled. Description clarifies the source and retrieval method, making it fully complete for a simple retrieval 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 has 100% coverage with a clear description for variantKey. Description only mentions 'by variantKey', adding no new semantics 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 the tool retrieves a single node-type corpus variant by variantKey from the committed snapshot. Distinguishes from sibling search_node_type_variants by specifying 'Get one' versus discovery.

    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 search_node_type_variants first for discovery, providing clear guidance on when to use this tool vs. 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 declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the description does not need to repeat those. It adds value by describing the return object ('Full project object with ID, name, description, git configuration'), which supplements the annotations with concrete output context. 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 extremely concise: a single sentence for purpose, a bulleted list for parameters (three lines), and a single sentence for returns. It is front-loaded with the verb and resource, and every sentence contributes necessary information without verbosity.

    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 (get a project), the presence of an output schema, and rich annotations, the description covers all essential aspects: what it does, what parameters are accepted, and what is returned. No gaps in functionality or behavior are evident.

    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 description coverage is 100%, so the schema already describes all parameters. The description largely repeats the schema but adds a 'Returns' line that provides meaningful context about the output. This extra return information justifies a score above 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 'Get details of a specific Coalesce project.' It uses a specific verb ('Get') and resource ('project'), and among siblings like list_projects, update_project, delete_project, it uniquely identifies this tool for retrieving a single project's details.

    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 to retrieve project details, but it does not explicitly guide when to use this tool versus alternatives like list_projects (for listing many projects) or other get_* tools. No exclusionary or comparison language is provided, leaving the agent to infer 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 this as readOnly, idempotent, and non-destructive. The description adds the return content (status, timing, node results, configuration), providing 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 brief with two short sections: purpose and args/returns. It is front-loaded with the core action and contains 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 presence of an output schema and supportive annotations, the description sufficiently covers the tool's behavior. It mentions the returned fields and parameter guidance, making it complete for a simple retrieval operation.

    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 description largely repeats the schema's parameter description for runID. Since schema coverage is 100%, no additional meaning is added beyond clarifying the source of the ID (runCounter). This is a minor improvement.

    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 'Get details of a specific Coalesce run' uses a clear verb+resource pair. It differentiates from siblings like get_run_details, get_run_results, and list_runs by specifying a single run retrieve.

    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 how to use the runID parameter correctly (using runCounter, not UUID). However, it does not explicitly exclude alternative tools or state 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 indicate read-only, idempotent, non-destructive; description adds that it returns per-node status, row counts, errors, enhancing understanding beyond structured fields.

    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 plus a concise list; no redundant information, front-loaded purpose.

    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?

    Simple one-parameter tool with output schema; description sufficiently covers what is needed without over-explaining.

    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 covers all parameters, but description clarifies runID is numeric and advises using runCounter over UUID, adding practical 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?

    Clearly states it gets execution results of a specific run, distinguishing from siblings like get_run (run metadata) and get_run_details (run details).

    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?

    Implies usage for retrieving run results, but lacks explicit guidance on when to use this vs. alternatives like get_run or get_run_details.

    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, etc. Description adds deduplication and cache mechanism 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?

    Concise, front-loaded, every sentence adds value. 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?

    Covers return format, cache behavior, and with output schema present, description is complete for this 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 description adds little beyond listing parameters in Args. 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 walks the full upstream dependency graph returning ancestors with depth. Distinguishes from siblings like get_downstream_nodes and analyze_impact.

    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?

    Specifies graph traversal has no depth limit, and mentions cache behavior. Does not explicitly provide when-not-to-use or alternatives, but context 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 already declare readOnlyHint, idempotentHint, destructiveHint. Description adds value by specifying the return structure (ID, name, project association, settings), which helps the agent understand what to expect 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?

    Extremely concise: one sentence plus a bullet list for args and returns. No fluff, every part is informative and 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?

    Given the tool's simplicity (single parameter, no nested objects), full annotation coverage, and presence of an output schema, the description is complete. It explains what the tool does, its parameter, and what it 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?

    Schema description coverage is 100%, so the schema already fully documents the workspaceID parameter. The description merely repeats the arg definition, adding no additional semantic value 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 details of a specific Coalesce workspace by ID', using a specific verb and resource. It distinguishes from sibling tools like list_workspaces (listing all) and other get_* tools by focusing on workspace by ID.

    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 implies usage when you have a workspace ID and need details. It does not explicitly state when not to use or mention alternatives, but the context and sibling names (e.g., list_workspaces) provide sufficient 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?

    Annotations already provide idempotentHint=true and destructiveHint=false. The description adds context: the exact files created (coalesce_skills.{name}.md and user_skills.{name}.md) and confirms idempotency with 'never overwrites existing files'. This goes beyond annotations and provides useful behavioral detail.

    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 core purpose, then details outputs and behavior. No redundant information; 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 tool's simplicity (one optional parameter, annotations covering idempotency, and an output schema handling return values), the description covers purpose, outputs, and behavior completely. There are no gaps for 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?

    Schema coverage is 100%, and the input schema already describes the directory parameter with default value. The description does not add further parameter meaning, so it meets the baseline for this dimension.

    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 specific action: 'Export all bundled Coalesce skill files to a local directory for customization.' It uses a direct verb-resource pair and distinguishes from sibling tools which deal with workspace nodes, runs, 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?

    The description indicates when to use the tool (to customize skills by editing user_skills files) and implies no alternatives among siblings. However, it does not explicitly state when not to use it or mention alternatives, so it misses explicit exclusions.

    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 forceIgnoreWorkspaceStatus forces retry even if deploy failed, and notes caution. Requires Snowflake auth. Annotations already indicate non-readonly and non-idempotent; description adds context 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.

    Conciseness4/5

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

    Structured with Args/Returns, front-loaded purpose sentence. No fluff, but the Args section could be more concise by referencing schema.

    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 auth requirement, parameter caution, return shape, and points to sibling tool. Reasonably complete given has output schema and good annotations.

    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 both parameters well (runID pattern, forceIgnoreWorkspaceStatus caution). Description adds minimal extra meaning beyond schema, 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?

    Clearly states 'Retry a failed Coalesce run' with specific verb (retry) and resource (run). Differentiates from sibling retry_and_wait by noting it returns final outcome.

    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 recommends retry_and_wait when final outcome is needed, and mentions Snowflake auth prerequisites. Provides clear guidance on when to use 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=false and non-destructive nature. The description adds context: it initiates a long-running refresh, polls until timeout, and requires inspecting fields like timedOut and incomplete. It also mentions auth requirements. However, it does not detail potential side effects (e.g., data changes from the run), though the annotations suggest non-destructive behavior.

    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 well-structured with a brief overview, prerequisites, bullet-pointed arguments, and return value section. It front-loads the main purpose. While slightly verbose (e.g., repeating 'Returns a task that can be polled for status' is redundant given the polling behavior), it remains clear and organized.

    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 moderate complexity (nested objects, 5 top-level params) and the presence of an output schema, the description covers the key aspects: authentication, parameter constraints, return fields, and post-execution inspection. It lacks details on error messages or pagination but is sufficient for an agent to use the 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 80%, so the schema already describes most parameters. The description adds value by explaining default values (pollInterval:10, timeout:1800), ranges, and the mutual exclusivity of environmentID/workspaceID. It clarifies that confirmRunAllNodes is required when no job/node scope is specified, which the schema also notes but the description reiterates concisely.

    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 function: 'Start a Coalesce refresh run and poll until completion or timeout.' This specific verb-resource combination distinguishes it from siblings like start_run (no wait) and run_status (status-only). The title 'Run and Wait' reinforces the dual action.

    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 prerequisites (Snowflake auth via env vars), mutual exclusivity of environmentID/workspaceID, and a lookup resolution if job name is provided. It also notes when confirmRunAllNodes is required. While it gives some guidance, it does not explicitly contrast with alternative tools (e.g., when to use retry_and_wait instead) beyond implying it's for starting and waiting.

    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 value by clarifying that the tool works on a snapshot, not the live repo, reinforcing its read-only and idempotent nature. 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 two sentences, front-loading the core purpose and filters in the first sentence. The second sentence adds critical context about the snapshot and access requirements. No unnecessary words or repetition.

    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 that the tool has a full output schema (hasOutputSchema: true) and 5 well-documented parameters, the description sufficiently covers the tool's purpose, use case (snapshot search), and constraints. It is complete for an agent to understand when and how to invoke the 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% (all 5 parameters have descriptions in the input schema). The description repeats the filter categories but does not add new semantic information (e.g., order of precedence, default behavior when multiple parameters are combined). Baseline 3 applies.

    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 searches a specific resource ('generated node-type corpus snapshot') with a specific verb ('search') and lists the filtering dimensions (normalized family, package, primitive, support status). It differentiates from siblings like 'get_node_type_variant' (single variant retrieval) and 'list_repo_node_types' (list all types from repo) by focusing on snapshot search.

    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 context that the tool queries a committed snapshot and does not need runtime access to the original external node source repo. This helps agents decide when to use it (e.g., when snapshot data suffices). However, it does not explicitly state when not to use it or mention alternatives like 'get_node_type_variant' for single variants.

    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=false, destructiveHint=false, and idempotentHint=true. The description adds an explicit 'Idempotent' statement, reinforcing the annotation. No additional behavioral context (e.g., authorization, side effects) is provided, but the annotations carry the burden 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 minimal: two sentences plus a structured args/returns list. Every element is necessary and front-loaded with the primary purpose. 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?

    For a simple three-parameter tool with full schema coverage, annotations, and an output schema, the description is complete. It states idempotency and the return type, which is sufficient 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.

    Parameters4/5

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

    Schema coverage is 100% with descriptions for all parameters. The description adds value by listing parameters with examples for 'role' (admin, developer, viewer) and a 'Returns' line, slightly augmenting schema 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?

    Clearly states the action (set) and the resource (user's role for a project), with idempotency noted. Distinguished from sibling tools like set_org_role or set_env_role by specifying 'for a specific project'.

    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 project-specific role assignments but does not explicitly compare to alternative tools (e.g., set_org_role, set_env_role) or provide when-not-to-use guidance. The context is clear but lacks exclusions.

    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 'Partial update' detail beyond annotations. Annotations already indicate non-destructive and idempotent. No contradictions; description aligns with and supplements 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?

    Very concise; single sentence for behavior then bullet list of parameters. Efficient and well-organized.

    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 rich schema and annotations, plus output schema exists, the description provides all necessary context: partial update, return type, and parameter list.

    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 descriptions in schema are detailed. Tool description repeats similar info without adding significant new meaning, thus 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?

    Clearly states 'Update an existing Git account' with specific verb and resource. Partial update distinction differentiates from create and delete siblings.

    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?

    Indicates partial update behavior, implying use when only certain fields need modification. Does not explicitly state when not to use or name alternatives, but siblings provide 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 declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. Description adds operational detail: wraps a command and returns a specific structure. No contradictions 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?

    Description is concise, uses bullet points for args/returns, and front-loads the core purpose. 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 purpose, usage differentiation, returns structure, and parameter list. With full schema and annotations, the description is adequate. Could add more about the command context but not necessary.

    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 both parameters with descriptions. Description merely restates parameter names and types without adding new context. Baseline 3 is appropriate given high schema coverage.

    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 all nodes defined in a local COA project (pre-deploy)', providing a specific verb and resource. Distinguishes from sibling list_environment_nodes by specifying scope (local vs deployed).

    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 differentiates from list_environment_nodes and states it is for pre-deploy listing. Gives 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.

  • Behavior4/5

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

    Annotations already indicate idempotent, non-destructive, open world. Description adds that it analyzes type definition and existing config, and can be invoked after manual edits, implying it fills without overwriting. 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?

    Two short paragraphs plus bulleted Args/Returns. Front-loaded purpose, no 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?

    Provides enough context for understanding when and how to use, including return shape. Could elaborate on 'intelligent' aspects but sufficient for typical 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?

    Schema covers all 3 params (100% coverage). Description adds meaningful context for 'repoPath' (type definition lookup) and includes returns section. Baseline 3 exceeded by extra clarity.

    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 'Run intelligent configuration completion' on a specific resource 'workspace node', and differentiates from siblings by noting that creation tools call it internally but it can be invoked separately.

    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: after manual edits or as standalone. Does not list alternatives but context implies completion is handled internally by creation tools. Good but not exhaustive.

    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=false (write operation) and destructiveHint=false. The description adds value by detailing the required parameters and the format of selectors, and noting that empty strings exclude nothing. This provides 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?

    The description is extremely concise—three short paragraphs covering purpose, parameters with examples, and return value. Every sentence adds value 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?

    Given the complexity (4 required params, all simple strings) and the presence of an output schema (though not shown), the description is complete enough. It covers all necessary aspects for a creation tool: what it does, required inputs with format, and the return value.

    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%, but the description enhances understanding by providing concrete format examples for includeSelector and excludeSelector, and clarifying that empty strings are valid. This adds meaning beyond the schema's generic 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 it creates a new job in a Coalesce workspace, using the specific verb 'Create', and identifies the resource type. It distinguishes from sibling tools like update_workspace_job, delete_workspace_job, and find_jobs_by_name by focusing on creation.

    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 what the tool does and provides detailed parameter information, making it clear when to use it (to create a job). It does not explicitly state when not to use it or list alternatives, but given its unique purpose among siblings, 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.

  • Behavior5/5

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

    The description adds value beyond annotations by explaining the immediate effect on user access and the need for confirmation. It also describes the return value. 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 concise, with a clear header, warning, and structured Args/Returns sections. 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 the low complexity and presence of annotations and output schema, the description provides sufficient context. The return value 'Confirmation message' is mildly vague but acceptable for a destructive action.

    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 the description repeats the parameter info from the schema. It adds minimal extra meaning beyond the schema, so baseline 3 is appropriate.

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

    Purpose5/5

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

    The description starts with 'Remove a user's role from a specific project', which is a clear verb+resource combination. It distinguishes itself from sibling deletion tools like delete_env_role and delete_environment by specifying 'project role'.

    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 warns 'Destructive — the user will lose project access immediately' and includes a 'confirmed' parameter requiring explicit user confirmation, providing clear usage guidance. However, it could benefit from mentioning when not to use this tool (e.g., alternatives like set_project_role).

    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 indicate destructiveHint=true, and the description adds valuable context by explaining what jobs do ('define which nodes run together') and the specific consequence of deleting the wrong one ('breaks scheduled pipelines'). 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 concise and front-loaded with the essential action and warning. It uses a single impactful sentence followed by a structured list of parameters and return value, with no redundant content.

    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?

    The tool has an output schema (unshown) and the description mentions 'Confirmation message' as return. Given the destructive nature, the description adequately covers behavior, safety, and consequences. Slightly more detail on the confirmation format could be added but is not necessary.

    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 three parameters. The description's 'Args' list restates the schema's descriptions without adding new information, 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.

    Purpose5/5

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

    The description clearly states 'Delete a job from a workspace' with a specific verb and resource. It distinguishes from sibling tools like 'create_workspace_job' and 'update_workspace_job' by warning about destructive consequences, making the tool's 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 explicitly warns about the destructive nature ('deleting the wrong one breaks scheduled pipelines') and includes a safety confirmation parameter. While it doesn't name alternative tools, the warning provides clear context on 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 declare readOnlyHint=true, etc. The description adds the crucial detail that only the last 50 runs are scanned, runs outside that window are not returned. This explains the behavioral limitation beyond what annotations provide.

    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?

    Well-structured: clear purpose, usage context, limitation, then organized Args and Returns blocks. Front-loaded with key information. Every sentence adds value, though the Args block slightly overlaps with the schema.

    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 coverage, annotations, and the provided output schema in the description, the description fully explains the tool's behavior, parameters, return format, and limitations. No gaps in understanding 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?

    Schema covers all 3 parameters with descriptions (100% coverage). The description adds the default value of 5 for runLimitPerJob and its maximum of 50, providing marginal additional value. No further semantic enrichment needed.

    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 action: fuzzy-matching jobs by name case-insensitively, returning matches with recent runs. It clearly distinguishes from sibling tools like list_environment_jobs and list_runs by focusing on name-based search with limited run history.

    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 when to use: when the user references a job by name and needs ID or recent execution history. Provides exclusions: runs outside the last 50 are not returned, directing to list_runs with pagination for older history. Names an alternative 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 indicate non-destructive, idempotent read-only. Description adds valuable behavioral context: avoids external repo, rejects partial variants, removes SQL overrides, optional live comparison. 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?

    Two sentences efficiently convey purpose, key constraints, and optional behaviors. Every sentence adds value; front-loaded with main action.

    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 9 params, output schema exists, and sibling tools, the description covers main purpose and constraints. Could mention edge cases or error handling but adequate for agent selection.

    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 meaning beyond individual param descriptions by explaining overall behavior like allowPartial effect and SQL override removal, enhancing semantic understanding.

    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 generates a set_workspace_node body template from a variant, explicitly distinguishing from similar tools by mentioning the source (committed snapshot) and avoiding external repo. Also specifies removal of SQL override 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?

    Describes when to use (with a variant) and conditions like reject partial variants unless allowPartial. Implicitly differentiates from siblings like generate_set_workspace_node_template by mentioning variant source, but lacks explicit when-not-to-use or direct comparison.

    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 readOnlyHint, idempotentHint, and non-destructive behavior. The description adds valuable context: it paginates through all nodes and runs, and may be slow on large environments. 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.

    Conciseness4/5

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

    The description is front-loaded with purpose and behavior, followed by a detailed return structure. It is efficient but the return block is lengthy; still, it earns its place by documenting the output.

    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 rich annotations and output schema, the description covers purpose, behavioral traits (pagination, latency), and a detailed return format. It is comprehensive for a health dashboard 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% for the single parameter environmentID, so the description's parameter info adds little beyond the schema. However, the description also shows the full return structure, which indirectly adds context. 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 'Get a comprehensive health dashboard for a deployed environment' with a specific verb and resource. It distinguishes itself from siblings by noting it composes multiple API calls, setting it apart from simpler getters like get_environment or get_environment_overview.

    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 it (for a comprehensive health summary) and includes a caveat about pagination and potential delays on large environments. However, it does not explicitly state when not to use it or list alternatives, though the behavior note provides practical 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?

    Annotations already indicate readOnly, idempotent, non-destructive behavior. The description adds context: the exactness constraint, support for two identifier types, and the fallback behavior. These disclosures go beyond what annotations provide, giving the agent useful operational understanding.

    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, identifier formats, fallback guidance. No wasted words, front-loaded with the core action. Every sentence earns its place.

    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, annotations, and presence of an output schema, the description covers the key aspects: what it does, supported inputs, and fallback. It does not detail the output structure (handled by output schema) or error behavior, but the fallback path implicitly addresses resolution failures. Minor omission: behavior when repoPath is invalid, but fallback logic suggests it would use defaults. Overall, adequate.

    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 concrete examples for the nodeType parameter ('Stage', '65', 'alias:::id'), which clarifies the expected format beyond the schema description. For repoPath, it restates the fallback logic already in the schema, but adds no new semantic information. Overall, the description adds 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 action ('resolve'), the specific resource ('one exact node type from a committed local Coalesce repo'), and the supported identifier formats. It also distinguishes this tool from siblings by referencing fallback to corpus tools, 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 guidance on when to use the tool (exact resolution) and when to fall back to corpus tools. However, it does not explicitly compare with direct siblings like list_repo_node_types or search_node_type_variants, leaving some room for interpretation.

    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 destructiveHint=false. The description adds behavioral context about the tool reading deployed jobs vs workspace edits, and describes the return format. This adds value beyond the annotations, though not extensively.

    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 and well-structured: first sentence states purpose, then usage guidance, then differentiation, then parameter/return summary. Every sentence adds value with no repetition or filler.

    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?

    The description is complete for a simple list tool: explains purpose, usage context, differentiation, and return format. Output schema exists (description mentions Job[]). While it omits error conditions, annotations cover safety. The description is 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?

    Schema coverage is 100%, so baseline is 3. The description mentions arguments and their purpose (pagination), but this information is already present in the schema descriptions. No significant additional meaning 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?

    The description explicitly states 'List all jobs deployed to a Coalesce environment' with a specific verb and resource. It distinguishes from sibling tools like list_environment_nodes and create_workspace_job, and clarifies the difference from workspace-side jobs.

    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 guidance on when to use the tool: pair with list_environment_nodes for refresh planning or with create_workspace_job for authoring schedules. It also clarifies that it returns deployed jobs, not in-flight workspace edits, which helps avoid misuse.

    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 destructive and not readonly, but description adds extensive behavioral details: performs PUT requests for each downstream node, creates a disk snapshot for reversibility, invalidates cache, and explains partial failure handling. This goes well 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.

    Conciseness4/5

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

    Well-structured with front-loaded warning and purpose. Contains necessary detail without being overly verbose. A few sentences could be tightened, but overall 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 tool's complexity (5 params, nested object, output schema), the description covers prerequisites, side effects, return values, error handling, and limitations like cache staleness. Very 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 detailed descriptions. The description's 'Args' section adds little beyond the schema, though it reinforces the required nature of changes. Overall, minimal added value for parameters.

    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's a WRITE operation that updates all downstream columns depending on a source column, with specific use cases like renaming a column or changing data type. This clearly distinguishes it from sibling tools.

    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 for when to use (after column rename/type change), and important prerequisites (lineage cache, staleness up to 30 min, need to refresh). Lacks explicit 'when not to use' but is otherwise clear.

    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 explains the deliberative selection loop (score, challenge, re-rank, 2-round max) and explicitly states it reads workspace node types but does not mutate anything. This adds significant transparency beyond the annotations (readOnlyHint, destructiveHint).

    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 fairly detailed and front-loaded with purpose, but several sentences describe the internal algorithm which may not be necessary for usage. Still, it's well-structured and clear. Could be slightly more concise.

    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 complexity (10 parameters, 2 required), the description explains input hints, the selection algorithm, and the return value (selectedNodeType, confidence, ranking, warnings). It also mentions subsequent tool calls. Annotations cover safety. Output schema presence (not shown) likely documents return fields. 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%, so the schema already documents each parameter. The description reinforces using structural hints like sourceCount, hasJoin, hasGroupBy but adds no new semantic meaning per parameter. 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 tool selects the best Coalesce node type for a pipeline step. It differentiates from sibling tools like parse_sql_structure, specifying it should be used after that. The verb 'Rank and select' and resource 'node type' 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 'Use this after parse_sql_structure' and advises providing structural hints. It also tells how to use the output in subsequent calls. However, it doesn't specify when not to use it or alternative tools, so not a perfect 5.

    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 write, idempotent, and non-destructive behavior. The description adds that it writes to sourceMapping.join.joinCondition, inspects columns, and auto-generates conditions. This complements the annotations without contradiction. It could mention overwriting behavior, but overall high transparency.

    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 well-structured: a purpose sentence, usage guidance, then bullet lists for args and returns. No unnecessary words, each sentence contributes. It is front-loaded with the key 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?

    Given 6 parameters, a described output object, and annotations, the description covers all aspects: what it does, when to use, inputs, outputs, and behavior. No gaps remain for an agent to misuse the 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?

    Schema coverage is 100%, providing baseline 3. The description adds meaning beyond schema: explains purpose of each param, defaults for joinType, and clarifies joinColumnOverrides usage for mismatched column names. This adds significant 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 writes a FROM/JOIN/ON clause to a specific node property by analyzing predecessor columns and generating join conditions automatically. It uses a specific verb and resource, distinguishing it from sibling tools like convert_join_to_aggregation.

    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 says to use for multi-predecessor nodes needing JOINs, and explains the automatic column matching. It does not mention exclusions or alternatives, but the context is clear and sufficient for selecting 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 discloses that data is cached to disk and returns a resourceUri for accessing the cache, which goes beyond the annotations (idempotentHint, openWorldHint, etc.). 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 concise: one sentence for purpose followed by a clear parameter list. It is front-loaded and every sentence serves a purpose 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 annotations and the return description (cache metadata with resourceUri), the description is complete. It explains the tool's behavior, parameters, and output, leaving no significant 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?

    Input schema coverage is 100%, and the description merely restates defaults already present in the schema (e.g., detail defaults to true, pageSize defaults to 250). It adds no new semantic information 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 the tool's purpose: to fetch and cache all environment nodes to disk for efficient repeated access. It uses specific verbs ('fetch and cache') and identifies the resource ('environment nodes'), distinguishing it from sibling cache tools like cache_org_users or cache_runs.

    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 usage for repeated access to environment nodes, but does not explicitly compare to alternatives like list_environment_nodes or get_environment_node. While the caching intent is clear, explicit when-to-use guidance is missing for a 5.

    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 behavioral context beyond annotations: it explicitly warns 'DESTRUCTIVE: modifies the deployed environment' (matching destructiveHint=true), details the confirmation requirement ('confirmed must be true to execute'), and clarifies the validation scope ('Does NOT re-validate project contents — validates the plan structure only'). This is valuable additional transparency. A minor gap: it doesn't mention whether the operation is synchronous or async, but the return format suggests synchronous. Still, strong.

    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 well-structured: a concise purpose sentence, a warning line, prerequisites, then a clear 'Args' list, and a 'Returns' line. It is efficient but slightly redundant with the schema (the Args list largely mirrors the schema properties). However, the structure aids quick comprehension. Minor redundancy prevents a 5.

    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 (destructive, confirmation requirement, plan prerequisite, return format), the description covers all essential aspects: purpose, behavioral traits, prerequisites, argument details, and return schema. The presence of an output schema reduces the burden, but the description still provides complete context for safe and correct invocation.

    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?

    With 100% schema coverage, the description still adds significant meaning: it re-explains each parameter in a clear 'Args' list, emphasizing the critical points (e.g., 'plan: path to coa-plan.json', 'confirmed: must be true to execute'). It goes beyond the schema by grouping optional parameters and explaining the 'profile, token' fallback behavior. This fully compensates for any dependency on 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 'Apply a plan JSON to a cloud environment. Changes environment schema/state.' This is a specific verb+resource combination that distinguishes the tool from siblings like coa_plan (which produces the plan) and coa_run (which runs a pipeline). The purpose is 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: 'The plan file must exist (produced by coa_plan). Does NOT re-validate project contents — validates the plan structure only.' and 'Requires confirmed=true.' It clearly indicates when to use (after coa_plan) and the needed confirmation. While it implies not to use without a plan, it could explicitly name the alternative (coa_plan) for when-to-use differentiation, but the guidance is strong.

    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 read-only and idempotent. The description adds caching behavior (defaults to disk cache, can refresh with 'refresh' parameter) and describes the 'source' field in the return value. 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 concise and well-structured: a summary sentence, then bullet points for parameters and return value. No fluff, front-loaded with purpose.

    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, the description does not need to detail return format, but it provides a brief summary. It covers usage, parameters, and behavior completely for a documentation 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?

    Schema coverage is 100%, but the description adds value by listing well-known topics, explaining subtopic usage for 'command' and 'schema', and clarifying the 'refresh' parameter's effect on cache.

    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 fetches documentation sections, uses the verb 'Fetch', specifies the resource ('section of COA's self-describing documentation'), and distinguishes itself from siblings that perform actions on nodes or environments.

    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 (to get documentation), lists well-known topics, and describes parameterized usage. While it does not explicitly state when not to use or name alternatives, the sibling context implies its specific role.

    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, idempotent, and non-destructive. The description adds that it never throws, is safe to call repeatedly, and returns a structured report with nextSteps, 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?

    The description is concise (5 sentences), front-loaded with purpose, and every sentence provides essential information without redundancy. 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 no parameters and a rich output schema, the description covers purpose, behavior, usage context, and return structure comprehensively. It is complete for a diagnostic 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?

    No parameters exist, so schema coverage is 100%. The description focuses on the output, detailing the return fields including status, nextSteps, and ready, which adds 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?

    The description clearly identifies it as a 'stateless probe' for first-time-setup configuration, listing specific components (access token, Snowflake credentials, repo path, coa doctor). It distinguishes itself from sibling tools like 'coa_doctor' and 'diagnose_run_failure'.

    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 to use 'during or after the /coalesce-setup prompt flow to confirm progress' and notes it is safe to call repeatedly. Implicitly suggests it is not for runtime diagnostics, but does not explicitly list when to avoid.

    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 mark the tool as read-only and idempotent. The description adds critical behavioral context: it requires a lineage cache and will fetch all workspace nodes with detail=true on first call, a side effect not in 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 (5 sentences), front-loaded with purpose, and each sentence adds value: purpose, parameters, return format, underlying method, prerequisite.

    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 fully covers inputs, outputs (including return format), and prerequisites (lineage cache). Given the output schema exists, the return details suffice. No gaps remain.

    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 have schema descriptions (100% coverage), so the description's parameter listing adds no new meaning. 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 'Trace a specific column through the entire pipeline — upstream to its sources and downstream,' specifying the verb (trace) and resource (column). It distinguishes from similar tools like get_upstream_nodes that trace nodes, not columns.

    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 usage for column-level lineage tracing, contrasting with node-level siblings. However, it lacks explicit when-to-use or when-not-to-use statements, though the context 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 already declare readOnlyHint, idempotentHint, destructiveHint false. The description adds context that it combines two calls into one and returns a combined object with possible error, which is useful 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 clear sentences plus structured arg/return spec. No unnecessary words, front-loaded with purpose.

    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 single-parameter tool, output schema exists, and description covers purpose, parameter guidance, and return structure. No 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 coverage is 100%, providing baseline. Description adds clarifying guidance: 'Numeric run ID (integer). Use runCounter, not the UUID.' This provides additional semantic 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?

    The description clearly states the tool retrieves run metadata and execution results, combining two existing calls. It specifies the resource (run) and action (get), and distinguishes from siblings get_run and get_run_results.

    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 indicates this tool combines get_run and get_run_results, implying when to use instead of separate calls. It also instructs to use runCounter rather than UUID. However, it does not provide explicit when-not-to-use scenarios.

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

  • 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 non-destructive. The description adds behavioral details such as optional pagination and the return structure (data, next, total), but does not go into extensive detail like rate limits or authentication.

    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 and well-structured: it states the purpose first, then lists parameters and return type with a clear separation. Every sentence adds value, and there is no redundancy or 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?

    Given that the tool has an output schema and annotations covering safety, the description covers all necessary aspects: what the tool does, its parameters, return shape, and pagination mechanism. It is 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?

    The input schema has 100% description coverage for all 5 parameters, so the schema already documents them. The description lists the parameters briefly but adds minimal extra meaning beyond the schema, earning 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 lists all available Coalesce environments with optional pagination, and explicitly distinguishes from the sibling get_environment tool by mentioning it returns a list and directing to use get_environment for a single environment.

    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 guidance on when to use this tool (to discover environment IDs needed by run, node, and job tools) and when to use an alternative (get_environment for a single environment by ID), effectively differentiating from 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?

    Annotations already declare readOnlyHint, idempotentHint, destructiveHint false. The description adds context that each workspace includes its projectID and that IDs are needed by other tools, which is valuable 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 two short sentences, front-loaded with the core action, and every word provides value. No waste 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?

    For a tool with no parameters, rich annotations, and an output schema, the description is complete: it states what it does, what it returns, and its utility for other tools.

    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 in input schema (schema coverage 100%), so baseline is 4. Description adds no additional parameter information, which is acceptable.

    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 lists all Coalesce workspaces, with specific mention of returning workspace IDs needed by other tools. It is distinct from sibling tools which are more specific or actionable.

    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 when to use this tool (before node, job, subgraph tools) by noting that it returns workspace IDs needed by them. However, it 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.

  • Behavior4/5

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

    Annotations already indicate idempotentHint=true and destructiveHint=false; the description adds behavioral context about cleaning session state and handling uncreated nodes, 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?

    Two sentences with no fluff: first sentence states purpose, second provides conditional usage guidance. Front-loaded and 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 tool's simplicity (close operation with one parameter) and the existence of an output schema, the description adequately covers purpose, usage conditions, and prerequisite actions, 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?

    Schema coverage is 100% for the single parameter sessionID, so the description adds no additional semantic detail beyond what the schema already provides, meeting the baseline for high coverage.

    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 (close) and resource (pipeline workshop session), and it distinguishes itself from sibling tools like pipeline_workshop_open and pipeline_workshop_instruct by specifying cleanup of session state.

    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 provides when-not-to-use guidance by mentioning uncreated nodes and suggests two alternative tools (build_pipeline_from_intent, plan_pipeline) to handle that case before closing.

    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, openWorldHint=true, idempotentHint=true, destructiveHint=false. The description adds useful behavioral context: 'Requires a lineage cache — will fetch all workspace nodes with detail=true on first call.' 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?

    The description is well-structured with an args section and clear bullet-like separation. Each sentence is concise and informative, with 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 complexity of impact analysis, the description thoroughly covers what the tool does, its parameters, return values (impacted counts, nodes grouped by depth, critical path), and behavioral notes (caching). The presence of an output schema does not detract from the completeness.

    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?

    Schema coverage is 100%, but the description adds significant value by explaining the semantic difference between omitting columnID (analyzes impact of entire node) and providing it (only nodes/columns depending on that column). This goes beyond the schema's short 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's purpose: 'Analyze the downstream impact of changing a node or a specific column.' It distinguishes between analyzing the whole node vs a specific column, which differentiates it from siblings like get_downstream_nodes.

    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 context: analyze downstream impact before modifying a node. It explains the difference between using columnID or not. However, it does not explicitly state when not to use it or mention alternative tools like get_downstream_nodes.

    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 explicitly states DESTRUCTIVE: modifies warehouse schema, requires confirmation, and details pre-flight checks and V2 notice. This adds significant context beyond the destructiveHint annotation, which is already true.

    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 structured with clear sections (DESTRUCTIVE, pre-flight, V2 NOTICE, Args, Returns) and front-loads the purpose. It is informative but could be slightly trimmed; however, it earns its length.

    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 destructive nature, 5 parameters, and output schema, the description covers behavior, required confirmation, preflight checks, V2 details, and return structure comprehensively. No gaps identified.

    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?

    The description adds meaning to parameters beyond the schema, e.g., explaining confirmed must be true to execute, and clarifying include/exclude selectors. Since schema coverage is 100%, the description still adds 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 executes 'coa create' to run DDL (CREATE/REPLACE) for selected nodes against the configured warehouse. It distinguishes itself from sibling tools like coa_dry_run_create by indicating destructive behavior and required confirmation.

    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 context: requires confirmed=true after user approval, runs pre-flight checks, and notes V2 behavior. It does not explicitly mention when not to use or compare to alternatives, but the guidance is sufficient for appropriate use.

    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 readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds critical behavioral context about profile resolution differences and the known issue, going beyond what annotations cover.

    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 front-loaded with purpose and input details, then the known issue. While the known issue paragraph is lengthy, it's important and well-structured. Minor verbosity but 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 tool's diagnostic nature and output schema, the description explains what is checked, the known limitation, and uses the input schema well. It provides sufficient context for an agent to use the tool 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 baseline is 3. The description restates parameter purposes (projectPath as COA project root, workspace with default 'dev') but adds no new meaning 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 runs 'coa doctor' to check data.yml, workspaces.yml, credentials, and warehouse connectivity. It specifies a diagnostic/validation role, which distinguishes it from siblings like coa_deploy or coa_plan.

    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 includes an explicit known issue (CD-16983) explaining when not to rely solely on this tool (green result doesn't guarantee auth matching for plan/deploy) and advises to suspect profile divergence. This provides clear when-not-to-use and alternative debugging steps.

    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 and non-destructive behavior. The description reinforces this with 'Read-only: ... writes nothing' and adds useful context about profile resolution. 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 well-structured, front-loaded with the core function, followed by modes, usage guidance, behavioral notes, and parameter list. Every sentence adds value 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?

    Overall comprehensive for a list tool: covers modes, usage, behavior, and returns. However, the return structure is only partially described (e.g., 'json?' is vague) and the actual output shape for details is not specified.

    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?

    The input schema is empty, so the description carries full parameter information. It lists five parameters with types and notes mutual exclusivity of 'location' and 'all'. However, it lacks format details for parameters like location or profile.

    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 main function: listing warehouse tables visible to storage locations in a COA project. It distinguishes itself from sibling tools by explicitly referencing coa_add_warehouse_sources and explaining how this tool is used as a precursor.

    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 guidance on when to use each of the three modes (summary first, location-specific for detail, all mode cautiously) and gives concrete use cases like identifying un-imported tables before adding sources.

    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 declare readOnlyHint=false, idempotentHint=true, destructiveHint=false. The description adds rich behavioral details: it automatically generates JOIN ON clauses, writes the complete FROM/JOIN/ON/GROUP BY clause, replaces columns, infers datatypes, sets column-level attributes, validates GROUP BY, and runs config completion. 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.

    Conciseness4/5

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

    The description is well-structured: purpose statement, bullet list of automatic actions, example, then parameter list. It is front-loaded with the main purpose. While somewhat verbose, every sentence adds value given the tool's complexity.

    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?

    Despite having 7 parameters, the description covers all aspects: what it does, how it works, what it returns, and provides an example. The output schema is implied to exist, and the description explains the return value sufficiently.

    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 description coverage is 100%, so baseline is 3. The description's 'Args' section reiterates parameters with brief descriptions, but also provides a concrete example with values mapped to parameters, which adds meaningful context beyond the schema definitions.

    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 converts a join node into an aggregated fact table with GROUP BY. It distinguishes itself from sibling tools like 'apply_join_condition' by specifying it is the required follow-up after creating a multi-predecessor node. A concrete example is provided.

    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 states this is the required follow-up after creating a multi-predecessor node, providing clear context. It does not explicitly list when not to use it or alternatives, but the context is strong enough.

    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 details the reconciliation logic (matched, added, dropped, typeChanges) which goes beyond the annotations. It also clarifies that the tool is a write operation (not read-only) and is not destructive. 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.

    Conciseness4/5

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

    The description is well-structured with a clear summary, workflow breakdown, and required prerequisite. It is slightly long but each section adds necessary value. Front-loaded with purpose.

    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 complexity (8 parameters, prerequisite, reconciliation logic), the description covers workflow, reconciliation, prerequisite, and response structure comprehensively. Output schema is mentioned.

    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 extra context for `goal`, `nodeType` (prerequisite), and `targetColumns` (auto-mapping, transform behavior), improving meaning 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?

    The description clearly states the tool creates a workspace node that matches an external table schema. It gives specific use cases (Snowflake DESCRIBE TABLE, dbt manifest) and distinguishes from sibling tools like `create_workspace_node_from_predecessor` and `create_workspace_node_from_scratch` by emphasizing external schema matching.

    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 requires calling `plan_pipeline` first and explains the reconciliation logic. However, it does not explicitly mention when not to use this tool or list alternatives beyond the 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?

    Annotations already indicate non-readOnly and openWorld. The description adds key behavioral details: default completionLevel requiring name and columns, automatic config completion when repoPath is provided, disallowed override fields, and warning responses. This substantially enriches 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.

    Conciseness4/5

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

    The description is relatively long but every sentence adds value. It is front-loaded with purpose and usage, uses bold and caps for warnings, and organizes information logically. Given the tool's complexity, the length is justified and it remains focused.

    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 11 parameters, nested objects, and output schema, the description covers prerequisites, edge cases, completion behaviors, automatic config, disallowed fields, and response warnings comprehensively. It leaves no significant gaps for an AI agent to infer.

    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 context about how parameters interact (completionLevel requires name and columns, nodeType should come from plan_pipeline, repoPath triggers automation) and prerequisites (goal used for validation), going beyond the schema's individual 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 explicitly states 'Create a workspace node from scratch with NO predecessors,' clearly distinguishing it from the sibling tool create_workspace_node_from_predecessor. It provides specific examples (standalone utility node) and specifies when not to use it, making the purpose highly clear.

    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 gives explicit when-to-use and when-not-to-use conditions, directly naming the alternative tool. It mandates calling plan_pipeline before this tool, warns about specialized types and completionLevel defaults, and provides concrete prerequisites, achieving full usage 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?

    Annotations already declare readOnlyHint true, idempotentHint true, destructiveHint false. The description adds significant behavioral context: it composes multiple API calls, resolves a DSL, and details the subgraph resolution dependency on repoPath, including what happens without it (unresolved terms and warnings). 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.

    Conciseness4/5

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

    The description is well-structured with a summary, subgraph resolution note, Args, and Returns. It is moderately long but each sentence adds value. The key information is front-loaded. Minor verbosity in the DSL explanation is acceptable given complexity.

    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 complexity (DSL resolution, subgraph dependencies), the description is thorough: it explains the DSL clauses, repo path requirements, and provides a detailed output schema. Missing: the input parameters are not reflected in the actual input schema, but the description itself is complete for understanding usage and behavior.

    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 0 parameters, but the description lists four parameters (workspaceID, jobID, jobName, repoPath) with requirements and fallback behavior. This adds essential meaning that the schema lacks entirely. The description compensates fully for the absent schema parameter documentation.

    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 resolves a workspace job's selectors into concrete nodes grouped by subgraph. The title 'List Job Nodes (grouped by subgraph)' reinforces this, distinguishing it from siblings like list_workspace_nodes (which lists all nodes) and get_workspace_job (which only gets job details).

    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 this tool—to resolve selectors—and details conditions like missing repoPath leading to unresolved terms. It mentions preferred arguments (jobID over jobName) and fallback behaviors, but does not explicitly contrast with alternative tools or provide explicit when-not-to-use guidance. Still, the context is clear and 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 readOnlyHint, idempotentHint, and destructiveHint. The description adds valuable context about the tool being pure parsing, details return behavior for CTE vs non-CTE SQL, and reinforces no side effects.

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

    Conciseness4/5

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

    The description is front-loaded with the main purpose and structured into paragraphs for CTE and non-CTE cases. It is moderately concise but could integrate the final reinforcing sentence earlier.

    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 rich annotations, the description provides sufficient context about return types and the tool's role in workflows. It covers both CTE and non-CTE cases adequately.

    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% with parameter `sql`. The description adds the important instruction to pass the SQL verbatim without rewriting, which goes beyond the schema's 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 the tool parses SQL statements into structural components and distinguishes itself from sibling tools by emphasizing it's pure parsing without mutations or workspace access.

    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?

    It explicitly advises using this as the first step in a multi-step pipeline creation workflow and clarifies that it does not perform workspace reads, node selection, or mutations, guiding when to use or avoid 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 declare readOnlyHint=true, idempotentHint=true. Description adds that the planner scans the repo, scores node types, and returns a cached planSummaryUri resource, providing 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?

    Description is well-structured with sections, front-loaded with key instruction, and every sentence adds value. 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?

    Given 12 parameters and complexity, the description covers usage, prerequisites, and output hints (planSummaryUri). Output schema exists, so return details are covered. Minor gap: does not explicitly connect output to creation tools, but implied.

    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%, baseline 3. Description adds significant value by explaining the usage distinction between sql and goal+sourceNodeIDs, prerequisites, fallback behavior for repoPath, and when to use configOverrides.

    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 verb 'Plan', resource 'pipeline', and mechanism 'discovering and ranking node types'. It also instructs to always call before creating nodes, differentiating from sibling creation tools like create_pipeline_from_plan.

    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 'ALWAYS call this before creating nodes', warns when not to write SQL, provides prerequisite (use list_workspace_nodes), preferred approach (goal + sourceNodeIDs), and references a context resource for further 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?

    Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so safety is covered. The description adds valuable context: it performs a whole-workspace scan at summary-level and returns a compact profile. There is 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 concise, with a clear opening sentence, a paragraph for usage guidelines, and separated Args/Returns sections. 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.

    Completeness5/5

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

    Given the tool has only one parameter, rich annotations, and an output schema referenced in the description, the description fully explains the scope (whole-workspace summary scan) and return value (profile with adoption, layers, naming, recommendations). It is 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% (only workspaceID). The description's Args section repeats the parameter without adding extra meaning, format examples, or constraints. Baseline 3 is appropriate since schema already documents the parameter.

    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 analyzes workspace node patterns to detect package adoption, pipeline layers, data modeling methodology, and generate recommendations. It distinguishes itself from siblings like search_workspace_content and get_workspace_node by specifying it is for profiling/overview tasks, not for finding specific nodes.

    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 the tool (profiling/overview tasks) and when not to use it (finding a specific node), and provides direct alternatives: search_workspace_content, get_workspace_node, and cache_workspace_nodes. This gives clear 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 provides extensive behavioral details beyond annotations: diff logic, what is not reverse-engineered, block-level diff, tail-clause diff, INSERT header diff, and specific rejection cases. This far exceeds the readOnlyHint and destructiveHint provided.

    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 quite long but well-structured with sections and bullet points. The core purpose is front-loaded. While every sentence contributes value, the verbosity could be streamlined for quicker parsing.

    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 parameters, no output schema), the description is exceptionally complete. It covers edge cases, detailed return structure, and diffing logic comprehensively, making it sufficient 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.

    Parameters5/5

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

    The description adds significant meaning to each parameter beyond the input schema. For 'sql', it explains accepted forms, auto-detection, and limitations. For 'dryRun', it clarifies preview behavior. The schema coverage is 100%, yet the description still enriches understanding.

    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: 'Round-trip a user's edits on a rendered DDL/DML SQL document back to the cloud workspace node it came from.' It distinguishes itself from sibling tools by focusing on applying SQL edits diffs, not generic node updates.

    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 implicitly guides usage by detailing the inputs from coa_dry_run_create and coa_dry_run_run. However, it lacks explicit alternatives or when-not-to-use guidance. It is clear but not perfectly explicit about when to choose this over other tools.

    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?

    Beyond annotations (destructiveHint=true), the description adds detailed behavioral traits: immediate termination, potential inconsistent state, no undo. 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?

    The description is well-structured, front-loaded with purpose, and 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?

    For a destructive operation with annotations, complete schema, and output schema, the description covers consequences, parameter details, and return expectation, leaving no 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 coverage is 100%, but the description adds context like runID being numeric, orgID fallback logic, and confirmed param usage, providing meaningful added 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 'Cancel an in-progress Coalesce run' with a specific verb and resource, and it distinguishes from sibling tools like retry_run and start_run.

    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 warns about data inconsistency and no undo, implying caution, but does not explicitly state when to use vs alternatives like retry_run.

    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 significant value beyond annotations: it reveals offline nature, no authentication needed, output shape (pass/fail per node), non-zero exit code meaning, and limitation that dry-run doesn't validate column/type existence. Annotations already indicate read-only and idempotent, but description enriches with operational details.

    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 well-organized with sections (OUTPUT SHAPE, LIMITATION) and concise bullet points. Every sentence adds value, 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?

    Despite formal output schema not fully detailed, description explains output shape, exit code interpretation, and limitations. Covers key aspects needed for correct use: offline, no auth, column validation caveat. Comprehensive for a dry-run 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?

    Input schema has 100% description coverage, so description adds minimal new meaning. It gives examples for include/exclude but mostly restates schema. 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 it previews DML from `coa run` without hitting warehouse, forcing --dry-run --verbose. It distinguishes from sibling tools like coa_dry_run_create and coa_run, and clarifies it's offline vs cloud commands.

    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 warns not to confuse with coa deploy/plan/refresh, tells when to use cortex for schema validation, and advises to scan full stdout for exit codes. Provides clear context for when to use this tool vs 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?

    Description adds significant value beyond annotations: 'Permanently delete', 'check for downstream dependencies first', and 'resolves the node via get_workspace_node and blocks the delete if the ID does not exist'. No contradiction with destructiveHint: 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?

    Three sentences plus a brief Args list—every sentence earns its place. Purpose is front-loaded, no redundancy, and the structure is clear and 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?

    Covers all aspects: purpose, caution about dependencies, pre-validation, optional confirmation parameter, and return value ('Confirmation message plus the resolved node name'). Adequate for an agent to decide and invoke.

    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's Args section adds behavioral context (e.g., confirmed is optional and for user confirmation) and explains pre-validation logic, which goes beyond the schema's parameter 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 'Permanently delete a workspace node', specifying the action (delete), resource (workspace node), and permanence. It distinguishes from sibling tools like update_workspace_node or create_workspace_node.

    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 warns 'Destructive — check for downstream dependencies first', providing guidance on when to use caution. It also mentions pre-validation (block if ID not found). While it doesn't name specific alternatives, it implies usage context for deletion.

    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 mark destructive; description adds 'member nodes are NOT deleted' and explains name resolution process, providing critical beyond-annotation 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?

    Concise, front-loaded with action and outcome. Arg list is well-organized. No superfluous sentences.

    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, description adequately covers behavior, parameter resolution, and return type. No gaps for the tool's complexity.

    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 covers all parameters; description adds resolution logic for subgraphName and preferred status for subgraphID, enhancing utility 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?

    Description clearly states the action (delete a subgraph) and distinguishes from siblings by specifying what is affected (nodes not deleted). Verb+resource structure is explicit.

    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?

    Describes when to use subgraphID vs subgraphName with repoPath, and mentions confirmation requirement. Lacks explicit when-not-to-use but infers well from destructive nature.

    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. The description adds specific pagination behavior (default limits, hasMore flag, page semantics) and warns about incomplete results. This 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?

    Very concise: a single sentence for purpose, a clear warning, then a paragraph with usage guidance and a paragraph describing args and returns. No fluff, well-organized.

    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 6 parameters, pagination complexity, many sibling tools, and presence of annotations and output schema, the description covers prerequisites, pagination logic, expected return shape, and alternatives. Fully adequate.

    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%, baseline 3. Description adds meaning by explaining default limit values (100 vs 25 with detail), the role of pagination parameters, and the return structure (next, hasMore). This enriches the schema alone.

    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 nodes in a workspace, specifies it returns one page, and distinguishes from siblings like analyze_workspace_patterns and search_workspace_content. The description is specific about the resource and action.

    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 (list nodes), when not to use (if complete inventory needed), and provides alternatives (analyze_workspace_patterns, search_workspace_content, get_workspace_node). Also advises to find workspace IDs via list_workspaces.

    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 idempotentHint=true and destructiveHint=false. The description adds that SQL override is disallowed, whereCondition is appended to existing joinCondition, and FROM clause is pre-set. This provides useful context beyond annotations, though auth/rate limits are not mentioned but not expected.

    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 well-structured with clear sections (purpose, disallowed, when to use, example, args, returns). It is relatively long but every sentence adds value. Front-loaded with the main action. Minor redundancy (e.g., 'Args' section repeats schema) but acceptable.

    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 complexity (5 parameters with nested objects, output schema), the description covers all aspects: what the tool does, how to use each parameter, constraints (no overrideSQL, no ref()), behavior (append whereCondition), and return format. No gaps identified.

    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?

    Schema coverage is 100%, but description adds significant meaning: 'columns' is explicitly described as a complete replacement array with required name and optional transform/dataType etc. 'whereCondition' clarifies it appends to joinCondition, with an example avoiding ref syntax. 'additionalChanges' explains deep-merge behavior and lists excluded fields. This far exceeds 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 replaces all columns in a workspace node with a new set, optionally adding a WHERE filter. It distinguishes from siblings like update_workspace_node by emphasizing a single-call column replacement with filter. The verb 'Replace' and resource 'workspace node columns' 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 Guidelines5/5

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

    Explicitly lists when to use: applying column transforms, adding WHERE filters, converting to GROUP BY, replacing with aggregate functions. Also states what to avoid (overrideSQL, override.*) and advises preferring this over separate update_workspace_node calls. Includes a concrete example.

    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 return format (parsed object + YAML string), schema diff handling, round-trip UUIDs, and lossiness on cloud-only metadata, adding value beyond annotations that already declare readOnly and idempotent.

    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?

    Highly concise and well-structured: first sentence states purpose, second gives usage, third details conversion, fourth mentions round-trip and losses. No superfluous text.

    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 output schema, the description adequately explains the output (parsed disk-shape object and YAML string), transformation details, and limitations (lossy on cloud-only metadata). Sufficient for an agent to understand tool behavior.

    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 does not add additional meaning beyond what the schema provides, maintaining baseline score.

    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 serializes a workspace node to disk YAML format, distinguishing it from siblings like get_workspace_node (fetch only) and parse_disk_node_to_workspace_body (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 Guidelines5/5

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

    Explicitly states when to use: for editor/local-dev workflows needing disk representation, e.g., to run coa create --dry-run. Also implies alternatives by naming reverse 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 indicate non-read-only and non-destructive. Description adds value by explaining auth setup, that it returns a task for submission, and that it requires Snowflake credentials. Could be improved by noting possible async behavior or failure modes, but overall good.

    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?

    Well-structured: one-sentence purpose, followed by auth, parameter guidance, args list with types, returns format, and alternative tool. No wasted words, 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 complexity (nested objects, auth dependencies, multiple run types), the description covers key aspects: submission mechanism, parameter constraints, and return value. Mentions output schema indirectly via 'Returns: {...}'. Could mention polling status or concurrency limits, but run_and_wait covers final outcome.

    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?

    Schema coverage is 67%, but description significantly augments with usage rules: 'Provide exactly one of environmentID or workspaceID', 'If the user provides a job name, look up the ID...', default parallelism, and note on confirmRunAllNodes. Adds clear meaning beyond 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?

    Clearly states 'Start a new Coalesce refresh run' with specific verb and resource. Distinguishes from sibling tools like run_and_wait by mentioning it returns a task for submission, not the final outcome.

    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 when-to-use guidance: prefers run_and_wait for final outcome. Details required auth (Snowflake env vars), mutual exclusivity of environmentID/workspaceID, and mentions looking up job IDs with other tools. Covers confirmRunAllNodes requirement.

    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 the steps array is entirely replaced (destructive to previous steps) and explains the ID resolution mechanism. This adds valuable context beyond annotations, which only hint at non-readonly, non-idempotent, non-destructive behavior. 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?

    The description is well-structured with bullet points for arguments and returns, front-loading the main action. It is thorough but could be slightly more concise; however, the detail is warranted given the tool's complexity.

    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 prerequisites (ID resolution), side effects (replaces steps), return values, and edge cases (subgraph created outside session). With an output schema implied and the description providing return field details, it is complete for a complex tool.

    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?

    Schema coverage is 100%, but the description adds context about resolution order, fallback to environment variables, and the return object structure. This significantly aids the agent in understanding parameter relationships 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 it updates a subgraph's name and member nodes, replaces the entire steps array. The verb 'update' and resource 'subgraph' are specific, distinguishing it from siblings like create_workspace_subgraph and delete_workspace_subgraph.

    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 guidance on using subgraphID vs subgraphName, explains the resolution order (fastest path), and mentions the API limitation. However, it does not explicitly state when not to use this tool or list alternative tools for similar tasks.

    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 indicate idempotent and non-destructive behavior. The description adds transparency by stating it caches to disk and returns cache metadata with a resource URI. No contradictions; the side effect (writing to disk) is disclosed.

    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: one sentence for purpose, an Args list, and a Returns line. No unnecessary words; every part 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?

    For a tool with 3 optional parameters and an output schema, the description fully covers what the tool does, its parameters with defaults, and what it returns (cache metadata with resourceUri). No missing information.

    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?

    Schema coverage is 100%, and the description adds value by summarizing default values (pageSize defaults to 250, max 500; orderBy defaults to id; orderByDirection enforces 'asc' or 'desc'). This goes beyond the schema by providing defaults in a concise format.

    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 'Fetch and cache all organization users to disk for efficient repeated access.' This specifies a verb (fetch and cache), a resource (organization users), and a distinct purpose (efficient repeated access). Among siblings, list_org_users likely provides one-time listing, so this tool is well-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 implies when to use: for caching users to avoid repeated fetches. However, it does not explicitly mention when not to use or alternatives (e.g., list_org_users for one-time access). The context is clear but lacks explicit exclusions.

    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 non-destructive and non-read-only. Description reinforces non-destructive nature and adds context: reads local project, diffs, writes plan file, attaches preflight warnings if V2 artifacts detected, and is safe to call without confirmation. 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.

    Conciseness4/5

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

    Description is well-structured: front-loaded with main purpose and safety, then prerequisites, special notes, and arg list. The arg list is somewhat redundant with schema but not overly verbose. It earns its space with essential 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 complexity (8 params, output schema exists), the description covers all necessary aspects: purpose, behavior, safety, prerequisites, special V2 notice, argument summary, and return shape. Agent has sufficient information for correct invocation.

    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% with detailed descriptions. The description's 'Args' section adds some context beyond the schema, such as default output path and fallback behavior for profile/token. While schema provides complete semantic coverage, the description offers slight additional 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 generates a deployment plan by reading the local project, diffs against target, and writes a plan JSON. It uses specific verb 'generate' and resource 'deployment plan', and distinguishes from sibling coa_deploy which applies the plan.

    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 the tool is non-destructive, safe to call without confirmation, and that the plan is applied via coa_deploy, providing clear when-to-use guidance. It also lists prerequisites (credentials, environmentID) and notes the V2_DETECTED preflight warning behavior.

    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 goes beyond annotations by disclosing that SQL is passed unchanged, planner auto-resolves sources, validates node types, warns if type not observed, and requires confirmation token. 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.

    Conciseness4/5

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

    The description is structured in clear paragraphs: core purpose, alternative usage, validation behavior, consultation reference. It is informative without being overly verbose, though could be slightly more concise.

    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 complexity (14 params, nested object, output schema exists), the description covers essential behavior, usage boundaries, and parameter semantics. It is complete and provides sufficient context for an AI agent to use the 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% with good descriptions. The description adds significant usage context for parameters like sql (must be exact), confirmed/confirmationToken pairing, and dryRun purpose. Baseline 3, but value add justifies 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 the tool plans and creates a pipeline from user-provided SQL. It specifies the exact verb and resource, and distinguishes from sibling tools by explicitly noting an alternative tool sequence for manual pipeline building.

    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 when user provides SQL, not when building manually (alternative tools given). It also mentions validation behavior and consultation of node-type corpus.

    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: it states the action is permanent, cannot be undone, and specifies consequences like breaking CI/CD. It also clarifies the purpose of the 'confirmed' parameter to prevent accidental deletion.

    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 a single paragraph followed by bullet points for args and returns. Every sentence adds value, and the main action is 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?

    The description covers the tool's behavior, parameters, consequences, and return type (confirmation message). Given the availability of an output schema, this is complete and sufficient.

    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 description explains all three parameters in detail: gitAccountID (the account ID), accountOwner (optional, for org admins), and confirmed (set to true after explicit confirmation). This adds meaning beyond the schema, especially for the 'confirmed' parameter.

    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 'Permanently delete a Git account.' It is a specific verb-resource pair, and the tool name and description clearly distinguish it from siblings like 'update_git_account' and 'get_git_account'.

    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 destructive nature and warns about breaking CI/CD if it's the only account linked to a project. While it doesn't explicitly list alternatives or when not to use, the context is clear enough for the agent to understand the tool's purpose and impact.

    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 key behaviors: parses intent, fuzzy-matches entities, selects node types, creates nodes upon confirmation, returns clarification questions when ambiguous. Annotations indicate write operation (readOnlyHint=false) and non-destructive, consistent with description.

    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 well-structured with examples, clear flow, and no redundant sentences. Every sentence adds value, including the crucial note about STOP_AND_CONFIRM response. Front-loaded with main purpose and alternatives.

    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 tool complexity (11 parameters, requires output schema which exists), description fully explains workflow, error handling (ambiguity), and integration with confirmation. No gaps identified.

    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 covers all parameters (100% coverage), but description adds meaningful context: explains dryRun returns plan without creation, confirmed requires confirmationToken, repoPath fallback behavior, and targetNodeType auto-selection. This extra context justifies above baseline 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?

    Clearly states the tool builds a Coalesce pipeline from natural language, with specific verb 'build', resource 'pipeline', and source 'intent'. Distinguishes from sibling 'create_pipeline_from_plan' by mentioning it as an alternative for dry-run plans.

    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: when to use (natural language intent), when to use dryRun, prerequisite of workspaceID and intent, required confirmation flow with confirmationToken, and fallback to clarification questions for ambiguity. Also mentions alternative tool create_pipeline_from_plan.

    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: details trade-off (detail=false cheaper vs detail=true large snapshot), and client limitation (result resource link unreadable by clients like Snowflake Cortex Code). 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?

    Well-structured with main purpose, Args section, Returns section. Front-loaded with key info, 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?

    Complete for a caching tool with 5 params and output schema. Explains caching mechanism, resource link limitation, parameter behaviors. No 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 coverage 100% gives baseline 3. Description adds value: explains detail parameter cost trade-off, pageSize for collection, orderBy/orderByDirection for pagination. Above 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?

    The description clearly states the tool fetches and caches the entire workspace's nodes to disk, specifying the resource (workspace nodes) and action (fetch and cache). It distinguishes from siblings like search_workspace_content, get_workspace_node, etc.

    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 'Run this ONLY when the user explicitly wants the whole workspace cached' and provides specific alternatives for targeted work (search_workspace_content, get_workspace_node, get_workspace_subgraph, analyze_workspace_patterns).

    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?

    While annotations indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false, the description adds substantial behavioral context: it forces --dry-run --verbose, runs entirely offline without API calls, reports per-node pass/fail, explains non-zero exit code meaning, and warns about V2 node pitfalls and the limitation that it doesn't validate column existence. 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.

    Conciseness4/5

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

    The description is lengthy but well-structured with sections (OUTPUT SHAPE, LIMITATION) and front-loads the core purpose. Some redundancy exists (e.g., dry-run explained twice), but the complexity warrants the detail. Slightly verbose but organized.

    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 (dry-run with special output behavior and limitations), the description covers output shape, failure handling, V2 node bugs, and cross-tool comparisons. The output schema exists, so return values are not needed. 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.

    Parameters5/5

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

    Schema coverage is 100%, but the description adds significant value: it explains `include`/`exclude` as node selectors with examples, mentions workspace defaults to 'dev', and provides context for the node selector syntax. 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 'Preview the DDL that `coa create` would execute, without hitting the warehouse.' It specifies the verb (preview), resource (DDL), and explicitly distinguishes from `coa create` and cloud commands. The purpose is unambiguous and differentiated from siblings.

    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 explains when to use this tool (preview DDL offline) and explicitly warns against confusing it with scheduler-aware cloud commands like `coa deploy`/`coa plan`/`coa refresh`. It also clarifies that `coa create` and `coa run` are offline local-dev commands, providing clear context and exclusions.

    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 automatic config completion, join intelligence with joinSuggestions, and nodeTypeValidation warnings. Annotations (readOnlyHint=false, etc.) are consistent; description adds context about mutability and side effects 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.

    Conciseness4/5

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

    Well-structured with headings and front-loaded purpose, but lengthy. Every sentence adds value given tool complexity. Could be slightly more concise, but appropriate for the feature-rich tool.

    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 entire workflow: prerequisite planning, single-call options, specialized types warning, join intelligence, automatic config, and references external resources. Output schema exists, so return values are handled separately. Highly complete.

    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?

    Schema coverage is 100%, but description adds critical meaning: mutual exclusivity of columns vs groupByColumns+aggregates, required nodeType from plan_pipeline, goal for validation, and detailed explanations for changes, whereCondition, and other parameters.

    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?

    States explicit verb+resource: 'Create a workspace node from one or more predecessor nodes'. Distinguishes from siblings like create_workspace_node_from_scratch by emphasizing predecessor-based creation and auto-population verification.

    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 when-to-use: single-call workflow for combined creation/transforms, warnings against guessing node types, requirement to call plan_pipeline first, and exclusion of overrideSQL. Clearly differentiates from replace_workspace_node_columns and convert_join_to_aggregation.

    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 valuable behavioral context beyond annotations: fuzzy matching (case-insensitive substring), error conditions, run limit (last 50 runs), and return structure. Annotations already state readOnlyHint, idempotentHint, and destructiveHint, which align with the description.

    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 and well-structured. It front-loads the main behavior, then provides usage guidelines, parameter details, and return format. Every sentence adds value 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?

    The output schema exists, so return values are covered. The description addresses all important aspects: fuzzy matching, error handling, run scope, optional parameter behavior, and typical usage with sibling tool. It is complete for the tool's complexity.

    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 well-documented. The description supplements by explaining the 'last 50 runs' constraint and the behavior of includeResults, adding value beyond the schema. However, the Args section largely repeats 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's purpose: fuzzy-match a single environment job by name and return full details of its most recent run. It uses a specific verb-resource combination and explicitly distinguishes itself from siblings like find_jobs_by_name.

    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 when-to-use and when-not-to-use guidance: it errors on zero or multiple matches, advises using find_jobs_by_name first to disambiguate, and notes it only looks at the last 50 runs. This 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.

  • Behavior5/5

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

    Discloses pagination behavior, default limits (100 or 25 with detail=true), and response structure. Adds context beyond annotations (readOnlyHint, openWorldHint, etc.) 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.

    Conciseness4/5

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

    Well-structured and mostly concise, but the argument list in the description partially duplicates schema properties. However, the pagination warning and alternative tool mention add significant value without excessive verbosity.

    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 with pagination and optional detail, the description covers return values, default behaviors, and alternative tool. Output schema exists, so return values need less explanation, but the description still provides necessary context.

    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?

    Schema coverage is 100%, but description adds value by stating default values for limit (100 or 25 when detail=true) and explaining usage of startingFrom and orderBy, which are not fully detailed in 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 states 'List nodes deployed in a Coalesce environment' with a specific verb and resource, and distinguishes from sibling get_environment_node by advising to use ID lookup when the node is known.

    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 explains pagination: if hasMore is true, must page to avoid undercounting. Also recommends get_environment_node as an alternative when the node is known, 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.

  • Behavior5/5

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

    Annotations already indicate read-only, idempotent, non-destructive behavior. Description adds critical context: scans existing nodes only, returns observed types (may be numeric IDs), and details return structure (sorted, counts). 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?

    Highly concise: purpose and warning in two short paragraphs, followed by structured Args and Returns. Every sentence adds value with no redundancy. Front-loaded with critical usage 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 low complexity (1 param), rich annotations, and described output schema, the description is complete. It covers scope, limitations, return format, and usage warnings adequately.

    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 100% with parameter description 'The workspace ID'. Description restates this without added meaning. However, it includes a Returns section detailing output structure (nodeTypes, counts, total), which compensates minimally. Baseline 3, slight improvement from return info.

    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 distinct node types observed in current workspace nodes' with specific verb and resource. It distinguishes from a registry ('not a true installed-type registry') and contrasts with plan_pipeline. Sibling list_repo_node_types differs by scope, making 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 warns against using returned values directly for nodeType parameters and directs to plan_pipeline instead. Provides clear when-not-to-use guidance with specific examples (bare numeric IDs vs proper format).

    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 the internal fetch-merge-write behavior, merge vs replacement semantics, and forbidden fields (overrideSQL). Annotations indicate idempotentHint=true and destructiveHint=false, which is consistent. 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?

    The description is concise, front-loaded with the core purpose, and uses efficient sentences. Every sentence adds essential information 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 and the tool's complexity, the description adequately covers the update process, merge semantics, forbidden fields, and references to external resources. No gaps in requirements or behavior.

    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?

    The input schema already provides 100% description coverage for parameters. The description adds value by clarifying the changes parameter structure ('Partial node fields...'), emphasizing array replacement vs object merge, and listing common fields. This enhances understanding 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 the action (update) and resource (workspace node), explains the safe fetch-merge-write approach, and distinguishes from sibling tools like replace_workspace_node_columns by providing a specific alternative. It includes explicit mention of object deep-merge and array replacement.

    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 when-to-use and when-not-to-use guidance, including a warning against using overrideSQL/override.* fields and a pointer to list_workspaces for finding workspace IDs. Also suggests an alternative tool for complex column transformations.

    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?

    Beyond annotations (destructiveHint=true), description details that it writes files, requires confirmed:true, skips existing nodes unless overwrite:true, and explains dry-run behavior (no files written). 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?

    Well-structured with clear sections, front-loaded purpose, 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.

    Completeness5/5

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

    Covers all aspects: destructive behavior, parameters, dry-run, profile resolution, return shape, and a usage pattern. No gaps given the tool's complexity.

    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?

    Despite the input schema showing no properties, the description thoroughly explains each parameter (projectPath, location, all, include, overwrite, dryRun, profile, confirmed) and their roles, effectively compensating for the empty 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 tool scaffolds source-node YAML files from warehouse tables, distinguishing itself from sibling tools like coa_remove_warehouse_sources and coa_list_warehouse_sources via a usage pattern mention.

    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 usage constraints: exactly one of location or all, dry-run option, profile resolution, and a recommended pattern to preview with coa_list_warehouse_sources first.

    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 readOnlyHint, idempotentHint, and not destructive. Description adds value by explaining it fetches metadata and per-node results, classifies failure types, and returns recommendations. 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, front-loaded with purpose, then usage, then output. Every sentence adds value. 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?

    Description covers input (runID), when to use, what the tool does (failure classification, recommendations), and output summary. Given complexity and existing output schema, description is complete.

    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?

    Only one parameter runID. Description adds critical context: use runCounter from start_run/run_status, not UUID from URLs. This guidance goes beyond the schema's description, helping the agent avoid common errors.

    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 diagnoses failed Coalesce runs, fetches metadata and per-node results, classifies failures, and returns fix suggestions. Distinguishes from sibling run_status by specifying it's for completed failed runs.

    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 (failed runs) and when not (in-progress runs), names alternative tool run_status. Provides context that it works best with completed failed runs.

    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

coalesce-transform-mcp MCP server

Copy to your README.md:

Score Badge

coalesce-transform-mcp 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/Coalesce-Software-Inc/coalesce-transform-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server