Skip to main content
Glama

Server Details

Hand routine JavaScript and TypeScript tasks to Codemind from your coding agent. Send a task and acceptance criteria; get tested files back. $0.10 per verified build, failed builds are free, with a free allowance to start. Works with Claude Code, Cursor, Codex and OpenCode.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2024-11-05
URL

TDQS

A3.7/5.0

Scored across 26 tools

Disambiguation4/5

Each tool targets a distinct resource+action and the descriptions do a lot of work distinguishing them (single vs batch vs spec-decomposed builds; point-in-time get_ vs real-time stream_). However, the build family (build_feature, build_batch, build_from_spec, and the get_/stream_ pairs) requires careful reading to pick correctly, leaving some residual overlap.

Naming Consistency5/5

Names follow a predictable verb_noun pattern throughout: build_*, get_*, stream_*, list_*, cancel_*, continue_*, retry_*, review_code, test_component, get_triage_*. The only minor deviation is build_from_spec, which is still readable and consistent with the surrounding vocabulary.

Tool Count3/5

At 26 tools this sits above the comfortable range for a single server, and a large share is near-duplicate get_/stream_ pairs across builds, reviews, and tests. The breadth of domains (builds, reviews, tests, triage, billing, accounts, repos) partly justifies it, but it is borderline heavy.

Completeness4/5

Coverage is strong across the domain: build dispatch (single/batch/spec), lifecycle controls (cancel, continue, retry), retrieval (get_build_files/spec), real-time and polled status, plus review, test, triage, billing, and account provisioning. Minor gaps like no delete/cleanup or repo-detach operation keep it from a full 5.

Available Tools

26 tools
build_batchAInspect

Submit several pre-decomposed stories in one call and get back one batchId to track, instead of dispatching build_feature N times yourself. Swarm is a Pro plan feature: the maximum batch size depends on the account plan (up to 50; not available on Free or the base pay-as-you-go account); a batch over the limit is refused with BATCH_SIZE_LIMIT_EXCEEDED and the limit. Each item has the same shape as a single build_feature call (storyTitle, acceptanceCriteria, stackType, existingFiles?, skipTestsFor?) plus its own repoUrl (informational only). Call get_batch with the returned batchId to check aggregate progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes1 to 50 stories to dispatch.
webhookUrlNoFires once when every item in the batch reaches a terminal state. Must be supplied together with webhookSecret.
webhookSecretNoHMAC-SHA256 signing secret (16-256 chars) for the aggregate completion webhook. Must be supplied together with webhookUrl.
idempotencyKeyNoA repeat call with the same key returns the original batchId instead of dispatching again.

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does well: it discloses Pro-plan gating, an upper bound (up to 50), unavailability on Free/base pay-as-you-go, and the exact refusal signal (BATCH_SIZE_LIMIT_EXCEEDED with the limit). It does not describe partial-failure semantics within a batch or per-item error behavior, which is the remaining gap.

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

Conciseness4/5

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

Three dense sentences that are front-loaded with the batching purpose before dropping into plan limits and the follow-up call. Everything earns its place, though the plan/limit clause is information-heavy for a single sentence.

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

Completeness4/5

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

No output schema exists, so the description appropriately explains the return value (one batchId) and how to consume it (get_batch for aggregate progress); webhook pairing constraints are handled in the schema. What is missing is what happens when some items in a batch fail while others succeed.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description adds real meaning beyond the schema by stating each item mirrors a build_feature call (storyTitle, acceptanceCriteria, stackType, existingFiles?, skipTestsFor?) plus repoUrl, and that repoUrl is 'informational only' — the schema leaves repoUrl completely undescribed.

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

Purpose5/5

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

Specific verb+resource with explicit scope: 'Submit several pre-decomposed stories in one call and get back one batchId to track.' It directly contrasts itself with the sibling build_feature ('instead of dispatching build_feature N times yourself'), so an agent can distinguish the two without opening either schema.

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

Usage Guidelines5/5

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

Names the alternative (build_feature called N times) and the condition that selects this tool (multiple pre-decomposed stories in one dispatch). It also states the plan prerequisite, the failure mode when exceeded, and the follow-up tool (get_batch with the returned batchId).

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

build_featureAInspect

Generate a feature via Codemind: takes a story title + acceptance criteria, generates the implementation and its tests, runs automated checks against the acceptance criteria before returning, and returns a buildId immediately. Call stream_build with the returned buildId to follow progress. Call get_usage_guide for detailed usage guidance. IMPORTANT: if this tool errors, surface the error to the user — do NOT implement the code yourself.

