CodexPro Runtime
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation2/5
There is significant overlap and confusion among tools. bash, run_validation, and run_task_status all handle durable/long-running commands with overlapping run-id semantics. Many git tools (git_commit, git_finalize, git_push_only) have overlapping commit/push responsibilities that are hard to distinguish. Additionally, run_acceptance and run_validation perform parallel validation roles, and run_task_status vs task_status vs acceptance_status all read asynchronous run state, creating genuine misselection risk.
Naming Consistency3/5Most tools use a consistent underscore-separated verb_noun pattern (git_commit, open_workspace, cancel_acceptance, read_many_files). However there are notable deviations: 'run_validation' uses a noun instead of a noun object, 'bash' is a bare command, and the pairing of run_acceptance/acceptance_status/read_acceptance_result versus run_validation/run_task_status/read_run_task_result follows different naming conventions for the same conceptual pattern.
Tool Count2/5With 33 tools, this server is substantially over-scoped for what appears to be a development/runtime assistant. There is heavy redundancy: three separate git commit/push tools, at least four separate status/run-task reading tools, and multiple overlapping validation tools. Several tools could be consolidated, and the count feels bloated relative to the actual distinct capabilities.
Completeness3/5The domain (a CodexPro runtime assisting with coding, Git, validation, and task management) is quite broad and largely covered: file read/write/edit, search, patch bundling, validation, acceptance tests, git lifecycle, and task status. However, the surface is convoluted rather than cleanly complete. There are confusing gaps like multiple overlapping push/commit tools with unclear boundaries and some apparent dead-ends (e.g., git_prepare_commit feeds into git_commit but git_finalize appears to duplicate this flow without clear guidance on when each is appropriate).
Average 4/5 across 33 of 33 tools scored. Lowest: 3.3/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 11 commits in the last 12 weeks
- No stable releases found
- 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.jsonto 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
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=true, destructiveHint=false) already cover the safety profile, which helps. But the description adds very little beyond that—it doesn't state whether it blocks/waiting, how status transitions work, whether it returns partial results, or whether it faults on unknown/mismatched run_ids. For a polling-status tool that may block, this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single focused sentence with zero waste. It front-loads the primary function and references the origin tool. Nothing is redundant or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a status-read tool with full schema coverage and an output schema present, so the return-format burden is offloaded. Given annotations declare read-only and non-destructive, plus 100% param schema coverage, the main missing element is behavioral detail (blocking/polling semantics) and guidance on retry patterns. Adequate for a simple read, but a polling-status tool could disclose whether it waits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are fully documented in the schema. The description only names run_acceptance as the source of run_id, adding minor context on provenance, but the run_id/workspace/conversation/generation semantics are fully handled by 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/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('read') and resource ('persisted execution and validation status for a long acceptance run') and refers to run_acceptance as the source. It's clear, though it doesn't explicitly differentiate from sibling tools like read_acceptance_result or cancel_acceptance, relying on the tool name to imply the polling usage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage ('for a long acceptance run returned by run_acceptance') and positions this as the polling complement to run_acceptance. However, it gives no explicit when-to-use vs alternatives, no mention of polling patterns or retry expectations, and doesn't contrast with read_acceptance_result.
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 destructiveHint=true, readOnlyHint=false, idempotentHint=false, which fully disclose the mutation profile. The description adds that it 'Returns a unified diff' (useful behavioral context) and mentions 'exact text replacement'. However, it doesn't disclose behaviors around replace_all verification, task_mode routing implications, or the workspace/conversation binding requirements that are clearly significant given deprecated/new parameter complexity. The description carries some burden beyond annotations but doesn't fully address the side-effecting runtime checks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero filler. It front-loads the core purpose and includes the key return value ('unified diff') immediately. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 10 parameters (many conditional: task_mode, task_instruction, workspace_generation, expected_replacements) and output schema present, this is a complex tool. The output schema covers the return value, so that's handled. However, the description doesn't help the agent navigate which parameters are required in which modes (e.g., when task_instruction is mandatory in progressive mode, when expected_replacements should be set). The annotations convey destructive behavior. It's acceptable but leaves the agent to discover mode-dependent requirements from schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does 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 all 10 parameters with descriptions. The description adds value by clarifying the edit is a 'targeted exact text replacement' (reinforcing old_text/new_text semantics) and by mentioning the unified diff return. However, the description doesn't clarify nuances like why 'Must match once unless replace_all=true' matters, or how task_mode/task_instruction interact with progressive mode verification. Baseline 3 for 100% coverage, but the description's diff annotation and exact-match emphasis push it to a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+object ('Apply a targeted exact text replacement inside a workspace text file') that clearly conveys the core function. It doesn't explicitly distinguish from the sibling 'write' tool, though the word 'targeted exact text replacement' implies surgical edits vs full-file writes. A 4 is appropriate since purpose is clear but sibling differentiation is implicit rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the sibling 'write' tool, 'apply_patch_bundle', or other editing alternatives. The description implies usage for targeted file modifications but provides no exclusions or alternative tool recommendations. With 25+ siblings including 'write', explicitly distinguishing edit-vs-write would substantially help agent selection.
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 declare destructiveHint=true and readOnlyHint=false, so the write operation is already flagged as potentially destructive. The description adds useful context: it returns a unified diff and forbids empty placeholder files. However, it does not state that overwriting is the default behavior (the schema's overwrite default of true), nor explain implications of the workspace_generation/workspace_id staleness rejection behavior. With destructiveHint annotation present, the bar is lower, and the description adds reasonable 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that are front-loaded with purpose and add the return-type and no-empty-files guidance. No waste, but could mention the diff return more prominently or add a sibling contrast. Efficient and focused.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 9 parameters (complex, with workspace_generation/workspace_id staleness handling and task_mode overrides) and an output schema exists. The description covers the core purpose but leaves the workspace binding/generation semantics and task_mode routing unexplained in prose. Given the tool's complexity and many sibling alternatives (edit, apply_patch_bundle, bash), the description is somewhat thin for guiding correct selection among complex options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 9 parameters are documented in the schema. The description adds only the unified-diff return and no-empty-file guidance, which doesn't map specifically to parameters. The overwrite default (true) and create_dirs default (true) are in the schema but not surfaced in the description. Baseline 3 is appropriate since schema covers all parameters adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb+resource: 'Create or overwrite a meaningful text file inside the workspace.' It distinguishes its primary purpose from siblings like read, edit, and bash. However, it doesn't explicitly contrast with edit (its closest sibling), and the mention of the diff return is useful context that differentiates it from simple write tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys that this is for creating meaningful text content in the workspace and warns not to create empty placeholder files. However, it does not explicitly state when to use this vs. the edit tool (which is a sibling) for modifying existing files, nor does it mention 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.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavioral traits. It mentions 'exact-replacement' and 'compact tool call' but doesn't disclose the atomicity of operations (are they all-or-nothing?), validation behavior, partial-failure handling, or whether overwrite/replace operations are destructive. Expected_replacements and replace_all are schema fields but their runtime semantics aren't explained. Some useful context is absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core purpose. It's appropriately short with no filler. It could add one clause about atomicity or use cases without bloating, but as-is it's efficient and earn its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, which lessens the need to explain return values. But it's a complex batched mutation tool with 6 top-level params, nested operation objects with 8 sub-fields each, and no annotations. The description doesn't cover atomicity, error handling, or the semantics of inner operation fields. For a tool of this complexity, a bit more behavioral context would help, though the schema does carry substantial documentation weight.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, so most parameters are already documented with meaningful descriptions (task_mode, workspace_id, conversation_id, task_instruction, workspace_generation). However, the nested operations array's inner fields (overwrite, create_dirs, replace_all, expected_replacements, operation_id) have NO descriptions in the schema, and the tool description doesn't compensate for these. The description does contribute the insight that this is a batched alternative to individual operations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool applies 'multiple write or exact-replacement operations in one compact tool call.' It's a specific verb+resource combination that distinguishes it from siblings like write, edit, and read. However, it doesn't explicitly name those sibling alternatives or clarify how this differs from a single write/edit call beyond batching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies batching use ('in one compact tool call') but provides no explicit when-to-use or when-not-to-use guidance. It doesn't mention when to prefer this over individual write/edit calls, nor alternative tools. Sibling tools like write, edit, bash, and git_commit suggest overlap, but no exclusions or selection criteria are 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 declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds the behavioral note about avoiding unnecessary rereads after writes. However, it doesn't disclose line-numbering behavior specifics or large-file truncation given the max_bytes cap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose. The second sentence about avoiding rereads is somewhat tangential to what the tool does but is useful guidance. No waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With readOnlyHint=true, a 100% schema coverage on 6 params, and an output schema present, the description is adequate. The only gap is not explaining what 'line numbers' output format looks like, but the output schema likely covers that. A complete read tool with good annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all 6 parameters are documented in the schema. The description adds little beyond the schema; the 'avoid rereading' guidance is the only value-add. Baseline 3 is appropriate given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it reads a text file with line numbers, which is a specific verb+resource. It doesn't explicitly distinguish from sibling tools like read_many_files or tree, though the line-number specificity offers some differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is guidance about when NOT to read (avoiding rereading files after write/edit unless exact content is needed), providing useful context. However, it doesn't explicitly discuss when to prefer alternatives like read_many_files or the read-only nature.
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 readOnlyHint annotation already declares this as a read operation, so the safety profile is covered. The description adds useful context: 'Returns bounded per-file previews' and mentions context overrides exist (max_total_chars, max_files_per_task, max_lines_per_file). However, it leaves unspecified what 'bounded' means concretely or what happens when limits are exceeded (truncation? error? partial content?). The description adds some value beyond annotations but doesn't fully characterize the behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler. The first sentence states purpose and motivation, the second clarifies the return behavior. Every word earns its place, and the critical distinction (batching) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Has an output schema and readOnlyHint annotation, which lighten the burden. The description covers the core purpose and return behavior but doesn't address limit semantics (what happens at bounds), whether files can be non-text, missing-file handling, or the interaction between per-file and total limits. For a tool with 7 parameters and 50-file batches, some edge-case guidance would improve completeness, but given the output schema and annotation coverage, this is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 71%, and the description doesn't add parameter-level detail beyond what the schema provides. The 'files' array parameter's structure (path, start_line, end_line, max_bytes) is entirely schema-documented. 'Bounded per-file previews' hints at the max_bytes/max_chars semantics but doesn't explain the preview behavior specifically. The description mostly relies on the schema, which is baseline-acceptable at this coverage level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb+resource: 'Read multiple text files in one compact tool call.' It distinguishes from the sibling 'read' tool by emphasizing the batching benefit ('reduce repeated read/cat windows'). However, it doesn't explicitly distinguish from other reads like 'read_rule_summary' or 'read_acceptance_result', and the distinction from sibling 'read' is only implied through the batching rationale rather than stated directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it: when you need to read multiple files at once ('reduce repeated read/cat windows'). But it doesn't explicitly state when NOT to use it (e.g., single file reads, non-text files, binary files) or name alternative tools. With 32+ siblings including 'read', 'tree', and 'search_project', explicit exclusion guidance would materially help an agent decide between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds the 'excluding blocked paths' behavioral note, which is useful context beyond annotations. However, it doesn't describe output formatting, how depth/entry limits truncate output, or whether hidden files appear by default. With read-only annotations present, a 3 is appropriate — it adds some value but lacks richer 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with no wasted words. It front-loads the core purpose (list files/directories) and states the key exclusion behavior. It's minimal but appropriately so given the strong schema and annotation coverage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema exists, so return value explanation isn't needed. Given the read-only annotations, comprehensive param schema, and simple listing purpose, the description is reasonably complete. The 12-level depth cap, 3000-entry cap, and workspace binding behaviors are all in the schema. What's missing is a hint about when the tree listing might be too large or how it relates to other exploration tools, but for a simple list tool this is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 6 params are documented in the schema with defaults and ranges already explained. The description adds 'excluding blocked paths' as a global filter behavior, but the per-parameter semantics (path format, depth limits, entry limits) are fully covered by the schema. Baseline 3 applies since the schema does the heavy lifting and the description doesn't add significant param-level insight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'List files and directories inside the workspace, excluding blocked paths' — a clear verb+resource with a distinctive exclusion behavior. However, it does not distinguish itself from sibling read tools like 'read' or 'search_project', which also navigate the filesystem. The purpose is clear but the scoping nuance (workspace-relative, blocked-path exclusion) is underemphasized given many similar read-oriented siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is a read-only listing tool for workspace files but gives no explicit when-to-use guidance versus alternatives like 'search_project' or 'read_many_files'. There's no mention of output format or typical use cases (e.g. 'use to get an overview before editing'). Context is implied by 'workspace' and 'blocked paths' but no exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotation Contradiction: The description explicitly says this is a 'stable wrapper' and instructs calling read-only tools like search_project and read_many_files, yet annotations declare destructiveHint=true and readOnlyHint=false, implying it is a dangerous mutating tool. The description frames it as a safe routing layer for hidden actions, which conflicts with the destructiveHint. The description does not disclose any mutation or destructive behavior that would justify 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three taut sentences with zero waste. It front-loads the purpose, immediately gives actionable guidance on what to call instead, and closes with a mode constraint. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a wrapper tool that delegates to hidden actions, the description reasonably directs agents away rather than documenting each hidden behavior. Output schema and full param coverage exist. However, given the destructiveHint=true annotation, the description should have clarified what destructive behavior may occur, since the visible-tool comparison doesn't account for hidden specialist actions it wraps. This gap prevents a higher score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema documents both parameters (action and args). The args description ('Same shape as the wrapped CodexPro tool') adds useful context about nesting, and action points to list_actions. The description itself doesn't elaborate further, but baseline 3 is appropriate given full schema coverage and the extra 'same shape as wrapped tool' note adds some value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this is a 'stable wrapper only for hidden specialist actions' and explicitly names the visible tools (search_project, read_many_files, apply_patch_bundle, run_validation, show_changes) that should be called directly instead. This distinguishes it from sibling tools like write, bash, task_complete, 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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Exceptional guidance: it explicitly tells agents to call visible tools directly ('Call visible tools such as...directly') and warns that wrapping visible actions 'adds avoidable routing failures'. It also notes it cannot call tools disabled by the current mode, which is a clear usage constraint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is established. The description adds the 'without modifying the repository or remote' guarantee, reinforcing the read-only nature. However, it doesn't disclose details like network behavior, fetch requirements (does it need a fetch to be fresh?), or what happens if remote is unreachable — meaningful behavioral gaps for a remote-interacting tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tight sentence that front-loads the core purpose. It wastes no words on fluff. Slightly more detail could be added about remote interaction behavior, but the current form is efficient and appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With readOnlyHint=true, destructiveHint=false, an output schema, and 100% schema coverage, the structured data is rich. The description completes the picture by stating the exact calculation (ahead/behind) and non-modification guarantee. Given the tool's moderate complexity (remote query vs. local operation), the combination is reasonably complete, though remote-unreachable behavior disclosure would push it higher.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 5 parameters are documented in the schema. The description adds marginal context about the operation's relationship to these params (branch/remote selection for the state calculation) but doesn't add meaning beyond schema descriptions. The baseline 3 applies since the schema carries the param-documentation burden fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states the exact purpose: 'Read the exact local HEAD and remote branch head and calculate ahead/behind state' — a specific verb (read/calculate) plus resource (git remote state). It explicitly notes 'without modifying the repository or remote,' distinguishing this as a non-mutating read operation, which separates it from sibling git tools like git_commit, git_push, and git_prepare_commit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly establishes this as a read-only operation and the title '核对 Git 远端状态' (verify git remote state) implies when to use it, but it does not explicitly state when-not-to-use it or name alternative tools. Among git siblings (git_push, git_commit, git_finalize), the read-only framing provides context, yet there's no explicit comparison to alternatives for ahead/behind analysis.
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 covered. The description adds value by disclosing the live projection nature (from multiple authoritative sources) and uses the word 'read-only' redundantly but consistently with annotations. No contradiction; it provides reasonable context beyond the 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that efficiently conveys the purpose. It uses precise terminology (unified, projected live, authoritative, Goal/Durable Job/Handoff). Slightly jargon-heavy for a non-expert, but economical with strong front-loading of the verb and read-only nature.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only status retrieval tool with an output schema present and good annotations, this is largely complete. The description conveys the unified-source behavior and the live/authoritative nature. The main gap is not explaining what the returned status structure looks like beyond the output schema, but since an output schema exists, the description needn't carry that burden. The term 'Handoff' and 'Goal' are domain-specific but reasonable for this context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: task_id and workspace_id are documented in the schema, but conversation_id is not described in the description. The description adds the 'unified' and 'live' semantics that clarify what task_id resolves to, but it doesn't explain parameter relationships or how the three parameters interact. The description works with—but doesn't substantially extend—the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description has a specific verb+resource ('Read one unified, read-only task status') and clearly states what it returns - a status projected from Goal, Durable Job, or Handoff state. It's distinct in that it provides a unified view across sources, though sibling tools like 'current_task' and 'run_task_status' overlap in purpose, and the description doesn't explicitly differentiate them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is for reading a live, authoritative status snapshot, which clarifies when to use it versus other state-tracking tools. However, it doesn't explicitly state when NOT to use it or point to alternatives like 'current_task' or 'run_task_status', and siblings are numerous with overlapping read/status functions leaving the selection reasoning implicit.
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 declare destructiveHint=true, readOnlyHint=false, and openWorldHint=true, which cover the mutation/execution safety profile. The description adds useful async behavior context (persistent local tasks returning run ids immediately vs synchronous checks). However, it doesn't disclose what happens on failure, cleanup behavior, or whether results are retrievable via read_acceptance_result or acceptance_status, leaving behavioral gaps that annotations also don't fill.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler. Every word earns its place — the first sentence states the core function, the second conveys the crucial async/sync dichotomy that shapes agent expectations. No redundancy with schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists (so return values are documented), rich annotations, and 100% schema parameter coverage, the description provides adequate context. It covers the key decision (sync vs async execution) that an agent needs to know before invoking. Small gap: doesn't mention how to retrieve results or check status for long-running tasks, though sibling tools (acceptance_status, read_acceptance_result) imply this flow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 8 parameters are documented in the schema. The description adds value by explaining the async/sync behavioral distinction which maps to execution_mode semantics, but mostly relies on schema descriptions that are already quite detailed (e.g., workspace_id auto-binding, conversation_id injection, stale generation rejection). This is a baseline-3 case where the schema carries the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb+resource: 'Run commands from .codexpro/acceptance.yml'. It identifies which profiles run synchronously vs asynchronously, distinguishing this tool's behavior. However, it doesn't explicitly differentiate from sibling tools like run_validation or run_task_status, which could be alternative validation/execution 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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when each execution mode applies ('Long profiles start as persistent local tasks', 'short checks may remain synchronous'), implying usage for running acceptance tests. However, it doesn't explicitly state when NOT to use this tool or name alternative tools (e.g., run_validation for other validation types), leaving some ambiguity in tool selection.
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 and destructiveHint=false, so the safety profile is known. However, the description adds minimal behavioral context — it doesn't explain that classification is deterministic, cacheable, or how the workspace_id/workspace_generation rejection behavior works (though that's in schema). With annotations covering the basic safety profile, the description should add more behavioral context like 'this is a lightweight classification call, doesn't persist state' but doesn't.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, zero waste, front-loaded with the core action. Perfectly concise for what it communicates.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters (7 optional), 100% schema coverage, an output schema, and read-only annotations, the description covers the essential job. The output schema handles return-value documentation. Minor gap: doesn't mention that this is typically the first call in a workflow (a natural pre-cursor to other tools), but given the rich schema and annotations, this is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter is well-described in the schema. The description mentions the core input (user task) and the output concept. Given the coverage is complete, the description doesn't need to add much, and the small addition it makes (mode-specific tool policy output) is useful. Beyond baseline 3 because the schema parameters themselves are richly described.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (classify), the resource (user task into a CodexPro task mode), and the output (mode-specific tool policy / misuse guard guidance). It distinguishes from siblings like 'codexpro', 'read_rule_summary', and 'run_acceptance' reasonably well, though it doesn't explicitly name an alternative. Slight deduction for not naming specific sibling alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage is to classify a task before running tools in the CodexPro pipeline. The description doesn't explicitly state when NOT to use it or name alternatives, but the purpose is clear enough for an agent to infer it's the gatekeeper before code execution tools. Lacks explicit exclusions or 'use X instead' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, so the safety profile is covered. The description adds an implicit batching/performance behavior (combining queries into one call) but doesn't disclose return format, pagination, result limits, or error behavior beyond what the schema exposes. With readOnlyHint present and schema partial, the description adds modest value but not deep behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, front-loaded with the primary action and followed by the key constraint. Every clause earns its place, explicitly stating the batching requirement and the disqualifying anti-patterns. Excellent conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 10 parameters but the description only addresses the batching strategy and follow-up reading pattern. With an output schema present and partial annotation coverage, the description doesn't fully explain result semantics, limits behavior (max_total_chars, max_results_per_query truncation), or what 'partial response' means operationally. Adequate for basic use but gaps remain for a multi-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, so approximately half the parameters have inline descriptions. The description itself doesn't explain individual parameters beyond the batching directive. The 'unknown or mismatched id is rejected' detail for workspace_id is helpful but lives in the schema, not the description. The description adds limited parameter nuance beyond what the schema already communicates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states the core action ('Batch all currently known fixed-string queries into one compact call') with a specific verb and resource, and distinguishes it from individual per-symbol search approaches. It could be clearer about being a read-only search of project content, but the batching directive makes the purpose reasonably identifiable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use it ('batch all currently known fixed-string queries into one compact call'), what to do after ('read returned paths with read_many_files'), and explicitly what NOT to do ('do not issue one search call per symbol'). It also names the alternative tool (read_many_files). This is strong, actionable 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 declare idempotentHint=true and destructiveHint=false, which are well-covered. The description adds substantial value: it discloses that in Gold Task sessions it enforces mandatory file scope, fresh validation, Git, and control-repository completion checks, and supplies the supervisor completion signal. This is meaningful behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, dense but not bloated. The first sentence conveys the core action; the second adds conditional behavior context. No wasted words, though the Gold Task enforcement detail is substantial and somewhat dense for one sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the trigger condition, conditional behavior, notification side-effect, and supervisor signal. An output schema exists, so return values need not be explained. For a notification tool with 7 params it's reasonably complete; the enforcement chain ordering could be slightly more explicit but is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema documents all 7 parameters. The description adds some context about the workspace_id/conversation_id binding behavior ('Modern MCP injects it automatically') and staleness rejection, which goes slightly beyond bare schema text. Given full coverage, baseline 3 is appropriate with minor bonus for behavioral binding notes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: 'Send one local Windows notification' after the workspace task passes focused verification. It distinguishes its Gold Task enforcement role from optional use outside. However, it doesn't fully distinguish from sibling tools like task_status or publish_task_report, though the notification-specific scope is fairly clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear when-to-use context: after the entire workspace task has passed focused verification, and it distinguishes Gold Task sessions (mandatory checks enforced) from non-Gold (optional). It doesn't name specific alternative tools for similar notification or completion purposes but conveys the triggering condition well.
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 destructiveHint=true and readOnlyHint=false but not idempotentHint. The description adds valuable behavior beyond annotations: queued runs are removed from resource queue, running managed validation receives abort signal with process tree termination. It clearly discloses the destructive termination behavior but doesn't address reversibility or partial-cancellation states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense, front-loaded sentences with zero waste. Every clause adds meaningful behavioral information about the two run states (queued vs running). Excellent signal density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, schema coverage is 100%, and 6 params are documented. The description covers the key mutable behavior (queue removal, abort signal, process tree termination) for a destructive operation. The only gap is it doesn't clarify what the output/return value contains or whether a partial cancel can occur, but the rich schema + annotations make this reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all 6 parameters are documented in the schema. The description doesn't add parameter-level meaning beyond what the schema provides (it doesn't explain the source of owner_token or fencing_token, though the schema references run_acceptance/acceptance_status). Baseline 3 is appropriate since the schema does the heavy lifting for all parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('Cancel one persisted acceptance run') and distinguishes behaviors for queued vs running runs. It clearly differs from siblings like run_acceptance, acceptance_status, and read_acceptance_result.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what cancellation does mechanically (removes from queue, sends abort signal) but gives no explicit when-to-use or when-not-to-use guidance, nor exclusions. It does note the openWorldHint=true in annotations implying side effects outside this workspace, but the description doesn't address when cancelling is appropriate or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false. The description reinforces the read-only nature ('never stages, commits, or pushes') and adds that it 'binds to the current HEAD and validation evidence' and 'reports blockers' — useful context beyond annotations. It doesn't describe return format details, but those are covered by the output 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste. The first sentence states the action; the second sentence states the constraints. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists and covers return values. The tool has 6 params but only 1 required, all well-documented in the schema. Annotations cover the safety profile. The description adds the HEAD-binding and blocker-reporting context that makes invocation decisions clear. Slightly more could be said about what 'blockers' means, but the overall picture is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with rich per-parameter descriptions (e.g., workspace_id being auto-injected and rejecting unknown/mismatched values, commit_message having no side effects, selected_paths defaulting to all changed paths). The description adds little beyond the schema because the schema already carries the full load. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource structure: 'Read the exact current change set, bind it to the current HEAD and validation evidence, and report blockers.' It clearly distinguishes from siblings like git_commit, git_push, and git_finalize by explicitly stating 'This tool never stages, commits, or pushes.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what the tool does and what it never does (stage, commit, push), giving clear context that it's a preparation/dry-run tool. The explicit 'never' statements help the agent know when NOT to invoke this, though it doesn't name alternative tools to use instead (e.g., pointing to git_commit for actual commits).
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?
With no annotations provided, the description carries the burden of behavioral disclosure. It communicates that this is a read-only status polling operation on a 'durable asynchronous run,' which conveys non-blocking, state-querying behavior. However, it doesn't describe return states (pending/running/completed/failed), polling behavior, or whether runs expire, leaving behavioral nuance unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single, information-dense sentence earns its place with no filler. It front-loads the core action (read state), names the resource type (durable async run), and enumerates both run sources concisely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a status-polling tool with an output schema present and full parameter documentation, the description is largely sufficient. The output schema presumably documents return states, reducing the need for the description to explain them. Minor gap: could mention that this is the correct tool to poll during long runs, but this is largely implied by 'current state of a durable asynchronous run.'
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 three parameters including the minLength requirement and optional workspace/conversation binding behavior. The description adds no additional parameter meaning beyond what the schema provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource combination: 'Read the current state of a durable asynchronous run', clearly distinguishing it from start_run_task (which starts) and read_run_task_result (which reads the final result). It also clarifies the two sources of runs: explicitly started via start_run_task or implicitly returned by bash/run_validation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly establishes when this tool applies (checking status of durable async runs) and distinguishes it from starting runs (start_run_task). However, it doesn't explicitly state when NOT to use this vs read_run_task_result (whether result-reading subsumes status checking) or acceptance_status, leaving some ambiguity about relative tool choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and destructiveHint=false, which cover the safety profile. The description adds value beyond annotations by explicitly stating it does NOT reveal auth tokens, which is a valuable disclosure that prevents an agent from expecting sensitive data in the output. This privacy caveat is contextual and useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that fully covers what the tool does and adds a key caveat (no auth tokens). Zero wasted words, front-loaded with the primary purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description doesn't need to explain return values. The tool has no parameters, is a simple read-only inspection, and the description covers purpose plus the important privacy caveat. This is complete for its complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, so there's nothing for the description to document. With zero parameters, the baseline score is 4 per the rubric, and the description adds no harmful or irrelevant parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool shows server configuration, safety modes, limits, and blocked paths. It uses a specific verb ('Show') with a clear resource (server configuration). It doesn't explicitly differentiate from siblings, but there's no obvious sibling that overlaps with this functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is a read-only informational tool for inspecting server configuration. It doesn't explicitly state when to use it vs alternatives, but the context signals (0 parameters, readOnly hint) make its purpose self-evident as a status/inspection 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 declare readOnlyHint=true and destructiveHint=false, so the read-only safety profile is already covered. The description adds value by explaining the 'unified live projection' mechanism and the priority ordering behavior, which goes 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose. Each sentence earns its place: the first states what and how, the second states the priority rule. Minor efficiency could compress further, but it is appropriately tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With full schema coverage, an output schema present, and read-only annotations, the description needs only to explain the high-level read semantics and prioritization, which it does. The priority rule adds behavioral context not capturable in schema, making this sufficiently complete for a read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 three parameters (workspace_id, conversation_id, workspace_generation) thoroughly. The description adds no additional parameter-level detail, which is acceptable given full schema coverage. The description's purpose is separate from parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (Read) and resource (the highest-priority current task across Goal, Durable Job, and Handoff) using the unified live projection. It distinguishes itself from task-related siblings by naming the specific sources it reads and the projection mechanism.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes clear priority semantics: 'Running and waiting work takes precedence over recent terminal history.' It does not explicitly name sibling alternatives for when not to use this tool, but the precedence rule gives concrete selection context within the task-reading family.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=false (mutation), openWorldHint=true, idempotentHint=false, destructiveHint=false. The description adds strong behavioral detail: rejects non-fast-forward, forbids force, verifies remote SHA after push. This goes well beyond annotations, adding safety guarantees (reject unexpected advancement, verify post-push SHA). It could mention side-effects more but the safety semantics are clearly disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence. It's efficient with no wasted words, but it packs a lot of concepts (exact SHA, single branch, reject advancement, non-fast-forward, forbid force, verify remote SHA) into one long run-on-style sentence. The information density is appropriate but readability could be improved with clearer structuring.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, an output schema, and full schema coverage, this is a complex tool (git manipulation with safety guards). The description covers the core contract: what's pushed, what's rejected, what's forbidden, and what's verified. For a push operation with strong safety semantics, this conveys the essential contract. It doesn't describe error behaviors or return values, but the output schema covers returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all 8 parameters thoroughly. The description adds 'reject unexpected remote advancement or non-fast-forward state' context that gives meaning to expected_remote_sha (it's a precondition/guard), and 'verify the remote SHA after push' giving meaning to the verification contract. That adds some value, but the schema does the heavy lifting for most parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('push exactly one full commit SHA to one named remote branch') and clearly distinguishes from siblings (git_push_only, git_commit, git_finalize) by specifying exact SHA, single branch, fast-forward rejection, forbidding force, and post-push verification. This is precise and differentiates well.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies it is the strictest push variant, rejecting unexpected remote advancement/non-fast-forward states and forbidding force. However, it does not explicitly name alternatives like git_push_only or explain when to use this vs git_prepare_commit/git_finalize in the workflow sequence. Sibling differentiation is implicit 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?
With no annotations provided, the description carries the full burden. It discloses behavior traits: it reads saved results for terminal states (completed/failed/blocked/cancelled), and it explicitly notes it does not duplicate the report in structured content. This provides useful behavioral nuance about what the tool returns versus structured content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, efficient and front-loaded. The core purpose is stated in the first sentence, and the exclusions in the second. No wasted words. Could arguably merge ideas more tightly, but it's appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and 100% parameter coverage, the description doesn't need to explain return values or parameter mechanics. It covers the tool's purpose, scope across various terminal states, and clarifies the non-duplication of structured content. For a tool with rich schema and output schema support, this is adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 four parameters with meaningful descriptions (run_id, max_chars, workspace_id, conversation_id). The description adds context that run_id comes from start_run_task, bash, or run_validation, which is a slight enrichment, but overall the description doesn't add substantial meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (Read), the resource (saved result for terminal durable run), and the scope (completed, failed, blocked, or cancelled long bash/run_validation commands). It also distinguishes itself by noting it does not duplicate the report in structured content, differentiating it from sibling tools like run_validation and publish_task_report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies when to use it (read saved result for terminal durable runs, including long bash/run_validation commands). It notes what it does NOT do (does not duplicate the report in structured content), providing partial exclusion guidance. However, it doesn't explicitly name alternative tools like read_acceptance_result or acceptance_status for comparison when a sibling would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is rich in behavioral disclosure beyond annotations: it explains the merge of selected/expected paths, the blocking behavior for missing/extra paths, content-bound security receipt creation, sensitive-path blocking, rejection of mismatched workspace ids/generations, and the explicit statement that build/tests/validation are not rerun. Annotation openWorldHint=true is consistent with the description's scope-expanding merge behavior. This fully compensates for the sparse 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense run-on paragraph covering ~10 distinct behaviors with colons chaining multiple clauses. While information-dense and largely front-loaded with the primary purpose, the lack of sentence breaks or structural separation reduces scannability. It is arguably over-specified for a description, though each clause does add genuine behavioral information rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 10 parameters, an output schema, and 100% schema coverage, the description comprehensively covers the full behavioral surface: path merging/eligibility, exclusion rules, blocking conditions, security receipt validation, push modes, workspace binding, and explicit non-re-run operations. With an output schema present and rich schema descriptions, the description need not enumerate return values. The state-machine-like flow (scan, verify, receipt, commit, re-verify, push) is fully disclosed without excess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already well-documented in the schema. The description adds value by clarifying the interaction semantics between selected_paths and expected_paths (merge behavior), the include_untracked legacy flag's reduced role, and the workspace binding/defaults for workspace_id and workspace_generation. The description complements rather than merely repeats the schema. Slight overlap remains since schema already documents much of this, so a strong 4 rather than 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a clear verb+resource ('finalize Git changes') with substantial detail about the operation: merging paths, blocking missing/extra paths, creating a security receipt, verifying committed paths, and optionally pushing. It distinguishes from siblings by covering the full finalize workflow (combining commit+push with safety checks) rather than just committing or pushing alone. However, the purpose is stated as one long run-on sentence listing many sub-steps, making it somewhat harder to parse as a single tool intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is the integrated finalize step (commit + optional push with security checks), distinguishing it operationally from sibling tools like git_commit and git_push_only. It notes explicitly what is NOT rerun (build, tests, browser validation, Acceptance, formal certification), giving exclusion guidance. However, it does not explicitly name alternative sibling tools for when-to-use vs when-not-to-use the standalone tools.
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?
With no annotations provided, the description carries the burden and does disclose the key durable execution behavior: long commands in auto mode return immediately with a run id and continue in the background. However, it does not fully disclose what happens to short commands in auto mode beyond 'return synchronously' (e.g., returned data shape), or differences in async vs sync modes more granularly. The execution_mode parameter also explains some of this directly, reducing the credit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tight sentences with zero wasted words. It front-loads the core purpose, then explains the durable behavior in the second sentence, and closes with the synchronous short-command behavior. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high parameter count (13) and moderate schema coverage (54%), the description addresses the most operationally important behavioral distinction (durable vs synchronous execution) and names the follow-up tools. An output schema exists, so return-value documentation is the structured field's responsibility. However, given 13 parameters and many undocumented ones, slightly more detail on output structure when synchronous vs run-id-only would strengthen completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 54%, meaning roughly half the parameters lack descriptions (cwd, run_id, commands, tail_lines, timeout_ms have no descriptions). The description adds meaning about execution_mode and output_mode behavior but does not address the undocumented parameters like commands (which is central), tail_lines, or timeout_ms. With partial coverage, the description compensates only marginally for the undocumented params.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource ('Run project checks') and clearly states the tool runs builds and test suites. It distinguishes itself from sibling run_acceptance by focusing on general project validation/checks rather than acceptance tests, and mentions the durable handling for long builds.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly discusses execution modes and when each applies: auto returns immediately with a run id for long commands, short checks return synchronously. It names the companion tools (run_task_status, read_run_task_result) for retrieving final results, providing concrete when-to-use guidance and alternatives for follow-up.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds value by specifying output format (status + diff stats + optional diff) but doesn't detail behavioral traits like pagination, output truncation, or how the optional diff is toggled. With annotations handling safety, a 3 is appropriate as it adds some context but not deep behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that front-load the purpose and immediately provide usage differentiation. Zero wasted words, no rehashing of schema details, and the alternative-tool list is valuable guidance packed efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema exists, so return values need no explanation. With rich annotations and 100% schema coverage, the description covers the core purpose, usage context, and alternatives. Slightly short of 5 due to not mentioning how path filtering interacts with the output or any nuances about staged vs unstaged review, but overall complete for a review-oriented read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 5 parameters. The description implies optional diff behavior but doesn't add meaning beyond what the schema provides. Baseline 3 is correct when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Summarize') with a clear resource ('current workspace changes') and explicitly names the output components (git status, diff stats, optional diff). It also differentiates from siblings by naming alternative tools and instructing to use this instead.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use this tool ('when reviewing work') and provides exclusions listing four alternatives (bash git status, bash git diff, git_status, git_diff). This is clear when/alternatives guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces this by explicitly stating it is read-only and never replays work. It adds the side-effect-aware nature of the plan without contradiction. It could disclose the return shape or plan structure, but annotations cover the safety profile 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two crisp sentences with zero waste. States purpose, triggers, and a safety qualifier. Front-loaded with the primary action first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given it has an output schema (so return values are documented elsewhere), read-only annotations, and 75% parameter coverage, the description provides sufficient context. It could note what consequences or plan contents are most important, but the output schema presumably handles that. Solid completeness for a read tool with good structured metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, and three of four parameters have descriptive schema text covering workspace binding, conversation id, and generation semantics. The description adds the 'side-effect-aware' context but doesn't add meaning beyond the schema for the parameters. Baseline 3 applies given the high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource (Read a unified, side-effect-aware recovery plan) with clear scope: before resuming a Goal, Durable Job, or Handoff. It differentiates itself from read/write siblings by explicitly noting it is read-only and never replays work, distinguishing it from task_status and run_task_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use (before resuming a Goal, Durable Job, or Handoff) and includes an implicit exclusion by explicitly declaring it never replays work. It doesn't name alternative tools for the 'when-not' case, which is the only gap.
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 destructiveHint=true and readOnlyHint=false, so the mutation/destructive nature is covered by annotations. The description adds valuable context the annotations don't: the async durable run-id behavior in execution_mode=auto, the prohibition on command chaining, and the return-immediately semantics. This adds meaningful behavioral detail beyond what annotations offer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Description is compact and front-loaded with the core action. The four sentences are each purposeful: primary action, async behavior, post-error handling, exclusions. Slightly dense but no redundancy or filler. Very close to a 5, though the multiple clauses about async behavior could be simplified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 11 parameters, 100% schema coverage, an output schema, and strong annotations, the description covers the key operational guidance: async vs sync, which results to fetch, what's forbidden, and what to use instead. The output schema handles return-value documentation. Complete enough for effective agent use given the rich schema and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 11 parameters are already documented in the schema. The description adds no per-parameter detail beyond the schema. However, the description adds top-level semantics (async behavior, no chaining) that relate to parameters like execution_mode, though these are already partially covered in the schema enum descriptions. Baseline 3 is appropriate given the schema carries the parameter burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Run one allowlisted verification command' — a specific verb+resource with clear scope. It distinguishes from siblings by explicitly excluding git/file-inspection tasks and directing those to show_changes, tree, search, and read. The execution_mode=auto async behavior is also clearly described.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Highly explicit guidance: tells when long commands become async, instructs to use run_task_status and read_run_task_result after transport errors, explicitly forbids chaining with &&/pipes/redirects, and names specific alternative tools (show_changes, tree, search, read) for non-bash operations. This is comprehensive 'when/when-not' guidance that directly improves agent behavior.
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 annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds important behavioral context beyond annotations: it explicitly emphasizes strict read-only semantics (never activates, rebinds, or changes the active workspace) and describes the unbound-conversation fallback behavior. This is a genuinely useful behavioral caveat, though it doesn't detail return format or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact at three sentences and front-loaded with a direct statement of purpose. The sentences each earn their place: purpose, safety guarantee, and fallback behavior. Slight deduction for not being structured with explicit headings, but the flow is logical and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 6 parameters (all with 100% schema coverage), an output schema, and read-only annotations that establish the safety profile. The description covers the core behavioral contract (read-only, unbound fallback, explicit alternative tool). It could add what the return payload includes, but the output schema exists and the schema covers parameters, so the description is reasonably complete for this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each of the 6 parameters is already documented in the schema with meaningful descriptions. The tool description itself adds no parameter-level semantics, but since the schema carries the full burden and does so well, baseline 3 is appropriate. The description's mention of the read-only contract does contextualize why include_tree/include_skills default to false (speed) but that's schema content.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads the workspace already bound to the conversation, using a specific verb ('Read') plus resource ('workspace already bound to this Connector conversation'). It explicitly distinguishes itself from open_workspace by stating it never activates, rebinds, or changes the global active workspace, which clearly differentiates it from the sibling open_workspace tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool (read the already-bound workspace) and provides a clear alternative instruction: if the conversation is unbound, it inspects the configured default root and asks the caller to use open_workspace explicitly. This gives the agent an explicit when/when-not decision path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no destructive/readonly hints, so the description carries full responsibility. It discloses the key behavioral nuance: connection binding vs global workspace distinction, and that activate=false yields read-only behavior. It doesn't detail failures, permissions, or return format, but the core behavioral quirk (context-dependent scoping) is well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, tightly written, no fluff. Front-loaded with the primary purpose. The second sentence conveys a nuanced behavioral distinction efficiently. Could be scored 5 but the behavioral nuance sentence is dense; still well within appropriate size for a 10-param tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter tool with a full output schema and 100% schema coverage, the description appropriately adds behavioral context (binding semantics, read-only path) rather than repeating schema details. It doesn't mention return shape but the output schema covers that. Slightly incomplete on failure modes, hence 4 rather than 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with rich per-parameter descriptions (aliases, defaults, deprecation notes). The description adds minimal param meaning beyond listing read-only behavior and defaults. Baseline 3 applies since the schema already does the heavy lifting well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (open) and resource (local project directory), and distinguishes behavior across two contexts (ChatGPT Connector vs local CLI). It differentiates from sibling 'open_current_workspace' and other workspace management tools by specifying scope-of-effect differences.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use activate=false (read-only inspection) and clarifies the distinction between ChatGPT Connector conversation binding vs local CLI global path. This gives clear when-to-use guidance, though it doesn't name specific alternative tools — but the context differentiation is itself 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 declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false. The description adds meaningful behavioral context beyond these: it states the tool runs a secret safety scan, stages only exact selected paths, rejects stale HEAD/branch or unrelated staged files, and verifies the committed path set. Crucially, it explicitly states 'This tool never pushes' — a valuable safety disclosure. It stops short of describing failure modes, rollback implications, or side effects on working tree, but with annotations present the added value is solid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single tightly-packed sentence listing the exact steps and guarantees, ending with the explicit 'never pushes' disclaimer. Every phrase carries meaning — no filler, no redundancy. It is front-loaded with the most important behavioral guarantee (safety scan, exact path staging) and closes with a key safety boundary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich input schema (100% coverage), an output schema, and detailed annotations, the description covers the operational pipeline well. It explains validation flow (expected_head_sha, validation_refs from git_prepare_commit), staging constraints, and the no-push boundary in context of its siblings. Given the tool's complexity (a mutating commit op with safety checks), it is reasonably complete, though it could add what happens on verification failure or the exact revert path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are well-documented in the schema. The description adds cross-parameter meaning by explaining that expected_head_sha, expected_branch, and validation_refs are values returned by git_prepare_commit (establishing the workflow contract), and that conversation_id/workspace_generation are auto-injected with mismatches rejected. This links parameters to the overall commit pipeline coherently.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific, multi-step verb+resource action: 'Run a secret safety scan, stage only the exact selected paths, reject stale HEAD/branch or unrelated staged files, create one real commit, and verify the committed path set.' This clearly distinguishes from siblings like git_prepare_commit, git_push, and git_finalize which occupy different stages of the commit pipeline. It makes the commit behavior explicit and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies this tool is the actual commit-creation step (as opposed to git_prepare_commit for preparation and git_push for pushing). It states 'This tool never pushes,' which is a useful exclusion clarifying it won't perform the push stage. However, it doesn't explicitly name alternatives or give when-to-use/when-not-to-use guidance beyond these implicit stage divisions.
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 covered. The description adds value by specifying the particular sources consulted (global CodexPro rules, project.yml, AGENTS/rules, memory/rules.md) and clarifying it does not write long-term memory, which goes beyond what annotations convey. It doesn't detail aggregation/merge behavior or precedence between sources, which would be additional value, but the disclosure is solid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste. The first sentence states the function and enumerates sources; the second sentence declares the read-only nature. Efficiently front-loaded with purpose before caveats.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a read operation with strong annotations (readOnlyHint=true, destructiveHint=false), 100% schema coverage, and an output schema present. The description covers the sources and the read-only behavior, which is reasonably complete for a read tool. It could add merge/precedence rules for conflicting sources across the different rule files, which would be genuinely useful, but given the strong annotation and schema coverage, a 4 is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all four parameters well (max_rules, workspace_id, conversation_id, max_memory_file_bytes). The description adds context by naming the aggregation sources, which helps understand why max_memory_file_bytes exists (memory files are being read). However, it doesn't add semantics beyond the schema for the parameters themselves, so a 4 rather than 3 is warranted because it ties parameters to the described behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb+resource combination: building a 'task preflight rule summary' from specific named sources (global rules, project.yml, AGENTS/rules, memory/rules.md). The read-only caveat is explicit, and this tool is clearly distinguished from siblings like 'classify_task', 'run_acceptance', or search/edit tools because it aggregates operating rules into a preflight summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description names the exact sources it aggregates, which clarifies when to use it (before a task when rules need to be gathered). It explicitly states it's 'read-only' and does not write long-term memory, providing an exclusion. However, it doesn't explicitly name alternative tools to use instead, relying on the read-only distinction rather than naming a sibling. The context implies use before task execution rather than for mutation.
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, destructiveHint=false, idempotentHint=false, and openWorldHint=true. The description adds substantial context beyond these: it clarifies it pushes exactly once, does not require a clean workspace, requires explicit push-only intent, and that failures return the original Git error along with a manual fallback command. This transparency about the no-staging/no-commit/no-acceptance guarantees and the failure behavior is genuinely valuable and not merely restating 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, tightly written, with the core purpose front-loaded in the first sentence and the key constraint/behavior stated immediately. Every clause earns its place — the no-ops list, the clean-workspace note, the explicit-intent requirement, and the failure contract. Zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the annotations, an output schema, and 100% parameter coverage, the description is highly complete. It explains the safety guarantees (no accidental commit/re-acceptance), the intent requirement, and the failure behavior with a manual fallback command. For a side-effecting mutation tool, this level of disclosure is thorough and sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning every parameter already has a description in the schema. The user_intent parameter is conceptually clarified by the description (requiring explicit push-only wording), and workspace/conversation/generation params are well-documented in the schema. The description doesn't add new per-parameter semantics beyond what the schema provides, so a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear, specific verb ('Push'), a resource ('an already-created local commit'), and multiple explicit constraints ('exactly once without staging, committing, rerunning Acceptance, or requiring a clean workspace'). This strongly differentiates it from sibling git_push (likely the general push) and git_commit, making purpose and scope unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly defines when to use it ('Push an already-created local commit exactly once') and explicitly lists what it does NOT do ('without staging, committing, rerunning Acceptance'). It also states the requirement for explicit push-only intent and that failure returns the original Git error with a manual command, which is useful decision context. However, it does not explicitly contrast against the sibling git_push tool by name or give a when-not-to-use scenario.
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 idempotentHint=true, readOnlyHint=false, destructiveHint=false. The description adds value by confirming the idempotent write nature, stating it cannot alter state, and indicating it is 'bounded' (max lengths across inputs). These go beyond what annotations flag, though some granular behavior (e.g., total bounded size limits across all fields, return value) is left to the output 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences in the description, both earning their place—first states the operation+scope, second states the limitation boundary. Zero filler, front-loaded with the primary action. The extensive parameter documentation lives in the schema where it belongs rather than bloating the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 11 parameters, the tool is well-covered: full schema descriptions, an output schema documenting return values, idempotence and boundedness conveyed in the description, and clear state-boundary disclosure. The complexity is high but every dimension (purpose, scope, constraints, idempotency, workspace binding via workspace_id/workspace_generation/conversation_id) is covered between description and structured fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema documents all 11 parameters with descriptions. The description adds semantic context by framing it as 'one bounded... update' in a single procedural write operation, and top-level text conveys the overall purpose of the primary inputs (summary, idempotency_key). The enum-driven severity and event_kind defaults are well-explained in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource ('Append... to an existing task in the active workspace') and clearly delimits the scope ('idempotent explanatory report write only'), listing what it cannot change (task, validation, Git, completion state). It distinguishes itself from write/edit/bash tasks and task_complete siblings by emphasizing it is a bounded explanatory report append.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states when to use it ('ChatGPT-authored public progress update, summary, finding, or warning') and explicitly what it cannot do, which functions as exclusion guidance. It doesn't name the sibling alternatives (e.g., run_task_status, task_complete) explicitly, but the boundary against state-changing tools is clear enough to navigate choices.
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, covering the safety profile. The description adds meaningful context by specifying 'bounded report text', implying truncation behavior, and 'final persisted' indicating idempotent read of stored state. It doesn't detail the output schema structure, but an output schema exists to cover 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, zero filler, front-loaded with the action and resource. Every word earns its place — 'final persisted', 'bounded', and 'after a long acceptance run completes' all carry meaningful semantic weight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a rich output schema present, comprehensive input schema with 100% coverage, and clear read-only annotations. The description covers the core purpose, timing, and result format adequately. For a read operation with strong structured documentation, this description is complete and appropriately scoped.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 5 parameters (run_id required, max_chars bounded 1000-60000, workspace_id/conversation_id/workspace_generation for binding). The description name-drops 'run_id' and 'bounded report text' which aligns with max_chars semantics. The description adds minimal param-specific value since the schema already explains defaults and binding behavior thoroughly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (Read), the resource (final persisted acceptance result and bounded report text), and the context (after a long acceptance run completes). It differentiates from siblings like acceptance_status (which polls running state) and read_run_task_result (which reads task-level results) by specifying 'final persisted' result and 'bounded report text', which distinguishes it as the terminal read after completion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'after a long acceptance run completes' conveys clear timing guidance — this tool is for post-completion reading, not for status polling (which is covered by sibling acceptance_status). It could be more explicit about when NOT to use it (e.g., before completion), but the temporal framing plus sibling context provides adequate differentiation.
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
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Menglook/codexpro-runtime'
If you have feedback or need assistance with the MCP directory API, please join our Discord server