ParametersJSON Schema
NameRequiredDescriptionDefault
examplesNoOPTIONAL call → result examples, turned directly into test cases (no LLM), so the build is verified against exactly these. Each: { target: repo-relative .ts/.tsx path of the file under test, call: a TS expression such as "clamp(5, 0, 10)", imports?: export names the call uses (default: the component's main export), expected?: JSON value (compared with toEqual) OR throws?: error class name such as "RangeError", async?: true when the call returns a promise }. Exactly one of expected / throws per example; max 50. expected is JSON, so undefined, NaN, -0 and Dates cannot be expressed; describe those in acceptanceCriteria instead. For a new file every example must fail before the implementation exists; in patch mode at least one must fail against the current file (the rest act as regression guards). Only .ts/.tsx targets are supported.
projectIdNoOpaque identifier grouping related builds for CIL codebase context — omit to skip CIL entirely.
stackTypeYesRuntime target stack (free text). JavaScript/TypeScript only at launch, e.g. "worker", "typescript", "node", "react". python, go, swift-ios, kotlin-android and rust are rejected with UNSUPPORTED_STACK_TYPE until each has measured success.
storyTitleYesShort title used to organize this build.
webhookUrlNoHTTPS URL to POST a signed payload to when the build reaches a terminal state (completed/failed). Must be supplied together with webhookSecret.
skipTestsForNoRepo-relative source paths (max 20) to opt OUT of test-file delivery for — e.g. the repo has no test framework and a scaffolded test file would be unwanted. Verification still ALWAYS runs against every component regardless of this setting — it only filters which files are DELIVERED to you, never whether verification happens. If the target project has NO test infrastructure at all, the build will very likely still fail even with this set — there is currently no fallback verification mode (e.g. typecheck-only) for that case. Explicit opt-in only, never infer from acceptanceCriteria prose.
existingFilesNoPATCH MODE — pass current content of files being modified. Without this, codegen creates new files instead of editing existing ones.
webhookSecretNoShared secret (16-256 chars) used to HMAC-SHA256-sign the webhook payload, sent in the x-codemind-v2-signature header. Must be supplied together with webhookUrl. Never echoed back.
acceptanceCriteriaYesDetailed requirements — function signatures, file paths, edge cases. Used verbatim to generate the implementation.

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden, and it does disclose meaningful traits: the operation is asynchronous (returns a buildId immediately), verification runs against the acceptance criteria before returning, and there is an explicit error-handling contract. It omits the repo side effects (that it writes implementation/test files into the project) and any auth or rate-limit expectations, leaving a gap for a mutating build tool.

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

Conciseness5/5

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

Front-loads the core purpose and workflow in the first sentence, then follow-up routing, then the critical failure-mode warning. Every sentence earns its place with no filler.

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

Completeness4/5

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

For a 9-parameter, no-output-schema tool, the description covers the workflow, the immediate return value (buildId), and error behavior, and the schema handles parameter detail. It leaves the eventual build outputs and repo-write side effects to be inferred, which is the only notable gap.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 9 parameters in depth. The description only restates that it takes a story title plus acceptance criteria, adding no format or constraint detail beyond the schema; baseline 3 is appropriate.

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

Purpose4/5

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

Names a specific verb+resource (generate a feature) and enumerates the pipeline: generate implementation and tests, run checks against acceptance criteria, return a buildId. It clearly distinguishes itself from read siblings like get_build/get_test, but never contrasts itself with the closest build siblings (build_batch, build_from_spec), so it falls short of 5.

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

Usage Guidelines4/5

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

Gives explicit follow-up routing (call stream_build with the returned buildId; call get_usage_guide for details) and a clear failure-mode instruction (surface the error, do NOT implement the code yourself). It never states when to prefer this tool over build_batch or build_from_spec, so no exclusions are offered.

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

build_from_specAInspect

Submit raw PRD/plan/spec text plus a list of target repos; Codemind LLM-decomposes it into stories (each assigned to one of your declared repos, never an invented one) and dispatches them via the same path build_batch uses. Pass dryRun: true to see the decomposed story list without dispatching anything, useful for reviewing before committing. Recommended for a first-time caller: review with dryRun: true, then resubmit the (possibly edited) story list via build_batch directly — a second build_from_spec call with dryRun: false re-decomposes specText from scratch and will not reflect edits made to a prior dry run's output.

ParametersJSON Schema
NameRequiredDescriptionDefault
reposYes
dryRunNo
specTextYes
maxStoriesNoDefault 20, hard ceiling 50.
webhookUrlNo
webhookSecretNo

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries full burden and discloses substantial behavior: LLM decomposition, repo-assignment constraint (never an invented repo), dispatch path, dryRun's non-dispatching semantics, and re-decomposition caveat. It does not cover auth/permission requirements, webhook behavior, or any rate/limit context, leaving some gaps.

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

Conciseness4/5

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

Three sentences, front-loaded with the primary action and mechanism, followed by dryRun and the recommended workflow. Dense but each part earns its place; the dryRun guidance is slightly repetitive but not wasteful.

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

Completeness4/5

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

For a complex orchestration tool with no output schema and no annotations, the description covers the workflow and the key behavioral caveat well. It is missing explanation of the webhook parameters and any permission/auth framing, but the core decision-relevant content is present.

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

Parameters3/5

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

Schema description coverage is only 17%, so the description must compensate. It meaningfully explains specText, repos, and especially dryRun, but leaves webhookUrl and webhookSecret (2 of 6 params) entirely undocumented and only relies on the schema for maxStories. Partial compensation only.

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

Purpose5/5

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

States a specific verb (submit), resource (PRD/plan/spec text + repos), and the core mechanism (LLM-decomposes into stories then dispatches via the build_batch path). This distinguishes it clearly from build_batch and other siblings without opening any schema.

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

Usage Guidelines5/5

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

Explicitly names the alternative (build_batch) and gives a recommended workflow: dryRun first, then resubmit via build_batch. It also warns that a second build_from_spec with dryRun:false re-decomposes from scratch and ignores prior edits, which is exactly the when-not guidance an agent needs.

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

cancel_buildAInspect

Cancel a running build. Has no effect on builds that already reached a terminal state.

ParametersJSON Schema
NameRequiredDescriptionDefault
buildIdYesID of the build to cancel.

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose one genuine behavioral trait: the tool is a no-op on terminal builds. It omits other material traits for a mutation — permission/auth requirements, whether cancellation is reversible, whether it is synchronous or streaming, and what happens to partial build artifacts.

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

Conciseness5/5

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

Two sentences, zero filler, with the core action front-loaded and the edge-case constraint immediately following. Every clause earns its place.

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

Completeness4/5

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

For a single-parameter build control tool with no output schema, the description covers the action and the key edge case, which is close to sufficient. It would be complete with a note on return/confirmation behavior and any auth requirement, given there are no annotations to cover those.

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

Parameters3/5

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

There is a single required parameter with 100% schema description coverage ('ID of the build to cancel'), so the schema already does the work. The description adds no format, source, or lookup guidance for buildId, which is the baseline 3 case.

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

Purpose4/5

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

The description gives a specific verb+resource ('Cancel a running build'), which is unambiguous and clearly distinct from the build/retry/continue siblings by verb. It stops short of naming an alternative like retry_build or continue_build, so an agent must infer sibling routing from the verb alone.

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

Usage Guidelines4/5

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

It supplies an explicit applicability condition ('running build') and an explicit negative case ('no effect on builds that already reached a terminal state'), which tells the agent when the call is a no-op. It does not name alternative tools for the terminal-state case (e.g., retry_build), so routing guidance is incomplete.

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

continue_buildAInspect

Send corrected acceptance criteria to a running build. Applies to components that have not started generating yet; the currently-generating component finishes as originally scoped.

ParametersJSON Schema
NameRequiredDescriptionDefault
buildIdYesID of the running build to steer.
correctedAcceptanceCriteriaYesThe new, complete acceptance criteria — replaces the original for all not-yet-started components.

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden, and it discloses a genuinely non-obvious partial-application rule: already-started components are unaffected and criteria replacement only applies to not-yet-started work. It omits auth needs, idempotency/multiple-call behavior, and what happens if the build already finished.

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

Conciseness5/5

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

Two tight sentences with zero waste; the action is front-loaded and the scoping caveat follows immediately.

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

Completeness4/5

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

For a 2-param mutation tool with no annotations and no output schema, the description covers the trickiest behavior (who is and isn't affected). It still lacks auth/permission context and failure modes, which matters more here because no annotations fill that gap.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already documented. The description adds only the replacement semantics ('replaces the original for all not-yet-started components'), which is marginal beyond the schema's own wording. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource: 'Send corrected acceptance criteria to a running build.' This is clearly distinct from cancel_build, retry_build, or get_build. It does not name a sibling tool to contrast against, but the action is unambiguous.

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

Usage Guidelines4/5

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

Provides a clear applicability condition: only components that have not started generating are affected, and the in-flight component finishes as originally scoped. This is an explicit when-not constraint, though no alternative tool is named for the excluded case.

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

create_free_accountAInspect

Instantly provision a new anonymous Codemind account on the free plan — no credential, no human step required. Call this when build_feature (or any other tool) fails with an auth error and no CODEMIND_API_KEY is configured. Returns a tenantId and a bearer token (apiKey) usable immediately for build_feature and every other tool. The account is anonymous (no identity attached) until a person opens the claim link in the response text and signs in. If a tool call fails with an auth error and you ALREADY have a configured apiKey, call get_usage_guide with topic "auth" before calling this tool again — replacing an already-claimed account's credential here loses its identity and history. All arguments are optional; pass utm_source, utm_medium and utm_campaign, and invite, only if your human gave you them.

ParametersJSON Schema
NameRequiredDescriptionDefault
inviteNoOptional invite code from an invite link your human gave you. Case-sensitive; pass it exactly as given. An invalid or used-up code is ignored.
ph_didNoOptional web visitor id from a setup link or command your human gave you (--ph-did). Pass it exactly as given; an invalid value is ignored.
utm_mediumNoOptional marketing medium tag, e.g. "launch". Same format as utm_source.
utm_sourceNoOptional marketing source tag, e.g. "producthunt". Lowercase letters, digits, "_", "." and "-", max 64 characters; anything else is ignored.
utm_campaignNoOptional campaign tag, e.g. "ph-2026-10-08". Same format as utm_source.

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations to lean on, the description carries the full burden and does: it discloses the return values (tenantId, apiKey bearer token), the anonymous-until-claimed lifecycle, and a real destructive consequence — replacing an already-claimed account's credential 'loses its identity and history'. That is the kind of side-effect warning an agent cannot infer from the schema.

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

Conciseness4/5

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

Front-loads purpose, then the trigger, then the side-effect warning. Five sentences is on the long side, but nearly every clause carries operational weight (auth precondition, sibling routing, claim-link lifecycle, credential-replacement warning), so little is wasted.

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

Completeness5/5

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

No output schema exists, and the description compensates by describing the response (tenantId, bearer token, claim link in response text). Auth preconditions, optional-parameter policy, and lifecycle consequences are all covered — nothing an agent needs to invoke this correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds a genuine usage constraint the schema does not: 'All arguments are optional; pass utm_source, utm_medium and utm_campaign, and invite, only if your human gave you them.' That governs when to supply them rather than just their format.

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

Purpose5/5

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

Opens with a specific verb+resource+scope: 'Instantly provision a new anonymous Codemind account on the free plan — no credential, no human step required.' An agent can distinguish this account-provisioning tool from the surrounding build/review/test siblings immediately.

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

Usage Guidelines5/5

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

States exactly when to call it ('build_feature ... fails with an auth error and no CODEMIND_API_KEY is configured') and names the alternative plus its trigger ('if you ALREADY have a configured apiKey, call get_usage_guide with topic "auth" before calling this tool again'). When-to-use, when-not-to-use, and the sibling alternative are all explicit.

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

get_batchBInspect

Get the aggregate status of a batch submitted via build_batch.

ParametersJSON Schema
NameRequiredDescriptionDefault
batchIdYes

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It doesn't state whether this is read-only, what 'aggregate status' values exist, whether it polls or blocks, or whether unauthenticated access is allowed. The phrase 'aggregate status' adds some semantics but leaves core behavior opaque.

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

Conciseness5/5

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

A single, front-loaded sentence with no wasted words. It's appropriately sized for a simple getter and easy to scan.

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

Completeness2/5

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

No output schema and no annotations, so the description is the only source of behavioral and return-value information. It says what it gets but not what the aggregate status contains or how to interpret the result, leaving an agent able to call it but not to use its output confidently.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for the undocumented batchId parameter. It only implies batchId refers to a batch from build_batch, but gives no format, source, or validation details, leaving the required parameter underspecified.

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

Purpose4/5

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

States a specific verb (Get) and resource (aggregate status of a batch), and links it to a sibling tool (build_batch) so the agent can see the submission-tracking relation. It doesn't differentiate from get_build or list_builds, but the 'aggregate status' and 'batch' phrasing is reasonably distinct.

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

Usage Guidelines3/5

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

The description implies usage by tying the tool to a batch created via build_batch, so an agent knows it applies after submission. However, it gives no explicit when-to-use vs. get_build/list_builds, nor any condition or exclusion guidance.

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

get_billing_statusAInspect

Read-only: your plan, how many verified builds you have used, how many are included and left in the current allowance window, and the paid-balance draw (cents) if you have topped up. Call this to check headroom before a large batch, or to learn why a build was rejected for allowance.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and explicitly self-declares 'Read-only,' which is the key safety trait, plus it discloses the monetary unit (cents) and that the draw only appears if topped up. It omits auth/account prerequisites and data freshness, but for a status read this is solid 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/5

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

Two sentences, front-loaded with the 'Read-only' safety signal and the returned fields, then the usage trigger. Every clause carries information and nothing is redundant.

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

Completeness4/5

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

There are no parameters and no output schema, so the description must describe the return payload itself — which it does by listing the reported fields. Minor ambiguity remains around the 'allowance window' (reset cadence/definition), but an agent has enough to call and interpret the result correctly.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; no parameter-related gaps exist.

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

Purpose5/5

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

The description gives a specific verb-implied resource (billing/plan status) and enumerates exactly what is reported: plan, verified builds used, included/remaining allowance, and paid-balance draw in cents. No sibling tool covers billing, so an agent can confidently distinguish it from get_usage_guide or list_builds.

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

Usage Guidelines4/5

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

It states two concrete invocation contexts: checking headroom before a large batch and diagnosing an allowance-based rejection. That is clear when-to-use guidance. It stops short of naming alternatives or stating when not to call it, so it falls short of a 5.

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

get_buildBInspect

Get the current state of a build by ID (status and error details).

ParametersJSON Schema
NameRequiredDescriptionDefault
buildIdYesThe build ID.

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose the returned content (status and error details), which is genuinely useful, but it never confirms this is a side-effect-free read, nor mentions auth requirements, polling behavior, or rate limits.

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

Conciseness5/5

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

One sentence, front-loaded with the action and resource, with the return-content qualifier attached compactly. No filler or redundancy.

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

Completeness4/5

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

For a single-parameter read tool with no output schema, the parenthetical return summary substitutes adequately for a documented response shape, and the one required param is fully described. Missing only the operational context (read-only nature, polling) that would make it fully self-contained.

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

Parameters3/5

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

There is a single parameter with 100% schema description coverage ('The build ID.'), so the schema does the heavy lifting. The description's 'by ID' adds no syntax, format, or source-of-ID detail beyond what the schema already provides, matching the baseline 3 for high-coverage schemas.

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

Purpose4/5

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

States a specific verb (get) and resource (build) scoped by ID, and the parenthetical '(status and error details)' signals it returns state rather than files or spec. It implicitly distinguishes itself from get_build_files/get_build_spec but never names those siblings or stream_build explicitly, so differentiation is inferential rather than stated.

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

Usage Guidelines2/5

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

The description offers no when-to-use guidance, no exclusions, and no mention of alternatives such as stream_build (for live updates) or list_builds (for finding an ID). The intended use can be inferred, but nothing is stated.

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

get_build_filesAInspect

Retrieve the generated files from a completed build. Returns each file path and full content.

ParametersJSON Schema
NameRequiredDescriptionDefault
buildIdYesThe build ID.

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose the return payload shape ('each file path and full content'), which is useful given there is no output schema, but it omits whether the operation is read-only (implied), how it behaves on an incomplete build, and whether large file sets are paginated or truncated.

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

Conciseness5/5

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

Two short sentences with zero filler; the resource and the precondition are front-loaded and the return shape is stated second. Nothing in the text is redundant.

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

Completeness4/5

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

For a one-parameter read tool with no output schema and no annotations, the description covers the essential call path and pre-emptively describes the return value. It is only mildly incomplete in not addressing failure or partial-build conditions.

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

Parameters3/5

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

There is a single parameter and schema description coverage is 100%, so the schema already documents buildId. The description adds no meaning beyond the schema (e.g., where buildId comes from, format expectations), which matches the baseline 3 for high schema coverage.

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

Purpose4/5

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

States a specific verb (Retrieve) and resource (generated files from a completed build), which is more precise than the bare name suggests. It does not, however, differentiate itself from close siblings such as get_build or get_build_spec, so an agent must infer which one returns file contents versus metadata or spec.

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

Usage Guidelines3/5

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

The phrase 'from a completed build' implies a precondition (the build must have finished), which is real usage guidance. There is no explicit when-to-use-vs-alternative statement, no mention of what to do for in-progress builds, and no pointer to get_build or list_builds for obtaining the buildId.

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

get_build_specAInspect

Get a build's original submitted spec (storyTitle, acceptanceCriteria, stackType, existingFiles, skipTestsFor) without retrying it — useful for inspecting or reusing a prior build's spec as a template.

ParametersJSON Schema
NameRequiredDescriptionDefault
buildIdYesThe build ID.

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden, and it does disclose one important trait: this read does not retry the build and returns the *original submitted* spec rather than current state. However, it says nothing about permission requirements, error behavior for missing/invalid build IDs, or whether the spec is a snapshot versus a live view, so disclosure is partial.

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

Conciseness5/5

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

One sentence, front-loaded with the verb and resource, with the field enumeration and the key "without retrying" qualifier packed in without filler. Every clause contributes to identifying the tool or its constraints.

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

Completeness4/5

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

With no output schema, the description compensates by listing the spec fields the caller can expect, which is the main missing structured information. It is nearly complete for a one-parameter read tool; only the distinction between the original and any current spec version is left slightly under-specified.

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

Parameters3/5

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

Schema description coverage is 100% and there is a single trivial buildId parameter, so the baseline of 3 applies. The description adds no naming, format, or sourcing detail for buildId beyond what the schema already states.

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

Purpose4/5

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

"Get a build's original submitted spec" names a specific verb and resource, and the parenthetical enumerates exactly what the spec contains (storyTitle, acceptanceCriteria, stackType, existingFiles, skipTestsFor). It implicitly separates itself from retry_build via "without retrying it," but it never explicitly contrasts with get_build or build_from_spec, so sibling differentiation is only partial.

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

Usage Guidelines4/5

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

"Useful for inspecting or reusing a prior build's spec as a template" gives a concrete when-to-use condition (inspection/reuse as template) and implicitly steers toward build_from_spec for the reuse path. There is no explicit exclusion or named alternative, so it falls short of full when/when-not guidance.

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

get_reviewAInspect

Get the current state of a review by ID (status, verdict, findings) without streaming — useful for polling or inspecting a review after the fact. Use stream_review to follow a review in real time instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
reviewIdYesThe reviewId returned by review_code.

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses the non-streaming, snapshot nature of the call and that it is intended for polling, which is real context beyond the schema. However, it says nothing about whether the operation is read-only, permission requirements, or behavior for an unknown/expired reviewId.

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

Conciseness5/5

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

Two tightly written sentences with no filler. The core purpose is front-loaded and the disambiguation against stream_review follows immediately, so nothing needs to be skimmed for.

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

Completeness4/5

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

There is no output schema, so the description compensates by naming the returned fields (status, verdict, findings), which is exactly what an agent needs. The only gap is undefined error behavior for invalid or unknown reviewIds, a minor omission for such a simple lookup.

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

Parameters3/5

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

Schema description coverage is 100% and the single parameter is already documented as 'the reviewId returned by review_code'. The description does not add syntax, format, or provenance details beyond what the schema already supplies, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('Get the current state of a review by ID') and enumerates what the state contains (status, verdict, findings). It also explicitly differentiates itself from the sibling stream_review, so an agent can select between them without opening either schema.

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

Usage Guidelines5/5

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

Gives the positive case ('useful for polling or inspecting a review after the fact') and names the alternative with the condition that selects it ('Use stream_review to follow a review in real time instead'). This is explicit when/when-not/alternative guidance.

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

get_testAInspect

Get the current state of a test by ID (status, pass/fail verdict, generated verification test content) without streaming — useful for polling or inspecting a test after the fact. Use stream_test to follow a test in real time instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
testIdYesThe testId returned by test_component.

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden, and it does meaningful work: it declares the non-streaming, one-shot snapshot behavior ('without streaming'), which is the key trait distinguishing it from stream_test, and names the returned fields. It stops short of disclosing error/not-found behavior, retention of results, or polling cost, so it is strong but not exhaustive.

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

Conciseness5/5

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

Two sentences, zero filler, front-loaded with the purpose and return contents before the routing advice. Every clause earns its place.

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

Completeness4/5

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

With no output schema and no annotations, the description compensates by enumerating the returned fields (status, verdict, generated test content), so an agent knows what to expect. It omits failure modes (invalid/stale testId) and whether the read is cheap to poll repeatedly, which are the remaining gaps.

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

Parameters3/5

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

Only one parameter (testId) and schema description coverage is 100%, with the schema itself explaining that it comes from test_component. The description adds only 'by ID', so the baseline 3 for a schema-complete single parameter is appropriate.

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

Purpose5/5

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

States a specific verb (get), resource (test), keying mechanism (by ID), and enumerates what it returns: status, pass/fail verdict, generated verification test content. It also explicitly distinguishes itself from the sibling stream_test, so an agent can pick between them without opening either schema.

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

Usage Guidelines5/5

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

Gives both a positive condition ('useful for polling or inspecting a test after the fact') and an explicit alternative with the condition that selects it ('Use stream_test to follow a test in real time instead'). This is the when/when-not/alternative pattern done fully.

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

get_triage_diagnosticsAInspect

Returns the generated fix diff (as file paths and line counts, not full content) and before/after test-run output for one triage run, identified by the triage run id from get_triage_runs (NOT a build id and NOT an issue number). stdout/stderr are tail-truncated because test failure summaries appear at the end of output, not the install noise at the start. Full file contents are available separately via the get_build_files tool using the run's buildId. Also includes a per-LLM-call trace (stage/model/status/latency) from Analytics Engine when available, covering attempts that failed before ever reaching the before/after test comparison above.

ParametersJSON Schema
NameRequiredDescriptionDefault
triageRunIdYesThe triage run id, as returned by get_triage_runs (the first token of each line), not the build id or issue number.

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses that outputs are tail-truncated and why (failure summaries sit at the end, install noise at the start), that diffs are path+line counts rather than content, and that the LLM trace is conditional ('when available'). It does not describe failure behavior for an unknown/mismatched run id, leaving one behavioral gap.

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

Conciseness4/5

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

Three dense sentences with the primary return value front-loaded and parenthetical caveats kept tight; every clause carries information (truncation rationale, alternatives, trace fields). Slightly overloaded with nested asides, but no filler sentences.

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

Completeness4/5

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

With no output schema, the description does the heavy lifting by enumerating the return payload (fix diff, before/after test output, per-LLM-call trace with stage/model/status/latency) and the files alternative. Only error/edge conditions and any size or pagination behavior remain unstated.

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

Parameters3/5

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

Schema coverage is 100% and the schema description already spells out 'the triage run id, as returned by get_triage_runs ... not the build id or issue number'. The description restates the same disambiguation in the parameter's context, adding emphasis rather than new meaning. Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose5/5

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

States a specific verb+resource ('Returns the generated fix diff ... and before/after test-run output for one triage run') and immediately differentiates itself from siblings by naming get_triage_runs (id source) and get_build_files (full contents). An agent can distinguish it from get_test, get_build, or get_build_files without opening any schema.

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

Usage Guidelines4/5

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

Gives explicit preconditions and anti-patterns: the id must come from get_triage_runs and is 'NOT a build id and NOT an issue number', and it routes to get_build_files for full file content. It stops short of stating when this tool is unnecessary (e.g. when the run is still in progress or when only a build-level view is wanted), so it is strong but not fully exhaustive.

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

get_triage_runsAInspect

Lists the issue-triage run history for one attached repo — one row per GitHub issue that was auto-triaged — including terminal status (pr_opened means a fix PR was opened and passed the repo's own test suite; needs_human means the issue wasn't judged auto-fixable; failed means the triage/build/verify pipeline errored). The repoAttachmentId is the attachment id returned by list_repos, NOT a owner/repo string. Full diagnostics (the generated diff and before/after test output) for any run id returned here are available via the get_triage_diagnostics tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoAttachmentIdYesThe repo attachment id, as returned by list_repos (not an owner/repo string).

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it decodes the terminal status values (pr_opened, needs_human, failed) and their meanings, and clarifies the repoAttachmentId format. It omits pagination/ordering behavior, keeping it out of the top tier.

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

Conciseness4/5

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

Front-loaded with the core action, then parenthetical status definitions and the follow-up pointer. It is a bit dense but each clause adds usable information, so little is wasted.

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

Completeness4/5

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

With no output schema and no annotations, the description usefully explains the return shape (one row per issue with terminal statuses) and the diagnostics follow-up path. It is nearly complete, lacking only ordering/pagination details an agent might want.

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

Parameters3/5

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

Schema coverage is 100% with a single parameter whose schema description already states it is not an owner/repo string. The description's identical clarification adds no meaning beyond the schema, so the baseline 3 for a fully documented single param applies.

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

Purpose5/5

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

States a specific verb (Lists) and resource (issue-triage run history) with clear scope (one attached repo, one row per auto-triaged issue). An agent can distinguish it from siblings like get_triage_diagnostics without opening a schema.

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

Usage Guidelines4/5

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

Explicitly routes the agent to get_triage_diagnostics for follow-up diagnostics, which implies when this listing tool is the entry point. It does not, however, state when-not to use it or contrast with sibling listing tools such as list_repos, so it falls short of full when/when-not guidance.

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

get_usage_guideAInspect

Get detailed usage guidance for Codemind's tools — how to write effective acceptanceCriteria, when to use patch mode, how webhooks work, what to do when a build declines, common failure patterns unrelated to acceptanceCriteria quality, and how to recover from an auth error without losing an identified account. Call this before build_feature/test_component/review_code if you are unfamiliar with this tool surface, or if the same story fails repeatedly across retries; call it with topic "auth" before calling create_free_account to recover from an auth error on an existing credential.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNoWhich part of Codemind usage to get guidance on. Defaults to overview.

TDQS

A4.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the disclosure burden. It conveys intent and call timing well, and the tool is implicitly a safe read of documentation, but it never states side effects, whether the call is read-only, or what the response contains. For a pure knowledge-retrieval tool this is adequate but not rich.

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

Conciseness4/5

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

Purpose is front-loaded in the opening clause, and each subsequent clause maps to a topic or a routing rule rather than padding. It is dense — essentially two long sentences with embedded lists — but nothing appears redundant with the schema.

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

Completeness4/5

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

For a one-parameter, zero-required, annotation-free retrieval tool with no output schema, the description covers purpose, call timing, and topic routing well. The only real gap is the unmentioned "cloud-swarm" topic and any indication of the response shape, both minor here.

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

Parameters4/5

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

Schema coverage is 100% with an enum and a per-field description, so the baseline is 3. The description lifts this above baseline by mapping topic values to concrete content (acceptanceCriteria guidance, patch mode, webhooks, error handling, auth recovery) and by prescribing "auth" for a specific recovery scenario.

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

Purpose5/5

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

States a specific verb and resource ('Get detailed usage guidance for Codemind's tools') and then enumerates the concrete subject matter covered (acceptanceCriteria authoring, patch mode, webhooks, build declines, auth recovery). No sibling tool provides guidance, so it is trivially distinguishable from build_feature, review_code, etc.

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

Usage Guidelines5/5

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

Gives explicit triggers: call before build_feature/test_component/review_code when unfamiliar with the surface, or when the same story fails repeatedly across retries. It also routes a specific case — topic "auth" before create_free_account to recover from an auth error — naming both the alternative and the condition that selects it.

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

list_buildsCInspect

List recent builds for this tenant.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax builds to return (default 20, max 50).
offsetNoPagination offset (default 0).

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. It conveys tenant scoping, but omits ordering guarantees, what a build record contains, and whether the result set is capped or paginated beyond what the schema hints at. For a list tool with zero annotation coverage this is thin.

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

Conciseness4/5

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

A single front-loaded sentence with zero filler; the scope (tenant) is stated immediately. It is efficient, though arguably terse to the point of under-specification rather than maximally useful.

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

Completeness3/5

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

For a simple read-only list tool with no annotations and no output schema, the definition is minimally viable. It covers scope and the schema covers pagination, but the agent gets no sense of result content, ordering, or how this differs from get_build.

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

Parameters3/5

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

Schema description coverage is 100%, and both limit and offset are fully documented there with defaults and maximums. The description adds only the vague notion of recency and no parameter-level detail, so the baseline 3 applies.

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

Purpose4/5

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

The description states a clear verb+resource: list builds, scoped to the tenant. It reads as distinct from the singular get_build sibling by verb alone, but it never names or differentiates itself from that sibling, so an agent must infer the list-vs-get split.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance and no mention of alternatives such as get_build or stream_build. The word "recent" implies a browsing use case but gives no threshold or condition for choosing this tool over other build tools.

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

list_reposAInspect

Lists GitHub repos currently attached to the caller's tenant via Cloud Repo Mode (the GitHub App that automatically triages filed issues into fix PRs), and that the returned id field is the repo attachment id to pass into get_triage_runs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the operation is tenant-scoped and that the returned id is a repo attachment id, which is real behavioral value. It omits auth/permission requirements, pagination, and the rest of the return shape, leaving meaningful gaps for a zero-annotation 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/5

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

A single front-loaded sentence that carries a lot of information with no filler. It is slightly run-on and the 'and that the returned id field is...' clause is grammatically awkward, but every clause earns its place.

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

Completeness3/5

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

For a simple zero-parameter list tool with no output schema, the description partially compensates by naming the returned id field and its downstream use. It still omits the remaining return fields, ordering, and pagination, so it is adequate but not complete.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4. The description correctly introduces no parameter information because none exists, and the schema is trivially complete.

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

Purpose4/5

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

States a specific verb+resource ('Lists GitHub repos currently attached to the caller's tenant') and adds the Cloud Repo Mode qualifier, which is genuinely clarifying. It does not distinguish itself from siblings like list_builds, but the resource is specific enough that an agent knows what it returns.

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

Usage Guidelines3/5

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

The description implies usage by pointing at the downstream tool ('the id field ... to pass into get_triage_runs'), which is a useful routing hint. However, it never states when to call this tool versus alternatives, nor any prerequisite conditions, so guidance 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.

notify_files_writtenAInspect

Index files into the CIL codebase context for a project — for files Codemind itself did not generate (a manual edit, another tool's output). Not needed after a normal build_feature call: a completed build's own output is indexed automatically when projectId was supplied.

ParametersJSON Schema
NameRequiredDescriptionDefault
filesYesFiles to index, ≤10 files / ≤700KB total.
projectIdYesOpaque project identifier — same value used in build_feature calls for this codebase.

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses the automatic-indexing behavior of completed builds, but says nothing about failure semantics, whether re-indexing overwrites prior content, latency/synchronicity, or any permission requirements for a state-mutating operation.

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

Conciseness5/5

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

Two sentences, zero filler, and the concrete purpose is front-loaded before the usage caveat. The second sentence exists to prevent a redundant call and therefore earns its place.

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

Completeness3/5

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

No annotations and no output schema, so the description should carry more: it never describes what the caller gets back, whether the operation is synchronous, or what happens when the file-count/size limits are exceeded. It is adequate for choosing the tool but incomplete for invoking it confidently.

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

Parameters3/5

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

Schema description coverage is 100% — path, content, projectId, and the ≤10 files / ≤700KB limits are all documented in the schema. The description adds no parameter-level meaning beyond what the schema already provides, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ("Index files into the CIL codebase context for a project") and immediately scopes it to a particular class of files, which no sibling name conveys. It is clearly distinguishable from build_feature and the other build/stream siblings from the description alone.

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

Usage Guidelines5/5

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

Gives an explicit when-to-use ("for files Codemind itself did not generate — a manual edit, another tool's output") and an explicit when-not-to-use ("Not needed after a normal build_feature call"). It names the competing tool and the condition (projectId supplied at build time) that makes this tool unnecessary.

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

retry_buildBInspect

Retry a failed build using the same spec (story, acceptance criteria, stack, existing files).

ParametersJSON Schema
NameRequiredDescriptionDefault
buildIdYesID of the failed build to retry.

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses that the retry uses the same spec including existing files, but says nothing about whether a new build is created, side effects on the failed build, permissions required, or any rate limits. For a mutation tool with zero annotation coverage, this is a significant 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/5

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

A single front-loaded sentence with no filler. The verb and object lead, and the parenthetical detail about spec reuse is compact and informative. Nothing is wasted.

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

Completeness3/5

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

For a simple one-parameter tool, the description conveys the core action and spec reuse. However, with no annotations and no output schema, it leaves open important context such as return values, whether the failed build is replaced, and any asynchronous behavior. Adequate but with clear gaps.

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

Parameters3/5

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

Schema description coverage is 100%, and the single parameter buildId is fully documented in the schema as 'ID of the failed build to retry.' The description adds no additional syntax, format, or constraint information beyond the schema, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb ('Retry') and resource ('a failed build') with the key qualifier that it reuses the same spec (story, acceptance criteria, stack, existing files). This distinguishes it from build_from_spec, which would require a fresh spec, but it does not explicitly name or contrast with sibling tools like continue_build or build_from_spec.

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

Usage Guidelines3/5

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

The phrase 'Retry a failed build' implies the context of use, but there is no explicit guidance on when to use this versus alternatives such as continue_build, build_from_spec, or build_feature. No exclusions or prerequisites are stated.

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

review_codeAInspect

Submit code for review: bugs, security issues, silent failures, and style concerns. Give it files (path+content) and/or a unified diff. At least one of files or diff is required — submitting neither is rejected. TWO independent LLM-judge passes review it (a general correctness/security pass and a dedicated silent-failure pass) and their findings are merged into one verdict. For a genuinely useful review, ALSO supply conventions (paste this project's CLAUDE.md and RULES.md content — you already have repo access, this tool does not) so both passes can enforce project-specific rules, and relatedFiles (any existing file the change references but doesn't itself modify — an interface being implemented, a caller of a changed function, a sibling example of the real convention) so findings can be verified against actual code instead of guessed. Omitting both still works but produces a weaker review with no codebase grounding. No code generation or execution happens here — this is judgment only, not test verification (use test_component for that). Returns a reviewId immediately; call stream_review to follow progress and get the findings. Call get_usage_guide for detailed usage guidance.

ParametersJSON Schema
NameRequiredDescriptionDefault
diffNoA unified diff. The reviewer weights changed lines most heavily. Combined with files, must not exceed 150,000 characters.
filesNoFull file contents to review. Provide when you want the reviewer to see complete files, not just a diff.
contextNoOptional story/PR description to give the reviewer intent context.
conventionsNoThis project's CLAUDE.md and/or RULES.md content (or the relevant excerpt). Strongly recommended when available — both review passes treat this as authoritative: a finding that violates a stated rule here is always blocking.
relatedFilesNoExisting files for cross-reference ONLY — never diffed, never themselves the subject of a finding. Supply an interface the change implements, a caller of a changed function, or a sibling file showing the project's real convention, so the reviewer can verify claims against real code instead of guessing.

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations the description carries the full burden, and it does: it discloses the two-pass LLM-judge architecture, that findings are merged into one verdict, the rejection behavior when neither files nor diff is supplied, and the async contract (returns a reviewId immediately; call stream_review to follow progress). This is rich behavioral context beyond what any structured field provides.

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

Conciseness4/5

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

Front-loaded with purpose and the hard constraint, and every section maps to a real decision an agent must make. It is somewhat verbose in the conventions/relatedFiles rationale, but the length is justified by a five-parameter tool with an async contract and no annotations.

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

Completeness5/5

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

No output schema exists, yet the description explains the return (reviewId) and how to retrieve findings (stream_review), plus the input rejection rule and the guidance needed to get a strong review. An agent has everything required to call it correctly and follow up.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds genuine meaning beyond the schema: the mutual-requirement constraint that at least one of files or diff must be present (not visible since required is empty), the authoritative/blocking weight of conventions, and the intent behind relatedFiles as cross-reference-only grounding. It largely echoes the schema wording, which caps it below 5.

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

Purpose5/5

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

States a specific verb (submit) and resource (code for review) and enumerates the review scope: bugs, security issues, silent failures, style. It explicitly distinguishes itself from siblings by naming test_component for test verification, so an agent can route correctly without opening the schema.

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

Usage Guidelines5/5

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

Gives explicit when-to-use conditions (supply files and/or a diff, at least one required), when-not (no code generation or execution; use test_component for test verification), and detailed guidance on when to add conventions and relatedFiles versus the weaker review that results from omitting them. Nothing is left to inference.

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

stream_batchAInspect

Stream live progress for a batch submitted via build_batch. Polls the batch's aggregate status periodically and emits a progress notification each tick; closes once the batch reaches a terminal status (completed or completed_with_failures). Call get_batch instead for a single point-in-time snapshot.

ParametersJSON Schema
NameRequiredDescriptionDefault
batchIdYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does a good job: it explains the polling model ('polls the batch's aggregate status periodically'), the per-tick notification behavior, and the exact termination condition, naming both terminal statuses (completed, completed_with_failures). It stops short of stating the poll interval, error/timeout behavior, or whether the call blocks until completion, which leaves some uncertainty about calling semantics.

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

Conciseness5/5

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

Three clauses, each earning its place: the core action, the observable lifecycle, and the routing alternative. Front-loaded with the streaming behavior and no redundant restatement of the name or title.

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

Completeness4/5

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

For a single-parameter streaming tool with no annotations and no output schema, the description covers the essential contract: what triggers it, what it emits per tick, and when it closes. It omits the shape of the progress notification payload and the polling cadence, so an agent knows the lifecycle but not the payload it will receive.

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

Parameters3/5

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

Schema coverage is 0% and batchId has no type or format guidance, but the description supplies the key semantic link: the ID refers to a batch produced by build_batch, which tells the agent where the value comes from. No format, validation, or lookup hint is added, so it is adequate but not generous.

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

Purpose5/5

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

States a specific verb and resource ('Stream live progress for a batch') and immediately ties the resource to its origin ('submitted via build_batch'), which identifies the correct input domain. It also distinguishes itself from the sibling get_batch by contrasting live streaming with a point-in-time snapshot.

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

Usage Guidelines5/5

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

Gives an explicit alternative and the condition that selects it: 'Call get_batch instead for a single point-in-time snapshot.' The streaming use case (watching progress until a terminal state) is stated directly, so an agent can choose between the two without guessing.

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

stream_buildAInspect

Follow a build submitted by build_feature in real time. Emits a progress notification on every phase change and resolves with the final result when the build completes or fails. Use immediately after build_feature returns a buildId.

ParametersJSON Schema
NameRequiredDescriptionDefault
buildIdYesThe buildId returned by build_feature.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does reasonably well: it discloses streaming semantics ('emits a progress notification on every phase change') and both termination paths ('resolves with the final result when the build completes or fails'). It omits whether the call blocks, whether it can be cancelled, and any auth or timeout constraints.

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

Conciseness5/5

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

Three short sentences with no filler: identity of the resource first, then runtime behavior, then the call-timing rule. Every sentence earns its place and the most decision-relevant information is front-loaded.

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

Completeness4/5

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

For a single-parameter streaming tool with no annotations and no output schema, the description covers what an agent needs to invoke it and what to expect back in kind (progress notifications, final result). The shape of the emitted notifications and final result is left unspecified, which is the only real gap.

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

Parameters3/5

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

Schema description coverage is 100% and the single parameter is already documented as 'The buildId returned by build_feature.' The description restates the same provenance without adding format or validity details, so the schema does the heavy lifting and the baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('Follow a build ... in real time') and anchors it to the sibling that produces the input ('a build submitted by build_feature'), which implicitly separates it from polling siblings like get_build and list_builds.

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

Usage Guidelines4/5

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

'Use immediately after build_feature returns a buildId' gives an explicit triggering condition and ordering relative to another tool. It does not, however, state when NOT to use it (e.g., when a build has already finished, use get_build instead), so it falls short of full alternative routing.

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

stream_reviewAInspect

Follow a review submitted by review_code in real time. Resolves with the findings and the approve/request-changes verdict.

ParametersJSON Schema
NameRequiredDescriptionDefault
reviewIdYesThe reviewId returned by review_code.

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It usefully discloses what the tool resolves with (findings plus approve/request-changes verdict), but says nothing about failure modes, timeouts, cancellation, or whether the call blocks until completion.

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

Conciseness5/5

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

Two short sentences with zero waste, and the core behavior (real-time follow, then resolve with findings and verdict) is front-loaded.

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

Completeness4/5

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

With no output schema, the description correctly explains what the tool resolves with, which is the key missing piece. It is nearly complete but omits stream/error behavior that matters for a long-running real-time call.

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

Parameters3/5

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

Schema coverage is 100% and there is a single parameter, so the schema already documents reviewId. The description adds only that the id is 'returned by review_code', which the schema also states, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource ('Follow a review ... in real time') and names the origin tool (review_code). It implicitly contrasts with the polling sibling get_review via 'in real time', but never names that sibling, so an agent must infer the streaming-vs-polling distinction.

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

Usage Guidelines3/5

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

Usage is implied: the description ties it to a review submitted by review_code, suggesting it is called after that. However, it does not state when to prefer this over get_review, nor any preconditions such as the review needing to be in progress.

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

stream_testAInspect

Follow a test submitted by test_component in real time. Resolves with the pass/fail verdict and the generated verification test content.

ParametersJSON Schema
NameRequiredDescriptionDefault
testIdYesThe testId returned by test_component.

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does disclose the key traits: the call streams/follows in real time and 'resolves with the pass/fail verdict and the generated verification test content.' It omits auth needs, timeouts, and failure modes, but the core behavioral profile of a long-lived streaming call is communicated.

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

Conciseness5/5

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

Two sentences, zero filler. The action and its real-time nature lead, and the resolution behavior follows immediately — every clause earns its place.

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

Completeness4/5

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

For a single-parameter streaming tool with no output schema, the description supplies the essential missing piece: what the call resolves with (verdict plus generated test content). It is nearly complete, lacking only edge-case behavior such as failure/timeout handling.

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

Parameters3/5

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

Only one parameter exists and schema description coverage is 100%, so the schema already documents testId fully (including its origin from test_component). The description adds no syntax or format detail beyond that, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource — follow/stream a test submitted by test_component — and the 'in real time' framing implicitly distinguishes it from the non-streaming get_test sibling. It does not name the sibling explicitly, so an agent must infer the routing rather than being told.

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

Usage Guidelines3/5

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

The phrase 'Follow a test submitted by test_component in real time' implies the usage context (after test_component has produced a testId, when you want live updates), but there is no explicit when-to-use versus get_test or when-not guidance.

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

test_componentAInspect

Run standalone cloud verification on code you already have: give it a component (filePath/exportName/signature) plus acceptance criteria, and it generates a black-box verification test, validates that test against a mechanical stub, then executes your REAL code against it in the cloud (isolate or container, per stack). No code generation happens here — use build_feature for that. Returns a testId immediately; call stream_test to follow progress and get the pass/fail verdict. Call get_usage_guide for detailed usage guidance.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesThe REAL implementation to test. Never shown to the model that generates the verification test.
componentYesMUST match the real code exactly — the generated verification test imports/calls by these exact names.
stackTypeYesRuntime target stack (JavaScript/TypeScript only at launch), e.g. "worker", "typescript", "node", "react".
contextFilesNoOptional ambient read-only files the code under test may import.
acceptanceCriteriaYesWhat the code must do — the verification test is generated from this alone.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does well: it discloses the verification pipeline, that execution happens in the cloud (isolate or container per stack), that validation runs against a mechanical stub first, and that the tool is asynchronous (returns a testId immediately). It doesn't cover permissions, cost/rate limits, or failure handling, so it stops short of a 5.

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

Conciseness4/5

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

Four compact sentences, front-loaded with the core action and the pipeline, then alternatives and follow-ups. Every sentence is load-bearing, though the parenthetical detail on isolate/container and the multi-clause first sentence make it slightly denser than strictly necessary.

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

Completeness5/5

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

For a complex, async, nested-schema tool with no output schema, the description covers the workflow end to end: what it takes in, what happens internally, that it returns a testId synchronously, and which follow-up tool yields the verdict. It also routes to build_feature and get_usage_guide, leaving no obvious gap for correct invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all five parameters in detail (including the exact-match constraint on component and the stub-hidden code field). The description only restates the component shape (filePath/exportName/signature) and acceptance criteria, adding no syntax or constraint detail beyond the schema, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource: 'Run standalone cloud verification on code you already have,' and describes the pipeline (generate black-box test, validate against a stub, execute real code). It explicitly distinguishes itself from siblings by ruling out code generation and naming build_feature as the alternative. An agent can tell it apart from build_* tools without reading either schema.

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

Usage Guidelines5/5

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

Gives explicit when-to-use ('code you already have'), when-not-to ('No code generation happens here — use build_feature for that'), and the required follow-up ('call stream_test to follow progress and get the pass/fail verdict'), plus a pointer to get_usage_guide. Nothing is left to inference.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 26 tool updates
    • First observedbuild_batch
    • First observedbuild_feature
    • First observedbuild_from_spec
    • First observedcancel_build
    • First observedcontinue_build
    • First observedcreate_free_account
    • First observedget_batch
    • First observedget_billing_status
    • First observedget_build
    • First observedget_build_files
    • First observedget_build_spec
    • First observedget_review
    • First observedget_test
    • First observedget_triage_diagnostics
    • First observedget_triage_runs
    • First observedget_usage_guide
    • First observedlist_builds
    • First observedlist_repos
    • First observednotify_files_written
    • First observedretry_build
    • First observedreview_code
    • First observedstream_batch
    • First observedstream_build
    • First observedstream_review
    • First observedstream_test
    • First observedtest_component

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    11 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources