Skip to main content
Glama

cursor-api-mcp

MCP server for the Cursor HTTP APIs.

By default the server exposes read and write tools (Cloud Agents + Team/Org Admin + Analytics + Bugbot + AI Code Tracking + Fleet). Pass --read-only (or set CURSOR_API_READ_ONLY=true) to register only fetch/query tools.

Install

git clone https://github.com/PhillipChaffee/cursor-api-mcp.git
cd cursor-api-mcp
uv sync

Create an API key at cursor.com/dashboard/api.

Related MCP server: cursor-mcp

Run

# Full access (read + write)
CURSOR_API_KEY=crsr_... uv run cursor-api-mcp

# Read-only (write tools are not registered)
CURSOR_API_KEY=crsr_... uv run cursor-api-mcp --read-only

# Same via env
CURSOR_API_KEY=crsr_... CURSOR_API_READ_ONLY=true uv run cursor-api-mcp

Cursor MCP config

Merge into ~/.cursor/mcp.json (do not replace existing servers).

Read-only (recommended default):

{
  "mcpServers": {
    "cursor-api": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/ABS/PATH/TO/cursor-api-mcp",
        "cursor-api-mcp",
        "--read-only"
      ],
      "env": {
        "CURSOR_API_KEY": "crsr_YOUR_KEY_HERE"
      }
    }
  }
}

Full read/write — omit --read-only / CURSOR_API_READ_ONLY:

{
  "mcpServers": {
    "cursor-api": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/ABS/PATH/TO/cursor-api-mcp",
        "cursor-api-mcp"
      ],
      "env": {
        "CURSOR_API_KEY": "crsr_YOUR_KEY_HERE"
      }
    }
  }
}

Reload MCP in Cursor Settings → MCP after editing.

Tools

Cloud Agents (all plans, user API key)

Tool

API

get_api_key_info

GET /v1/me

list_models

GET /v1/models

list_repositories

GET /v1/repositories

list_agents / get_agent

GET /v1/agents

list_agent_runs / get_agent_run

GET /v1/agents/{id}/runs

stream_agent_run

GET /v1/agents/{id}/runs/{runId}/stream

get_agent_usage

GET /v1/agents/{id}/usage

list_agent_artifacts

GET /v1/agents/{id}/artifacts

download_agent_artifact

GET /v1/agents/{id}/artifacts/download

Write (disabled with --read-only):

Tool

API

create_agent

POST /v1/agents

create_agent_run

POST /v1/agents/{id}/runs

cancel_agent_run

POST .../runs/{runId}/cancel

archive_agent / unarchive_agent

POST .../archive / unarchive

delete_agent

DELETE /v1/agents/{id}

create_worker_token

POST /v1/sub-tokens

Fleet / private workers (service-account key)

Tool

API

list_private_workers

GET /v0/private-workers

get_fleet_summary

GET /v0/private-workers/summary

get_private_worker

GET /v0/private-workers/{id}

list_pending_pool_requests

GET /v0/private-workers/pending-requests

Team Admin (Enterprise)

Tool

API

list_team_members

GET /teams/members

get_audit_logs

GET /teams/audit-logs

get_daily_usage_data

POST /teams/daily-usage-data

get_spending_data

POST /teams/spend

get_usage_events

POST /teams/filtered-usage-events

list_team_repo_blocklists

GET /settings/repo-blocklists/repos

list_billing_groups / get_billing_group

GET /teams/groups

Write:

Tool

API

set_user_spend_limit

POST /teams/user-spend-limit

remove_team_member

POST /teams/remove-member

upsert_repo_blocklists / delete_repo_blocklist

blocklist mutate

create_billing_group / update_billing_group / delete_billing_group

groups

add_billing_group_members / remove_billing_group_members

group members

Organization Admin (Enterprise org key)

Tool

API

list_organization_members

GET /organizations/members

get_organization_pooled_usage

POST /organizations/pooled-usage

get_organization_usage_events

POST /organizations/filtered-usage-events

get_organization_daily_usage_data

POST /organizations/daily-usage-data

get_organization_spending_data

POST /organizations/spend

list_organization_groups / get_organization_group

GET /organizations/groups

list_organization_group_members

GET .../groups/{id}/members

Write:

Tool

API

sync_organization_team_memberships

POST /organizations/team-memberships/sync

add_organization_group_members

POST .../members/bulk-add

remove_organization_group_members

POST .../members/bulk-remove

Analytics (Enterprise)

Tool

API

get_team_analytics

GET /analytics/team/{metric}

get_analytics_by_user

GET /analytics/by-user/{metric}

metric is allowlisted (e.g. agent-edits, tabs, dau, models, bugbot, bugbot-reviews, conversation-insights, …). See tool docstrings for the full lists.

AI Code Tracking (Enterprise, alpha)

Tool

API

list_ai_code_commits

GET /analytics/ai-code/commits

download_ai_code_commits_csv

GET /analytics/ai-code/commits.csv

list_ai_code_changes

GET /analytics/ai-code/changes

download_ai_code_changes_csv

GET /analytics/ai-code/changes.csv

get_ai_code_commit_details

GET /analytics/ai-code/commits/{hash}

Bugbot (Enterprise)

Tool

API

list_bugbot_repos

GET /bugbot/repos

Write:

Tool

API

trigger_bugbot_review

POST /bugbot/review

update_bugbot_repo

POST /bugbot/repo/update

update_bugbot_user_access

POST /bugbot/user/update

Safety

  • Prefer --read-only unless you need mutations.

  • Use the narrowest API key scope that covers your tools.

  • Never commit .env or paste API keys into chat / git.

  • /v1/repositories is rate-limited (~1/min); avoid polling loops.

  • create_worker_token redacts accessToken in tool results (mint raw JWTs outside MCP).

  • stream_agent_run buffers SSE until close/timeout — prefer get_agent_run for watches.

  • CSV download tools return the body as csv_text (can be large).

Development

uv sync --extra dev
uv run pytest

License

MIT

Available Tools

61 tools
add_billing_group_membersA

Add members to a billing group (POST /teams/groups/{id}/members).

Args: group_id: Billing group id. user_ids_json: JSON array of encoded user ids.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYes
user_ids_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided, so description carries full behavioral burden. It mentions POST for creation but does not disclose whether membership is additive or replacing, nor any permissions or idempotency. Missing critical mutation details.

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

Conciseness5/5

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

Two-line description plus structured parameter list. Action is front-loaded in the first sentence. No redundant information.

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?

Lacks completeness for a mutation tool: no info on return value, side effects, authorization, or behavior on duplicates. Output schema exists but description does not leverage it to explain response.

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

Parameters4/5

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

With 0% schema coverage, description provides meaningful semantics: group_id is a 'Billing group id' and user_ids_json is a 'JSON array of encoded user ids', clarifying type and format. Falls short on explaining 'encoded' or duplicate handling.

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

Purpose5/5

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

Description clearly states the verb 'Add members to a billing group' and specifies the HTTP endpoint. It distinguishes from sibling tools like 'remove_billing_group_members' and 'add_organization_group_members'.

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

Usage Guidelines3/5

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

No explicit guidelines on when to use this tool versus alternatives. The purpose implies billing group context, but no exclusions or prerequisites are mentioned.

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

add_organization_group_membersA

Add members to an org group (POST .../members/bulk-add).

Args: group_id: Organization group id (g_...). user_ids_json: JSON array of user ids (max 100 per request).

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYes
user_ids_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description must cover behavioral traits. It mentions mutation ('add'), but lacks disclosure on destructive nature, authentication requirements, effect on existing members, or error handling. The max 100 limit is a useful detail, but overall transparency is minimal.

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

Conciseness5/5

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

The description is concise, front-loads the action, and uses a clear argument list. Every sentence earns its place without redundancy.

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?

Given two required parameters and no nested objects, the description covers the basics but misses context like prerequisites, success/failure behavior, or return value (output schema exists but not described). Adequate but with gaps.

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

Parameters4/5

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

The description adds meaning beyond the input schema by specifying the format of group_id (g_...) and the structure of user_ids_json (JSON array, max 100). This compensates for the 0% schema description coverage.

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

Purpose5/5

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

The description clearly states 'Add members to an org group' with the HTTP endpoint, specifying the verb and resource. It is easily distinguishable from sibling tools like 'remove_organization_group_members' and 'list_organization_group_members'.

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

Usage Guidelines3/5

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

The description provides constraints like max 100 users per request, but does not explicitly state when to use this tool versus alternatives (e.g., remove or list). Usage context is implied but not explicit.

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

archive_agentA

Archive an agent so it cannot accept new runs (POST .../archive).

Args: agent_id: Agent id (for example bc-...).

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description bears full responsibility for disclosing behavior. It states that archiving prevents new runs, which is a key behavioral trait. However, it omits details about whether existing runs continue, if the action is reversible (implied by unarchive_agent), or required permissions. Basic transparency is present but not comprehensive.

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

Conciseness5/5

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

The description is extremely concise: two sentences. The first sentence states the purpose, and the second lists the argument. There is zero wasted text, and the important 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?

Given the tool's simplicity (one required parameter) and the presence of an output schema (not shown but indicated), the description provides sufficient context. It explains the action's effect and gives a param example. It could mention the return value type, but that is covered by the output schema.

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

Parameters4/5

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

The input schema has 0% description coverage, but the description adds significant value by providing an example format ('for example bc-...') for the agent_id parameter. This hints at the expected identifier pattern, which goes beyond the schema's type and title.

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

Purpose5/5

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

The description clearly states the verb 'archive' and the resource 'agent', and explains the effect: 'so it cannot accept new runs'. This effectively distinguishes it from sibling tools like unarchive_agent, delete_agent, and list_agents.

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 does not provide any guidance on when to use this tool versus alternatives such as delete_agent or unarchive_agent. There is no mention of prerequisites, when not to use, or how to decide between archiving and other actions.

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

cancel_agent_runB

Cancel an active agent run (POST .../runs/{runId}/cancel).

Args: agent_id: Agent id (for example bc-...). run_id: Run id (for example run-...).

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYes
agent_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/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 burden. It only states 'Cancel an active agent run' without disclosing side effects, reversibility, permission requirements, or error states.

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

Conciseness4/5

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

The description is short and includes the essential information. The 'Args:' list is slightly redundant but not wasteful. Could be more concise without losing clarity.

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?

Despite having an output schema, the description omits important behavioral details like whether the run must be active, what happens if already canceled, or authentication needs. Incomplete for a mutation tool.

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

Parameters3/5

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

With 0% schema description coverage, the description adds examples for agent_id and run_id formats (e.g., 'bc-...', 'run-...'), which provides some guidance but lacks detail on where to obtain these IDs or their constraints.

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

Purpose5/5

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

Clearly states the action 'Cancel an active agent run' with the HTTP method and path, distinguishing it from sibling tools like list_agent_runs or create_agent_run.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., when a run is already completed or cannot be canceled). Does not mention prerequisites or context.

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

create_agentA

Create a Cloud Agent and enqueue its initial run (POST /v1/agents).

Args: prompt_text: Required instruction text for the agent. name: Optional display name (max 100 chars). repo_url: Optional GitHub repository URL. starting_ref: Optional branch or SHA starting point. pr_url: Optional PR URL (repo_url still required when set). model_id: Optional model id from list_models. auto_create_pr: Whether to open a PR when the run completes. work_on_current_branch: Push to starting ref instead of a new branch. mode: Initial mode: agent or plan. agent_id: Optional client-supplied id (bc-...) for idempotent create. prompt_images_json: Optional JSON array of prompt images ({data,mimeType} or {url}). mcp_servers_json: Optional JSON array (string or list) of inline MCP servers. extra_json: Optional JSON object (string or object) merged into the request body for advanced fields. Cannot overwrite keys already set by typed args (for model.params, omit model_id and pass full model).

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo
nameNo
pr_urlNo
agent_idNo
model_idNo
repo_urlNo
extra_jsonNo
prompt_textYes
starting_refNo
auto_create_prNo
mcp_servers_jsonNo
prompt_images_jsonNo
work_on_current_branchNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/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 mentions idempotent creation via agent_id but does not detail error scenarios, rate limits, or side effects beyond the initial run enqueue. The note on extra_json conflicts is a minor behavioral disclosure.

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

Conciseness3/5

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

The description starts with a clear purpose but then becomes a lengthy parameter list. While structured, it could be more concise by grouping related params or using shorter descriptions. The front-loaded sentence is good.

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?

Covers all 13 parameters but does not explain the output (though an output schema exists). Missing guidance on when to create a new agent vs. using create_agent_run, and no mention of typical use cases or workflow context.

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

Parameters4/5

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

Schema coverage is 0%, so the description provides all parameter semantics: constraints (e.g., max 100 chars), formats (bc-...), and advanced usage (extra_json). Each parameter gets an explanation beyond the schema's type and title.

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

Purpose5/5

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

The description clearly states 'Create a Cloud Agent and enqueue its initial run' and includes the HTTP method and endpoint. It distinguishes from sibling tools like archive_agent, delete_agent, and create_agent_run by focusing on creation and initial run.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives such as create_agent_run (for existing agents) or list_agents (for querying). The description does not provide context on prerequisites or exclusions.

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

create_agent_runB

Send a follow-up prompt to an active agent (POST /v1/agents/{id}/runs).

Args: agent_id: Agent id (for example bc-...). prompt_text: Follow-up instruction text. mode: Optional mode override: agent or plan. prompt_images_json: Optional JSON array of prompt images. mcp_servers_json: Optional JSON array of MCP servers for this run. extra_json: Optional JSON object merged into the body. Cannot overwrite prompt, mcpServers, or mode when those were set by typed args.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo
agent_idYes
extra_jsonNo
prompt_textYes
mcp_servers_jsonNo
prompt_images_jsonNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/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 full responsibility. It implies the agent must be active but does not explain behavior on inactive agents, side effects, idempotency, or authentication requirements. The description is mostly a parameter list.

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

Conciseness4/5

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

The description is concise with a front-loaded main action. The parameter list is clear, though the 'Args:' section is somewhat redundant with the input schema. Slightly exceeding minimal viable length.

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?

An output schema exists but is not described, leaving the return value unclear. The description does not mention preconditions (e.g., agent must be active) or link to related sibling tools. Adequate but has gaps.

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

Parameters4/5

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

Schema description coverage is 0%, but the description adds context: mode options (agent/plan), warning that extra_json cannot overwrite certain fields, and clarifies prompt_text as 'follow-up instruction'. This compensates for the schema's lack of descriptions.

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

Purpose5/5

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

The description clearly states the action ('Send a follow-up prompt to an active agent') and identifies the resource (agent run) with a specific HTTP endpoint. It differentiates from siblings like cancel_agent_run and list_agent_runs.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., create_agent for new conversations, stream_agent_run for streaming). No exclusions or prerequisites are mentioned.

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

create_billing_groupB

Create a billing group (POST /teams/groups).

Args: name: Group name. group_type: Group type (currently only BILLING).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
group_typeNoBILLING

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

The description only mentions creation with no details on side effects, permissions, idempotency, or errors. No annotations are provided, so the description carries full burden but fails to disclose behavioral traits.

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

Conciseness4/5

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

Concise at two sentences. Structured with args list, but no wasted words. However, presenting args in code style is acceptable.

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?

Missing return value description, error scenarios, and prerequisites. With only 2 parameters, the description could be more complete, especially since annotations are absent.

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

Parameters3/5

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

The description adds meaning for group_type ('currently only BILLING'), which provides a constraint not in schema titles. However, the schema already has titles 'Name' and 'Group Type', so the description adds limited additional value.

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

Purpose5/5

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

The description clearly states 'Create a billing group' and specifies the HTTP endpoint POST /teams/groups. It differentiates from sibling tools like list_billing_groups, get_billing_group, etc., by naming the create action.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., update_billing_group, delete_billing_group). No context about prerequisites or constraints.

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

create_worker_tokenA

Mint a one-hour user-scoped worker token (POST /v1/sub-tokens).

Requires a service-account API key. Provide exactly one of email or user id. The accessToken value is redacted in the tool result.

Args: for_user_email: Active team member email. for_user_id: Active team member numeric user id.

ParametersJSON Schema
NameRequiredDescriptionDefault
for_user_idNo
for_user_emailNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

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

Despite lacking annotations, the description discloses key behaviors: token lifespan (one-hour), redaction of accessToken in results, and the API endpoint. It does not mention side effects, but creating tokens is non-destructive. The information is sufficient for an agent.

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

Conciseness5/5

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

The description is highly concise: three sentences plus a bullet list of arguments. Every sentence adds essential information, and there is no verbosity. The structure front-loads the core action.

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

Completeness5/5

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

Given the tool's simplicity (2 parameters, output schema exists), the description covers all necessary context: auth requirement, parameter semantics, token lifespan, and result redaction. It is complete without needing to describe return values.

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

Parameters5/5

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

With 0% schema description coverage, the description fully explains the parameters: 'for_user_email: Active team member email' and 'for_user_id: Active team member numeric user id.' It also clarifies the constraint that exactly one must be provided, adding significant value beyond the schema.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Mint a one-hour user-scoped worker token (POST /v1/sub-tokens).' It specifies the action (mint), resource (worker token), and constraints (one-hour, user-scoped). The name matches, and there is no ambiguity with sibling tools.

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

Usage Guidelines4/5

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

The description provides explicit usage guidelines: requires a service-account API key and exactly one of email or user id. It does not explicitly state when not to use or mention alternatives, but the constraint is clear. Sibling tools are distinct, so no confusion.

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

delete_agentA

Permanently delete an agent (DELETE /v1/agents/{id}). Irreversible.

Args: agent_id: Agent id (for example bc-...).

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

The description explicitly states the operation is permanent and irreversible. Without annotations, this adequately discloses the destructive nature. No contradiction.

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

Conciseness5/5

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

Two concise lines plus an Args section. Every sentence adds value: action, HTTP method, irreversibility, and parameter format. No wasted words.

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

Completeness4/5

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

For a simple deletion tool with an output schema, the description covers the essential behavior (permanence) and parameter. It doesn't specify response details, but the output schema handles that. Adequate.

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

Parameters4/5

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

The description adds an example format 'bc-...' for agent_id, which is helpful beyond the schema that only has type and title. With 0% schema coverage, this provides useful guidance.

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

Purpose5/5

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

The description clearly states 'Permanently delete an agent' with the HTTP method and resource. It distinguishes from siblings by implying this is the destructive deletion, as opposed to archive_agent.

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

Usage Guidelines4/5

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

The description notes irreversibility, which guides against accidental use. However, it does not explicitly mention when to use this over archive_agent, which is a sibling for reversible removal.

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

delete_billing_groupC

Delete a billing group (DELETE /teams/groups/{id}). Destructive.

Args: group_id: Billing group id.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 full burden. It only states 'Destructive' and the HTTP method, lacking details on irreversibility, side effects (e.g., associated memberships), or success response. Minimal disclosure.

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

Conciseness3/5

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

Very brief but includes relevant HTTP endpoint. However, it lacks structure—no clear separation of purpose and details. The Args section is presented but not integrated into a flowing explanation.

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?

Despite having an output schema, the description does not mention return values or error handling. A delete operation should at least note success indicators (e.g., 204 No Content) or prerequisites. Incomplete for safe agent use.

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%. The description repeats the parameter name and type ('group_id: Billing group id.'), which adds little beyond the schema's title 'Group Id'. No format, constraints, or examples are given.

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

Purpose5/5

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

The description clearly states the action ('Delete a billing group') with the HTTP method and path, making the purpose unambiguous. It distinguishes from sibling tools like list_billing_groups or create_billing_group via the verb 'delete'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like update_billing_group or remove_billing_group_members. The only indicator is 'Destructive', which implies finality but not selection criteria.

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

delete_repo_blocklistB

Delete one repository blocklist entry (DELETE .../repos/{repoId}).

Args: repo_id: Blocklist repo id.

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only says 'Delete', omitting details about idempotency, error behavior (e.g., if entry not found), permission requirements, or consequences. This is insufficient for a deletion 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?

The description is extremely concise—two short lines—with no extraneous information. Every word serves a purpose, and it includes the HTTP method for clarity.

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 delete operation with one parameter and an output schema (though not shown), the description is adequate but lacks depth. It does not mention success/failure indicators, side effects, or permissions, leaving some ambiguity.

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?

The schema has 0% description coverage, and the description adds 'repo_id: Blocklist repo id.' This barely clarifies the parameter's purpose beyond the schema title 'Repo Id', leaving format, validation, and examples unknown.

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

Purpose5/5

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

The description clearly states 'Delete one repository blocklist entry', which specifies the action (delete) and the resource (repository blocklist entry). It distinguishes from siblings like upsert_repo_blocklists (create/update) and list_team_repo_blocklists (list).

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. It does not mention prerequisites, such as needing ownership or admin permissions, nor does it contrast with other delete or blocklist tools.

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

download_agent_artifactB

Get a 15-minute presigned URL for an artifact (GET .../artifacts/download).

Args: agent_id: Agent id (for example bc-...). path: Relative artifact path from list_agent_artifacts (for example artifacts/screenshot.png).

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
agent_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

The description discloses the presigned URL expiration (15 minutes) and the HTTP method, providing useful behavioral context. However, it omits potential side effects, authorization requirements, or rate limits. With no annotations, the description carries the burden, and while it adds value, it is not fully transparent.

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

Conciseness4/5

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

The description is concise with two short sentences and a bullet-like list of arguments. No extraneous information. The key action and parameters are front-loaded. Slightly more compact could be achieved, but it is efficient overall.

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?

Given the presence of an output schema (not shown), the description adequately covers the tool's function and parameters. However, it lacks usage guidelines, error handling, and behavioral context like permissions. For a tool with no annotations, it is moderately complete but has gaps.

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

Parameters3/5

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

Schema coverage is 0%, so the description must add meaning. It provides examples for both agent_id ('bc-...') and path (relative path from list_agent_artifacts). This adds context beyond the bare schema, but could be more precise about formats or constraints. It compensates partially but not fully.

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

Purpose4/5

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

The description clearly states it returns a 15-minute presigned URL for an artifact, specifying the HTTP method and endpoint. This is a specific verb+resource. However, it does not explicitly differentiate from sibling tools like download_ai_code_commits, though the context of artifacts versus code commits provides some distinction.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, such as direct download or other artifact operations. There are no prerequisites, exclusions, or alternatives mentioned, leaving the agent without context to choose correctly among siblings.

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

download_ai_code_changes_csvC

Download AI change metrics CSV (GET /analytics/ai-code/changes.csv).

Returns the CSV body as text under csv_text.

Args: start_date: Optional start date bound. end_date: Optional end date bound. user: Optional single-user filter.

ParametersJSON Schema
NameRequiredDescriptionDefault
userNo
end_dateNo
start_dateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description must carry the full burden. It discloses the HTTP method (GET) and that the response contains 'csv_text', but does not specify whether the operation is read-only, any side effects, permission requirements, or rate limits.

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

Conciseness4/5

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

The description is concise, using two sentences and a bullet-like list for parameters. It avoids unnecessary verbosity while covering the core action and parameters.

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 download tool, the description covers the main function and parameters. However, it lacks details on date formats, user identifier format, potential errors, and the full output schema (though output schema exists externally).

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

Parameters3/5

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

The input schema has 0% description coverage, but the description adds brief semantic labels for each parameter (e.g., 'Optional start date bound'). This helps the agent understand parameter purpose beyond what the schema provides (names and types only).

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

Purpose4/5

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

The description clearly states 'Download AI change metrics CSV' specifying the verb and resource. It also includes the HTTP endpoint. However, it does not distinguish from the sibling tool 'download_ai_code_commits_csv', which has a very similar name and purpose.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'list_ai_code_changes' or the commits CSV download. The description only lists parameters, leaving the agent to infer usage context.

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

download_ai_code_commits_csvA

Download AI commit metrics CSV (GET /analytics/ai-code/commits.csv).

Returns the CSV body as text under csv_text.

Args: start_date: Optional start date bound. end_date: Optional end date bound. user: Optional single-user filter.

ParametersJSON Schema
NameRequiredDescriptionDefault
userNo
end_dateNo
start_dateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/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 full burden. It discloses the main behavior (download CSV as text) and parameters, but lacks details on error handling, rate limits, or side effects. The GET method implies read-only but is not stated.

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

Conciseness5/5

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

The description is extremely concise, with only three lines of meaningful content. It front-loads the purpose and lists parameters without redundancy. Every sentence is necessary.

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

Completeness4/5

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

Given the tool has an output schema and only three optional parameters, the description covers the essentials: purpose, return format (csv_text), and filter options. It could mention that the CSV is returned as a string, but the output schema likely provides structure, so it's nearly complete.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must add meaning. It provides brief explanations for each parameter (e.g., 'Optional start date bound') but lacks format specifications (e.g., ISO 8601) or behavioral details like inclusivity.

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

Purpose5/5

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

The description specifies the tool downloads an AI commit metrics CSV via a GET endpoint and returns the CSV body as text. It uses a specific verb 'download' and resource 'AI commit metrics CSV', distinguishing it from siblings like list_ai_code_commits.

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

Usage Guidelines3/5

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

The description lists optional filters but provides no guidance on when to use this tool versus siblings like download_ai_code_changes_csv or list_ai_code_commits. Usage context is implied but not explicit.

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

get_agentA

Get durable metadata for one Cloud Agent (GET /v1/agents/{id}).

Args: agent_id: Agent id (for example bc-...).

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 full burden. It discloses the HTTP method (GET) and resource type ('durable metadata'), implying read-only and idempotent behavior. However, it lacks details on permissions, error handling, or rate limits.

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

Conciseness5/5

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

The description is two concise sentences with no wasted words, including the HTTP path and argument.

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

Completeness5/5

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

Given that an output schema exists (not shown, but noted), the description does not need to explain return values. For a simple one-parameter tool, the description is complete and sufficient.

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 0%, so description must compensate. It adds an example format ('for example bc-...') which gives practical meaning beyond the schema's 'string' type.

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

Purpose5/5

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

Description states 'Get durable metadata for one Cloud Agent (GET /v1/agents/{id})', specifying verb, resource, and HTTP method. Clearly distinguishes from siblings like list_agents and archive_agent.

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

Usage Guidelines4/5

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

The description indicates when to use (to get metadata for a single agent) but does not explicitly mention when not to use or alternative tools. However, the sibling list provides context.

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

get_agent_runA

Get one Cloud Agent run (GET /v1/agents/{id}/runs/{runId}).

Args: agent_id: Agent id (for example bc-...). run_id: Run id (for example run-...).

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYes
agent_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/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 full burden. It only mentions 'GET', implying read-only behavior, but does not disclose permissions, rate limits, or error handling. Minimal disclosure beyond the HTTP method.

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

Conciseness5/5

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

The description is extremely concise with two short sentences, front-loading the purpose and listing arguments clearly. No extraneous words; every sentence earns its place.

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

Completeness4/5

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

Given the tool's simplicity and the presence of an output schema, the description is sufficient to use it correctly. It explains inputs and purpose, though it could mention id format or error handling.

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 0%, yet the description adds value by explaining each parameter with examples (agent_id: 'bc-...', run_id: 'run-...'). This provides context beyond the schema's type and title.

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

Purpose5/5

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

The description clearly states 'Get one Cloud Agent run' with a specific HTTP method and path, distinguishing it from siblings like list_agent_runs (list) and create_agent_run (create). It precisely specifies the resource and action.

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

Usage Guidelines3/5

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

The description implies usage for retrieving a single run, but provides no explicit when-to-use or alternatives. It is adequate for a simple retrieval tool but lacks guidance compared to siblings like list_agent_runs for listing.

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

get_agent_usageA

Get token usage for an agent, optionally scoped to one run (GET .../usage).

Args: agent_id: Agent id (for example bc-...). run_id: Optional run id to scope usage.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idNo
agent_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description relies on 'Get' to imply read-only behavior, but does not detail what 'token usage' includes (e.g., breakdown by type) or any potential constraints. Adequate but minimal.

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

Conciseness5/5

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

Two sentences plus a clean argument list. Front-loaded with purpose, no wasted words. Extremely concise and structured well.

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

Completeness4/5

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

Given the tool's simplicity (2 params) and the presence of an output schema (not shown), the description is mostly complete. It could mention return format briefly, but provides sufficient context for an agent to use correctly.

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

Parameters4/5

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

The description adds meaningful information beyond the schema: agent_id gets a format example ('bc-...'), run_id is clearly explained as optional for scoping. Compensates for the schema's lack of descriptions.

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

Purpose5/5

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

The description explicitly states 'Get token usage for an agent' with optional run scoping, using specific verb and resource. It distinguishes from siblings like get_daily_usage_data and get_spending_data by specifying per-agent and optionally per-run scope.

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

Usage Guidelines3/5

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

The description implies usage for agent-specific token usage, but does not explicitly mention when to use alternatives or provide exclusions. Context is clear but lacks direct guidance.

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

get_ai_code_commit_detailsA

Get commit detail / blame (GET /analytics/ai-code/commits/{hash}).

Limited alpha. commit_hash may be a single hash or comma-separated list.

Args: commit_hash: Commit hash or comma-separated hashes. branch: Optional branch name filter.

ParametersJSON Schema
NameRequiredDescriptionDefault
branchNo
commit_hashYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/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 burden. It discloses 'Limited alpha' status and the ability to accept comma-separated hashes. However, it does not explicitly state that the operation is read-only (though implied by GET) or any authentication or rate-limit requirements.

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

Conciseness4/5

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

The description is concise: a one-line purpose, a caveat, and parameter docs. It is front-loaded with the main action. Some may prefer more structure, but it is efficient.

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

Completeness3/5

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

Given the presence of an output schema (handles return values), the description is adequate but lacks guidance on when to prefer this tool over sibling tools like list_ai_code_commits. The 'Limited alpha' note adds useful context, but more usage context would improve completeness.

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

Parameters4/5

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

Schema coverage is 0%, so the description must clarify parameters. It adds that commit_hash can be a comma-separated list and branch is an optional filter, providing meaning beyond the parameter names in the schema.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'commit detail / blame', and specifies the HTTP method and endpoint. This distinguishes it from siblings like list_ai_code_commits (which lists commits) and download_ai_code_commits_csv (which downloads CSV). Not a tautology.

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

Usage Guidelines3/5

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

The description implies usage for fetching details of specific commit(s) via the commit_hash parameter, but does not explicitly state when to use this tool over alternatives (e.g., list_ai_code_commits for browsing). No exclusions or when-not-to guidelines are provided.

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

get_analytics_by_userA

Fetch a by-user analytics metric (GET /analytics/by-user/{metric}).

Allowed metrics: agent-edits, tabs, models, top-file-extensions, client-versions, mcp, commands, plans, skills, ask-mode.

Args: metric: Allowlisted metric slug. start_date: Optional start date bound. end_date: Optional end date bound. users: Optional comma-separated emails or user ids. page: Page number (default 1). page_size: Users per page (default 100, max 500 server-side).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
usersNo
metricYes
end_dateNo
page_sizeNo
start_dateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description provides basic behavioral info: it's a read operation, lists pagination with max page size, and parameter constraints. However, it lacks details on authentication, error handling, or data freshness.

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?

Structured with clear headers and bullet points for parameters. Every sentence adds value: endpoint, allowed metrics, parameter details. No fluff.

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

Completeness4/5

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

Covers all 6 parameters, pagination limits, and allowed metrics. Output schema exists (not shown) so return format is covered. Lacks mention of permissions or error conditions, but sufficiently complete for a read-only fetch tool.

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

Parameters5/5

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

Schema coverage is 0%, but the description fully compensates by explaining each parameter: metric as allowlisted slug, date bounds, comma-separated users, page/page_size with defaults and max. This adds crucial meaning beyond the bare schema.

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

Purpose5/5

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

The description clearly states 'Fetch a by-user analytics metric' and specifies the endpoint. It lists allowed metrics, making the tool's purpose precise and distinct from siblings like get_team_analytics.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. While the name implies per-user scope, there is no when-not-to-use or comparison with other analytics tools.

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

get_api_key_infoA

Return metadata for the configured Cursor API key (GET /v1/me).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.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 full burden for behavioral disclosure. It states a read operation ('Return metadata') and includes the endpoint, but lacks details on authorization requirements, rate limits, or potential side effects. The minimal information leaves gaps for the agent.

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

Conciseness5/5

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

The description is a single sentence that immediately states the purpose and includes the HTTP endpoint. Every word adds value, and there is no redundancy or wasted content.

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

Completeness5/5

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

Given the tool has no parameters and an output schema exists (which describes the return value), the description sufficiently covers what the tool does. The endpoint reference aids understanding, and no additional context is needed for this simple retrieval operation.

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

Parameters4/5

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

The input schema has no parameters, so description coverage is 100% trivially. The description does not need to add parameter meaning but correctly implies the tool requires no user-provided arguments. Baseline score of 4 is appropriate for zero-parameter tools.

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

Purpose5/5

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

The description clearly specifies the action ('Return metadata'), the resource ('configured Cursor API key'), and includes the HTTP endpoint ('GET /v1/me'). No other sibling tool seems to perform this function, making it highly distinctive.

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

Usage Guidelines3/5

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

The description does not provide explicit guidance on when to use this tool versus alternatives. However, the purpose is straightforward, and with no similar sibling tools, the usage context is implicitly clear but could be improved with a note about typical use cases (e.g., verifying key status).

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

get_audit_logsA

Fetch team audit log events (GET /teams/audit-logs).

Args: start_time: Start bound (e.g. 7d, ISO8601, YYYY-MM-DD). Default ~7 days ago. end_time: End bound (e.g. now). Default now. event_types: Comma-separated event types (login, add_user, ...). search: Free-text search filter. users: Comma-separated emails or encoded user ids. page: 1-indexed page (default 1). page_size: Results per page, 1-500 (default 100).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
usersNo
searchNo
end_timeNo
page_sizeNo
start_timeNo
event_typesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are present, so the description carries full burden. It does not disclose behavioral traits such as rate limits, authentication requirements, or read-only nature (though implied by GET). Only basic fetch action is described.

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

Conciseness5/5

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

The description is concise with a clear one-line summary followed by a structured 'Args' block. Each parameter is listed with brief but sufficient detail. No unnecessary information.

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

Completeness4/5

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

The description covers all parameters and their usage fully. An output schema exists (not shown) so return values are not required. Minor omission: no mention of typical response structure, but output schema likely covers it. Adequate for a complex tool.

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

Parameters5/5

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

Schema description coverage is 0%, but the description provides detailed semantics for all 7 parameters, including format examples (e.g., ISO8601 for time), defaults, and valid values (e.g., page_size 1-500). This fully compensates for the missing schema descriptions.

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

Purpose5/5

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

The description clearly states 'Fetch team audit log events' which specifies the verb (fetch) and resource (audit log events). The HTTP path is also included, and it is distinct from sibling tools like get_usage_events.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives is provided. The description does not mention exclusions, prerequisites, or comparison with other tools.

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

get_billing_groupA

Get one billing group (GET /teams/groups/{groupId}).

Args: group_id: Billing group id. billing_cycle: Optional ISO date (YYYY-MM-DD) for the cycle; default current.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYes
billing_cycleNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations provided, so description must fill gaps. It describes the GET request and parameters but omits details like auth requirements, error responses, or side effects. Adequate for a simple read 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?

The description is brief and well-structured with a clear 'Args' section. Every sentence conveys essential information without redundancy.

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

Completeness4/5

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

Has output schema, so return values need not be detailed. Description covers operation and parameters sufficiently for a simple get tool, though missing edge case discussion.

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

Parameters4/5

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

Schema description coverage is 0%, so description carries full burden. It explains group_id and billing_cycle with format and default, adding meaningful context beyond schema titles.

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

Purpose4/5

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

The description clearly states it retrieves a specific billing group by ID, including the HTTP method and path. However, it does not explicitly distinguish itself from siblings like list_billing_groups.

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 provides no guidance on when to use this tool versus alternatives. It lacks any 'when to use' or 'when not to use' instructions.

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

get_daily_usage_dataA

Fetch daily team usage metrics (POST /teams/daily-usage-data; query only).

Date range cannot exceed 30 days. Without page/page_size, only active users are returned; with both, all members in range are returned.

Args: start_date_ms: Range start as epoch milliseconds. end_date_ms: Range end as epoch milliseconds. page: Optional 1-indexed page for all-members mode. page_size: Optional page size for all-members mode.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
page_sizeNo
end_date_msYes
start_date_msYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

Discloses key behavioral traits: query-only nature ('query only'), date range constraint, and mode switching based on pagination. Without annotations, this adequately informs the agent of the tool's non-destructive read behavior.

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

Conciseness4/5

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

Concisely written with a clear break between general description and parameter details. Could be slightly tighter but remains informative without extraneous content.

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

Completeness5/5

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

Given the tool's moderate complexity (4 parameters, two modes) and the presence of an output schema, the description covers essential usage context, constraints, and behavior completely.

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

Parameters5/5

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

With 0% schema description coverage, the description fully compensates by explaining each parameter: epoch milliseconds for dates, optional pagination, and the behavior effect. Adds significant meaning beyond schema titles.

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

Purpose5/5

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

The description clearly states the tool fetches daily team usage metrics, specifies the endpoint (POST /teams/daily-usage-data), and distinguishes it from siblings like get_organization_daily_usage_data.

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

Usage Guidelines4/5

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

Provides clear usage context: date range limit of 30 days and explains how page/pagination parameters affect returned data (active vs all members). Does not explicitly contrast with sibling tools but gives actionable guidance.

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

get_fleet_summaryA

Get connected/in-use worker counts (GET /v0/private-workers/summary).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided, so the description must convey behavior. It indicates a read operation via 'Get' and includes the HTTP endpoint. Lacks details on auth or data freshness, but for a simple count it's adequate.

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

Conciseness5/5

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

Extremely concise single sentence (under 20 words) that is front-loaded with the core action. No wasted words.

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

Completeness5/5

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

Tool is simple with zero parameters and an output schema available. Description fully covers what the tool does; no missing context for an agent to invoke it 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?

No parameters in schema, schema description coverage is 100% by default. Description adds no param info, but none is needed. Baseline for 0 params is 4.

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

Purpose5/5

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

Description explicitly states the action (Get) and the resource (connected/in-use worker counts). It distinguishes from sibling tools like list_private_workers (list all workers) and get_private_worker (single worker) by focusing on summary counts.

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

Usage Guidelines3/5

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

No explicit when-to-use guidance, but the purpose is clear. Since it's a simple read-only summary with no parameters, usage is implied: use when you need aggregate worker counts.

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

get_organization_daily_usage_dataC

Get org daily usage (POST /organizations/daily-usage-data).

Args: organization_id: Public org id (org_...). start_date_ms: Range start as epoch milliseconds. end_date_ms: Range end as epoch milliseconds. team_ids_json: Optional JSON array of team ids. page: Optional page (use with page_size). page_size: Optional page size (use with page).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
page_sizeNo
end_date_msYes
start_date_msYes
team_ids_jsonNo
organization_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 must carry behavioral transparency. It does not disclose important behavioral traits such as data freshness, rate limits, authentication requirements, or pagination behavior beyond mentioning page/page_size. The description lacks critical details for a data retrieval tool.

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

Conciseness3/5

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

The description is structured with a brief summary followed by bullet-point-like lines for arguments. It is reasonably concise but includes redundant elements like repeating the function signature. Could be shorter and more direct.

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

Completeness3/5

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

The description covers the tool's purpose and parameter meanings, but given the tool's moderate complexity (6 parameters) and the existence of an output schema, it does not explain what the returned data represents or any limitations. It leaves the agent without a complete picture of the tool's behavior.

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

Parameters3/5

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

With 0% schema description coverage, the description partially compensates by explaining each parameter's meaning (e.g., organization_id format, date range as epoch ms). However, it does not clarify constraints like allowed values for team_ids_json (e.g., JSON array format) or the behavior of page/page_size (e.g., default values, max page size). The explanation adds value but is incomplete.

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

Purpose4/5

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

The description clearly states the tool retrieves organization daily usage data, specifying HTTP method and path. It lists the arguments, making the purpose unambiguous. However, it does not differentiate from sibling tools like get_daily_usage_data or get_spending_data, which reduces clarity in context.

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 provides basic context (retrieving org daily usage) but no explicit guidance on when to use this tool versus alternatives. No prerequisites, when-not-to-use, or best practices are mentioned. This leaves the agent to infer usage from the name alone.

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

get_organization_groupB

Get one organization group (GET /organizations/groups/{groupId}).

Args: group_id: Organization group id (g_...).

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, and description does not disclose behavioral traits such as permissions, rate limits, or side effects. For a read operation, it could mention safety but does not.

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

Conciseness4/5

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

Short and to the point: purpose and parameter in two lines. No fluff, but could include a bit more context without being verbose.

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 get tool with one parameter and an output schema, the description is minimally complete. However, it lacks behavioral context and usage guidance.

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 0%; description adds value by specifying id format as 'g_...'. This hints at the expected pattern beyond the schema's type definition.

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

Purpose5/5

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

Description clearly states 'Get one organization group' with the HTTP endpoint, and it is distinct from sibling 'list_organization_groups'. The verb 'Get' and resource 'organization group' are specific.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like list_organization_groups. Does not specify when it is appropriate or when not to use it.

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

get_organization_pooled_usageA

Get org pooled usage (POST /organizations/pooled-usage; query only).

Requires Organization API key with usage:* (or admin:*).

Args: organization_id: Public org id (org_...).

ParametersJSON Schema
NameRequiredDescriptionDefault
organization_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 discloses the HTTP method (POST) and operation type (query only), implying no destructive side effects. It also notes the required permissions. However, it does not mention rate limits, idempotency, or other behavioral traits beyond what the schema and endpoint hint provide.

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

Conciseness5/5

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

The description is three sentences long, starts with the action and endpoint, and every sentence provides useful information without redundancy or waste.

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

Completeness4/5

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

Given the tool has one parameter and an output schema, the description covers the essential context: what it does, how to call it, and required permissions. It could briefly define 'pooled usage' but is otherwise complete for its simplicity.

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

Parameters4/5

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

Schema description coverage is 0% and the only parameter is documented in the description with a format hint ('Public org id (org_...)'), adding meaningful guidance beyond the schema's string type.

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

Purpose5/5

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

The description specifies 'Get org pooled usage' with the HTTP method and endpoint, clearly indicating the action and resource. It differentiates from sibling tools such as get_organization_daily_usage_data and get_organization_spending_data by focusing on pooled usage.

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

Usage Guidelines4/5

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

The description states required permissions ('Organization API key with usage:* or admin:*') and that it is query-only, providing clear context for when to use. However, it does not explicitly mention when not to use or list alternative tools.

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

get_organization_spending_dataA

Get org spend (POST /organizations/spend).

Args: organization_id: Public org id (org_...). search_term: Optional name/email filter. page: 1-indexed page (default 1). page_size: Optional page size.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
page_sizeNo
search_termNo
organization_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It does not mention side effects, authentication requirements, rate limits, or data scope. The tool lists parameters but lacks transparency on what happens during invocation.

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

Conciseness5/5

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

The description is very concise, using a single summary line and a structured Args section. Every sentence adds value without redundancy. The purpose is front-loaded, and the parameter list is clear.

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

Completeness4/5

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

The description explains all parameters and the basic purpose. The output schema exists, so return values are covered. However, it lacks details on pagination behavior, sorting, or potential error conditions. Overall, adequate for a tool with output schema.

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

Parameters5/5

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

With 0% schema description coverage, the description adds significant meaning: it explains that organization_id is a public org id format 'org_...', search_term is a name/email filter, page is 1-indexed, and page_size is optional. This goes well beyond the schema's type-only information.

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

Purpose5/5

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

The description clearly states 'Get org spend' and includes the HTTP method and endpoint, which specifies the action and resource. It distinguishes from siblings like 'get_spending_data' by including 'org' in the name and description.

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 provides no guidance on when to use this tool versus alternatives such as 'get_spending_data' or 'get_organization_daily_usage_data'. No when-not-to-use or alternative references are given.

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

get_organization_usage_eventsA

Get org-wide usage events (POST /organizations/filtered-usage-events).

Args: organization_id: Public org id (org_...). start_date_ms: Optional range start as epoch milliseconds. end_date_ms: Optional range end as epoch milliseconds. team_ids_json: Optional JSON array of team ids to include. page: 1-indexed page (default 1). page_size: Page size (default 100).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
page_sizeNo
end_date_msNo
start_date_msNo
team_ids_jsonNo
organization_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/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 full burden. It lacks details on whether the operation is read-only, any required permissions, rate limits, or side effects. The HTTP method (POST) is given but its implications are not explained.

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

Conciseness4/5

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

The description is concise with a single-line summary followed by a clean parameter list. Every sentence is relevant. Could be slightly more streamlined but no wasted words.

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

Completeness4/5

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

Given the presence of an output schema, return values need not be described. The description adequately covers all parameters for a data retrieval tool. Missing context about filtering behavior or relationship to other tools, but sufficient for basic use.

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

Parameters4/5

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

The description provides brief but useful semantics for all 6 parameters: organization_id format, date range in epoch ms, team_ids_json as JSON array, pagination defaults. This compensates for the 0% schema description coverage, though examples or constraints would enhance it.

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

Purpose5/5

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

The description clearly states 'Get org-wide usage events' with the specific HTTP method and endpoint, and the 'org-wide' qualifier distinguishes it from sibling tools like 'get_usage_events'. It directly answers what the tool does.

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 it's for organization-level data via 'org-wide', but no explicit guidance on when to use versus alternatives (e.g., get_usage_events). No exclusions or prerequisites are mentioned.

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

get_private_workerA

Get one private worker (GET /v0/private-workers/{id}).

Args: worker_id: Worker id (for example pw_...).

ParametersJSON Schema
NameRequiredDescriptionDefault
worker_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided; description does not state read-only nature, authentication prerequisites, error conditions, or rate limits. Fails to disclose behavioral traits beyond the basic action.

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

Conciseness5/5

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

Two sentences, no fluff, front-loaded with purpose. Every sentence is necessary.

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?

Simple GET tool with one parameter and an output schema (not shown). Description adequately covers the purpose and parameter. Lacks only minor behavioral details, which are less critical given output schema.

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

Parameters3/5

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

Description adds example format 'pw_...' for worker_id, which adds value beyond the schema's title. However, schema coverage is 0% and the added context is minimal.

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

Purpose5/5

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

Clearly states it gets one private worker, includes the HTTP method and endpoint. Distinguishes from sibling list_private_workers which retrieves multiple.

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?

Implied usage: use when you need a specific private worker by ID. No explicit guidance on when to avoid or alternatives among siblings.

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

get_spending_dataA

Fetch current-cycle team spend (POST /teams/spend; query only).

Args: search_term: Filter by name/email. sort_by: One of amount, date, user (default date). sort_direction: asc or desc (default desc). page: 1-indexed page (default 1). page_size: Optional page size.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
sort_byNodate
page_sizeNo
search_termNo
sort_directionNodesc

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

Discloses that it is a POST endpoint used for querying only (read operation). Lacks details on authentication, rate limits, or error behavior. With no annotations, this 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?

Front-loaded with a concise purpose line, followed by a structured Args list. Every sentence adds value; no redundancy.

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?

Does not mention return format or pagination details, though an output schema exists. Given the absence of annotations, some behavioral gaps remain (e.g., no mention of sorting behavior when multiple pages).

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

Parameters5/5

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

The description fully explains each of the 5 parameters (search_term, sort_by, sort_direction, page, page_size), adding semantics beyond the schema (0% coverage). Clearly states filter options and defaults.

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

Purpose5/5

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

Clearly states the tool fetches current-cycle team spend, using a POST endpoint. Distinguishes from sibling 'get_organization_spending_data' by focusing on team-level data.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like 'get_organization_spending_data' or 'get_daily_usage_data'. Usage must be inferred from the name.

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

get_team_analyticsA

Fetch a team analytics metric (GET /analytics/team/{metric}).

Allowed metrics: agent-edits, tabs, dau, client-versions, models, top-file-extensions, mcp, commands, plans, skills, ask-mode, conversation-insights, leaderboard, bugbot, bugbot-reviews.

Args: metric: Allowlisted metric slug (see docstring list). start_date: Optional start (ISO, YYYY-MM-DD, 7d, today, ...). end_date: Optional end date bound. users: Optional comma-separated emails or user ids. page: Optional page (leaderboard / bugbot* pagination). page_size: Optional page size. include: Required for conversation-insights (comma-separated slices: intents,complexity,categories,guidanceLevels,workTypes). repo: Optional repo filter for bugbot / bugbot-reviews (host/owner/repo). pr_number: Optional PR number filter for bugbot-reviews. dry_run: Optional filter for bugbot-reviews (true=dry-run only).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
repoNo
usersNo
metricYes
dry_runNo
includeNo
end_dateNo
page_sizeNo
pr_numberNo
start_dateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are present, so the description must reveal behavioral traits. It mentions the endpoint is GET, implying a read-only operation, but does not disclose permissions, rate limits, or error handling. The list of allowed metrics helps, but more transparency (e.g., 'requires analyst role') would improve the score.

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

Conciseness4/5

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

The description is structured with a metric list and parameter explanations. It is reasonably concise for the amount of information, though the metrics could be bulleted for clarity. Each sentence contributes value without redundancy.

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

Completeness4/5

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

Given 10 parameters and no annotations, the description covers all parameters and provides a list of allowed metrics. The existence of an output schema reduces the need to describe return values. Minor omissions like default pagination behavior prevent a perfect score.

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

Parameters5/5

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

With 0% schema description coverage, the description fully compensates by explaining each parameter: metric, start_date, end_date, users, page, page_size, include, repo, pr_number, dry_run. It provides allowed values, formats, and conditions (e.g., 'include is required for conversation-insights'). This adds significant meaning beyond the raw schema.

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

Purpose5/5

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

The description clearly states the tool fetches a team analytics metric with a specific endpoint (GET /analytics/team/{metric}) and lists all allowed metrics. The verb 'Fetch' and the resource 'team analytics metric' are specific and distinct from sibling tools, which focus on agents, members, and other non-analytics functions.

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 explains parameters but does not explicitly state when to use this tool versus other analytics-related siblings like get_analytics_by_user or get_daily_usage_data. The context is implied by the metric list, but no direct guidance on alternatives is provided.

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

get_usage_eventsB

Fetch filtered usage events (POST /teams/filtered-usage-events; query only).

Args: start_date_ms: Optional range start as epoch milliseconds. end_date_ms: Optional range end as epoch milliseconds. users: Optional comma-separated emails or user ids. page: 1-indexed page (default 1). page_size: Page size (default 100).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
usersNo
page_sizeNo
end_date_msNo
start_date_msNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

Without annotations, the description must disclose behavioral traits. It indicates 'query only' and the HTTP method, but does not mention rate limits, pagination behavior beyond defaults, or potential errors. This is insufficient for a tool with no annotation support.

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

Conciseness4/5

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

The description is concise with a one-line summary followed by a parameter list. It is front-loaded and efficiently uses space, though the parameter list partially duplicates schema information.

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?

With an output schema present, the description does not need to explain return values. It covers the parameters adequately and indicates filtering. However, missing usage guidance and behavioral details make it incomplete for a tool with no annotations.

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

Parameters4/5

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

Since schema coverage is 0%, the description provides meaningful context for all 5 parameters: explains start/end date as epoch ms, users as comma-separated emails/IDs, page as 1-indexed, and page_size with defaults. This adds significant value beyond the schema's type-only definitions.

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

Purpose4/5

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

The description clearly states the verb 'Fetch' and the resource 'usage events', and specifies filtering capability with the POST endpoint. However, it does not differentiate from sibling tools like get_agent_usage or get_daily_usage_data, which are related but distinct.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., get_agent_usage, get_daily_usage_data). The 'query only' note implies read-only but does not offer usage context or exclusions.

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

list_agent_artifactsA

List artifacts produced by a Cloud Agent (GET /v1/agents/{id}/artifacts).

Args: agent_id: Agent id (for example bc-...).

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states it uses GET and requires an agent_id, but does not mention pagination, permission requirements, rate limits, or what fields are returned. For a read operation, this is insufficient.

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

Conciseness5/5

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

The description is extremely concise, with no wasted words. It front-loads the purpose and includes the endpoint and parameter example. Every sentence is necessary.

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?

Given that an output schema exists, the description does not need to detail return values. However, the description is minimal and does not note that it returns a list (though implied by 'List'), nor does it mention pagination or limits. With many sibling tools, slightly more context would help. It is adequate but not thorough.

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 0%, so the description must compensate. It adds 'for example bc-...' which gives a hint about the format, but does not explain where to find the agent_id or its constraints. This adds some meaning beyond the schema, but not enough for full clarity.

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

Purpose5/5

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

The description clearly states 'List artifacts produced by a Cloud Agent', which is a specific verb and resource. It also provides the HTTP endpoint for additional clarity. Among siblings, this tool is distinct from 'download_agent_artifact' which downloads a specific artifact.

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 gives context by showing the HTTP method and an example agent_id, but it does not explicitly state when to use this tool versus alternatives, nor does it mention any conditions or exclusions. Usage is implied but not guided.

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

list_agent_runsA

List runs for a Cloud Agent, newest first (GET /v1/agents/{id}/runs).

Args: agent_id: Agent id (for example bc-...). limit: Page size (1-100, default 20). cursor: Pagination cursor from a previous nextCursor.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
agent_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

Reveals ordering and pagination mechanism but does not state that the operation is read-only or disclose any side effects, auth requirements, or rate limits. Without annotations, the description provides moderate transparency but lacks completeness.

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

Conciseness5/5

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

Extremely concise: one sentence plus a clear bulleted argument list. Every sentence adds value with no redundancy.

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

Completeness4/5

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

Covers core functionality and parameter details. With an output schema present, return value explanation is not needed. Minor omission: no mention of scoping (e.g., runs for a specific agent only is clear from agent_id). Adequate for a list operation.

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

Parameters5/5

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

Adds significant meaning beyond the schema: explains agent_id with example, limit with valid range, and cursor origin. Schema has 0% description coverage, so the description fully compensates and clarifies each parameter's role.

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

Purpose5/5

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

The description clearly states the tool lists runs for a Cloud Agent with explicit ordering (newest first) and provides the REST endpoint. It distinguishes itself from sibling tools like get_agent_run (single run) and create_agent_run (create).

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives (e.g., get_agent_run, stream_agent_run) or when not to use it. The description is purely functional without usage context.

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

list_agentsA

List Cloud Agents for the authenticated user (GET /v1/agents).

Args: limit: Page size (1-100, default 20). cursor: Pagination cursor from a previous nextCursor. pr_url: Optional GitHub pull request URL filter. include_archived: Include archived agents (default True).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
pr_urlNo
include_archivedNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Without annotations, the description covers key behaviors: it indicates a GET request (read-only), pagination parameters (limit, cursor), and filtering options (pr_url, include_archived). However, it does not explicitly state it's a safe read operation or address authentication requirements.

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

Conciseness5/5

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

The description is extremely concise: a single-line summary followed by a clean bullet-style breakdown of parameters. Every sentence adds value with no redundancy or filler.

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

Completeness4/5

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

Given the output schema exists (defining return values), the description adequately covers pagination, filtering, and defaults. It could have mentioned rate limits or error handling, but it sufficiently enables an agent to use the tool correctly.

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

Parameters5/5

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

With 0% schema description coverage, the description fully compensates by explaining each parameter's meaning: limit (page size, range, default), cursor (pagination token), pr_url (optional filter), include_archived (default true). This adds critical context beyond the schema's type definitions.

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

Purpose5/5

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

The description clearly states 'List Cloud Agents for the authenticated user' with the HTTP path, specifying the verb (list), resource (Cloud Agents), and scope (authenticated user). It distinguishes from siblings like get_agent (single agent) and list_team_members (different entity).

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 provides no guidance on when to use this tool versus alternatives. There is no mention of when not to use it or which scenarios favor other tools like get_agent or list_agent_runs.

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

list_ai_code_changesA

List accepted AI change metrics (GET /analytics/ai-code/changes).

Args: start_date: Optional start date bound. end_date: Optional end date bound. user: Optional single-user filter. page: 1-based page (default 1). page_size: Results per page (default 100, max 1000).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
userNo
end_dateNo
page_sizeNo
start_dateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

The description discloses pagination behavior (1-based page, max 1000 results) and parameter constraints, which adds value. However, with no annotations, it does not explicitly state that the tool is read-only or list any side effects, leaving some uncertainty about safety.

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

Conciseness4/5

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

The description is concise and front-loaded with the tool's purpose and endpoint. The parameter list is clear though not bulleted; no unnecessary words. Slightly more structure (e.g., separating endpoint from args) would be optimal.

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

Completeness4/5

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

Given the presence of an output schema, the description need not detail return values. It covers the essential inputs and pagination. Missing details like date inclusivity and sorting are minor gaps, but overall it is sufficient for a list endpoint.

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 0% (no property descriptions in schema), but the description explains each parameter's meaning and constraints (e.g., default values, max page size). This provides useful context beyond the schema's type and default fields.

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

Purpose5/5

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

The description clearly states the tool lists 'accepted AI change metrics' and provides the exact HTTP GET endpoint. It effectively distinguishes from siblings like list_ai_code_commits and download_ai_code_changes_csv by specifying the resource and action.

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

Usage Guidelines2/5

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

The description provides parameter details but offers no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or when not to use it. Sibling tools like list_ai_code_commits suggest related functionality but no comparative direction is given.

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

list_ai_code_commitsA

List AI commit metrics (GET /analytics/ai-code/commits).

Args: start_date: Optional start (ISO, now, 7d). Default ~7 days ago. end_date: Optional end (ISO, now, 0d). Default now. user: Optional single-user filter (email, user_..., or numeric id). page: 1-based page (default 1). page_size: Results per page (default 100, max 1000).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
userNo
end_dateNo
page_sizeNo
start_dateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 discloses default values, date formats, pagination behavior, and user filter format, which is good. However, it does not explicitly state that the operation is read-only or mention 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.

Conciseness4/5

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

The description is well-structured with bullet points and a clear header. It is concise but includes necessary details; could be slightly more succinct by removing redundant default info already in schema.

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

Completeness4/5

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

Given the output schema exists, return value documentation is not needed. The description covers all parameters and provides useful context like max page size and default dates. Missing sorting or ordering details, but overall complete.

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

Parameters5/5

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

Schema coverage is 0%, so the description fully compensates by explaining each parameter's format, default, and constraints (e.g., ISO dates, user ID formats, page size max). This adds significant meaning beyond the schema.

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

Purpose5/5

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

The description clearly states the tool lists AI commit metrics with the specific HTTP method and path, distinguishing it from siblings like get_ai_code_commit_details and list_ai_code_changes.

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?

While it provides parameter details, it lacks explicit guidance on when to use this tool versus alternatives like get_ai_code_commit_details for single commits or download_ai_code_commits_csv for CSV export. Usage context is implied but not stated.

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

list_billing_groupsA

List billing groups for the team (GET /teams/groups).

Args: billing_cycle: Optional ISO date (YYYY-MM-DD) for the cycle; default current.

ParametersJSON Schema
NameRequiredDescriptionDefault
billing_cycleNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/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 indicates a read operation (GET) and describes the optional parameter. However, it does not disclose pagination, authentication requirements, rate limits, or behavior when no groups exist. The disclosure is minimal but not misleading.

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

Conciseness5/5

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

The description is extremely concise: two sentences. The first states the purpose and endpoint, the second describes the parameter. No filler or redundant information; every word serves a purpose.

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

Completeness4/5

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

Given that an output schema exists (not shown), the description need not detail return values. It covers the core functionality and parameter semantics. It lacks mentions of team context or authorization, but for a straightforward list tool, it is largely 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 input schema has 0% coverage (no description in schema), but the tool description adds valuable meaning: it specifies that billing_cycle is an optional ISO date (YYYY-MM-DD) with a default of the current cycle. This goes beyond the schema's 'string or null' type and title.

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

Purpose5/5

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

The description clearly states it lists billing groups for the team and includes the HTTP endpoint (GET /teams/groups), differentiating it from siblings like list_organization_groups (organization-level) and get_billing_group (single group). The verb 'list' and resource 'billing groups' are specific and unambiguous.

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus alternatives. Sibling tools include list_organization_groups, get_billing_group, and create_billing_group, but no criteria for selection (e.g., team vs. organization scope, listing vs. retrieving a single group) are mentioned.

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

list_bugbot_reposA

List repos with Bugbot settings (GET /bugbot/repos).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations exist, and the description provides no behavioral details such as authentication requirements, rate limits, or side effects. It only states the HTTP method, which is minimal.

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

Conciseness5/5

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

The description is a single sentence that efficiently conveys the tool's purpose and HTTP method. No unnecessary words.

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 parameter-less listing tool with an output schema, the description is adequate but lacks context about the output format or typical use cases. It could be more complete by hinting at how the data might be used.

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

Parameters4/5

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

With zero parameters, the description does not need to add parameter details. Baseline score of 4 is appropriate as the schema is empty and the description offers no ambiguity.

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

Purpose5/5

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

The description clearly states the verb 'List' and the resource 'repos with Bugbot settings', which distinguishes it from the sibling tool 'list_repositories' by specifying a filter on Bugbot configuration.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'list_repositories'. The description does not clarify the intent or context for using this tool over others.

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

list_modelsA

List models available for Cloud Agents (GET /v1/models).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description must convey behavioral traits. It mentions the HTTP method GET, implying idempotency and read-only nature, but does not explicitly state that no side effects occur. This is adequate but not exceptional.

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

Conciseness5/5

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

The description is a single, concise sentence that immediately conveys the purpose. No redundant information is present.

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

Completeness4/5

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

The tool is simple with no parameters and an output schema exists (not shown). The description is sufficient for an agent to understand the action, though it could optionally mention that models are for use in Cloud Agents runs. Still, it meets the needs for completeness.

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

Parameters5/5

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

The tool has no parameters, so the baseline is 4. The description adds value by including the HTTP method and endpoint path, which provides API context beyond the schema. This justifies a score of 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?

The description clearly states the verb 'List', the resource 'models', and the context 'for Cloud Agents'. It also provides the HTTP endpoint, distinguishing it from sibling tools like 'list_agents' which list agents.

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

Usage Guidelines3/5

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

The description does not provide guidance on when to use this tool versus alternatives. While the action is clear, there are no explicit when-not-to-use cases or comparisons with siblings.

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

list_organization_group_membersA

List members of an organization group (GET .../groups/{id}/members).

Args: group_id: Organization group id (g_...). page: 1-indexed page (default 1). page_size: Members per page (default 50).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
group_idYes
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description must convey behavioral traits. It indicates a read operation (GET) and lists parameters, but does not explicitly state it is read-only, safe, or any authentication/rate limit details. It is minimally adequate for a simple list 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?

The description is extremely concise with a clear one-liner action followed by parameter definitions in a structured docstring format. Every sentence is necessary and no information 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?

Given the tool has an output schema (not shown), the description does not need to detail the response. It covers the input parameters and endpoint adequately for a straightforward list operation. One might wish for a note on pagination behavior, but overall it is complete.

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

Parameters4/5

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

Schema description coverage is 0%, so the description adds value by explaining each parameter: group_id format (g_...), page default and indexing (1-indexed), and page_size default. This goes beyond the raw schema. However, it could still mention that page_size has a max or that the response is paginated.

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

Purpose5/5

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

The description clearly states 'List members of an organization group' using a specific verb and resource, and includes the HTTP endpoint. It distinguishes itself from siblings like 'list_organization_members' and 'list_organization_groups' by focusing on group membership.

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 provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, scenarios, or comparisons with related tools like 'list_organization_members' or 'add_organization_group_members'.

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

list_organization_groupsA

List organization groups (GET /organizations/groups).

Args: page: 1-indexed page (default 1). page_size: Groups per page (default 50).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are present, and the description only states the HTTP method and parameters. It does not disclose whether the operation is read-only, requires authentication, or has any side effects or rate limits.

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

Conciseness5/5

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

The description is extremely concise with no wasted words. It front-loads the main action and follows a clear structure: action, HTTP path, then parameter definitions.

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

Completeness4/5

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

Given the presence of an output schema, the description does not need to explain return values. It adequately covers pagination defaults. However, it lacks any note about potential empty results or error handling, but this is minor for a simple list tool.

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

Parameters5/5

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

The description adds clear meaning beyond the schema: '1-indexed page' specifies indexing convention, and 'Groups per page' defines the quantity. Both parameters are fully explained, compensating for the 0% schema coverage.

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

Purpose5/5

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

The description explicitly states the action 'List' and the resource 'organization groups', and provides the HTTP method and path for clarity. It clearly distinguishes from sibling list tools that operate on different entities.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as list_organization_members or list_billing_groups. There is no mention of prerequisites or context.

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

list_organization_membersA

List organization members (GET /organizations/members).

Works with an Organization API key scoped to members:read (or broader).

Args: page: 1-indexed page (default 1). page_size: Members per page, capped at 200 (default 50).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 must disclose behavior. It specifies the GET method and API key scope, and notes page_size cap of 200. It does not mention rate limits, side effects, or return format, but output schema covers return structure. Acceptable 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.

Conciseness5/5

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

The description is extremely concise with only three sentences and a compact args list. Every sentence adds value, and the structure prioritizes key information.

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?

Given the presence of an output schema, the description does not need to detail return values. It covers basic usage and parameters, but lacks mention of ordering, filtering, or any other behavior. Adequate but not comprehensive.

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 0%, so description carries the burden. It explains page is 1-indexed with default 1, page_size capped at 200 with default 50. This adds meaningful context beyond the schema's default values.

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

Purpose4/5

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

The description clearly states the tool lists organization members and provides the HTTP endpoint. However, it does not differentiate from sibling tools like list_organization_group_members, which could cause confusion.

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

Usage Guidelines3/5

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

The description mentions required API key scope (members:read or broader), giving context on when to use. It lacks explicit when-not-to-use or alternatives, but the scope hint is helpful.

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

list_pending_pool_requestsA

List unassigned pool requests (GET /v0/private-workers/pending-requests).

Args: limit: Page size 1-100 (default 50). page_token: Pagination cursor. repository: Optional repo URL filter (required for repo-scoped keys).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
page_tokenNo
repositoryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

The description mentions the HTTP method (GET) indicating a read operation, and details pagination via limit and page_token. However, it does not disclose authorization requirements beyond a brief note on repository-scoped keys, nor does it specify rate limits or response structure, which is important given the absence of annotations.

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

Conciseness5/5

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

The description is very concise: one line for purpose and endpoint, followed by parameter details in a clear list format. No unnecessary words, all sentences add value.

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

Completeness4/5

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

Given the presence of an output schema (not shown), the description adequately covers the tool's purpose and parameters. It does not explain return values, but the output schema likely handles that. Overall, it provides sufficient context for an agent to use the tool effectively.

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

Parameters5/5

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

Despite 0% schema description coverage, the description provides meaningful explanations for all three parameters: limit (range and default), page_token (pagination cursor), and repository (optional but required for repo-scoped keys). This fully compensates for the missing schema descriptions.

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

Purpose4/5

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

The description clearly states 'List unassigned pool requests' and includes the HTTP endpoint, which identifies the specific resource. It distinguishes from sibling list tools by specifying 'pending requests' as opposed to other resources like workers or agents.

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 does not provide any guidance on when to use this tool versus alternatives. It lacks context such as prerequisites, scope of results, or scenarios where other list tools would be more appropriate.

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

list_private_workersA

List self-hosted pool workers (GET /v0/private-workers).

Requires the pool's service account API key.

Args: status: One of all, in_use, idle (default all). limit: Page size 1-100 (default 50). next_page_token: Pagination cursor from a previous response.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
statusNoall
next_page_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/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 burden. It discloses the authentication requirement and parameter meanings, but it does not mention side effects, rate limits, pagination behavior beyond the cursor, or the nature of the operation (read-only). The output schema exists, but behavioral traits beyond parameters are absent.

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

Conciseness5/5

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

The description is extremely concise, with just three lines of explanatory text plus parameter bullets. Every sentence serves a purpose: the first line states the action and endpoint, the second line specifies authentication, and the bullet list defines parameters. No redundant information.

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

Completeness4/5

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

Given that the tool has only three optional parameters and an output schema, the description covers the input side well with parameter details and authentication. It does not describe the output format, but the output schema exists. For a simple list operation, this is sufficiently complete, though a note about idempotency or safety would improve it.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It provides meaningful details for all three parameters: status options (all, in_use, idle), limit range (1-100), and next_page_token as a pagination cursor. This adds significant value beyond the raw schema.

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

Purpose4/5

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

The description clearly states 'List self-hosted pool workers' and includes the HTTP endpoint, making the purpose evident. However, it does not explicitly differentiate from sibling tools like 'get_private_worker' or 'list_pending_pool_requests', which could cause confusion.

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

Usage Guidelines3/5

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

The description mentions the authentication requirement ('Requires the pool's service account API key'), which is helpful. However, it does not provide guidance on when to use this tool versus alternatives, nor does it explain when not to use it. The usage context is implied but not explicit.

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

list_repositoriesA

List GitHub repos accessible via Cursor's GitHub App (GET /v1/repositories).

Strict rate limits: about 1 request/user/minute and 30/user/hour. Can be slow.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/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. It adds value by disclosing strict rate limits (1 request/user/minute, 30/user/hour) and potential slowness. It does not contradict annotations. Minor gap: does not explicitly state it's a read operation, which is implied.

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

Conciseness5/5

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

Two concise sentences that front-load the action and then add critical context (rate limits, performance). No unnecessary words, every sentence earns its place.

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

Completeness4/5

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

Given that the tool has no parameters and an output schema exists (though not shown), the description provides rate limits and performance caveats, which are helpful. It is nearly complete for a simple list tool, though it could mention the output structure briefly.

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 has zero parameters and schema coverage is 100%, so no parameter documentation is needed. The description adds no parameter info, but that is acceptable. The baseline for no parameters is 4.

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

Purpose5/5

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

The description clearly states it lists GitHub repos accessible via Cursor's GitHub App, with the specific endpoint. It is a specific verb+resource combination and distinguishes from sibling tools like list_agents or list_models.

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 includes rate limits which imply cautious usage, but it does not explicitly state when to use this tool versus alternatives, or when not to use it. The usage context is implicit but not fully guided.

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

list_team_membersA

List team members (GET /teams/members). Requires a Team Admin API key.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It only mentions the HTTP method (GET) and auth requirement, but fails to disclose whether the operation is read-only, any rate limits, pagination behavior, or error conditions. With minimal behavioral context, the score is low.

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

Conciseness5/5

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

The description is extremely concise: two sentences covering purpose and auth. Every sentence earns its place, and the key 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?

Given the tool has no parameters and an output schema exists, the description is mostly complete. It covers the action and auth, but lacks details on pagination or result format. Still, it is adequate for a simple listing tool.

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

Parameters4/5

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

There are zero parameters, and schema description coverage is 100% trivially. The rubric allows a baseline of 4 for 0-parameter tools. The description adds no parameter info, but none is needed.

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

Purpose5/5

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

The description clearly states the action 'List team members' and provides the HTTP method and endpoint. It effectively distinguishes from sibling tools like 'remove_team_member' and 'list_organization_members' by specifying 'team' members.

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

Usage Guidelines3/5

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

The description mentions the required authentication ('Team Admin API key'), giving a prerequisite. However, it does not provide guidance on when to use this tool versus alternatives (e.g., 'list_organization_members' for org-level members), nor does it mention when not to use it.

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

list_team_repo_blocklistsB

List team repository blocklists (GET /settings/repo-blocklists/repos).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits. It only states it is a GET request to list blocklists, but does not mention any side effects, rate limits, or whether the list is full or paginated. The description adds minimal value beyond the name.

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

Conciseness4/5

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

The description is a single, front-loaded sentence that includes the HTTP method and path. While it is concise, the path may be unnecessary implementation detail, but overall it is efficient and no extraneous content.

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?

Despite an existing output schema (not shown), the description does not explain what a 'team repository blocklist' is or what the output contains. For a list tool, this is insufficient for the agent to fully understand the response structure or any implicit constraints.

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

Parameters4/5

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

There are zero parameters and schema coverage is 100%, so the description does not need to add parameter information. It appropriately avoids redundancy, and baseline 4 applies as per guidelines.

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

Purpose5/5

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

The description clearly states the verb 'List' and the resource 'team repository blocklists', and includes the HTTP method and path for clarity. It is distinct from siblings like 'upsert_repo_blocklists' and 'delete_repo_blocklist'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or context such as if filtering or pagination is needed.

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

remove_billing_group_membersC

Remove members from a billing group (DELETE /teams/groups/{id}/members).

Args: group_id: Billing group id. user_ids_json: JSON array of encoded user ids.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYes
user_ids_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden for behavioral disclosure. It only states that it removes members, implying a destructive operation, but does not disclose side effects, error conditions, or requirements (e.g., group must exist, user must be a member). The bare description lacks transparency.

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

Conciseness4/5

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

The description is very short (two sentences plus URL and args). It is efficient and front-loaded with the action. However, it could be slightly expanded without losing conciseness.

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

Completeness3/5

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

Given the tool's simplicity (2 params, output schema exists), the description covers the basic action and parameters. However, it lacks completeness in terms of prerequisites, failure modes, or behavior on invalid input. It is adequate but not fully comprehensive.

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%, so the description provides the only parameter documentation. It adds brief meaning: "Billing group id" and "JSON array of encoded user ids". However, these remain vague (e.g., no format for id, no example of JSON). It adds some value but not substantial.

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

Purpose4/5

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

The description clearly states the verb "Remove" and the resource "members from a billing group", with the HTTP method and path for reference. It distinguishes from siblings like add_billing_group_members, but lacks explicit differentiation from remove_organization_group_members.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or when not to use it. The description only states the action without contextual usage advice.

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

remove_organization_group_membersA

Remove members from an org group (POST .../members/bulk-remove).

Args: group_id: Organization group id (g_...). user_ids_json: JSON array of user ids (max 100 per request).

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYes
user_ids_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

No annotations provided, so description carries burden. It discloses HTTP method (POST), bulk operation, and max 100 users per request. This adds meaningful behavioral context beyond the tool name.

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

Conciseness5/5

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

Extremely concise: two sentences plus a structured argument list. No redundant words. Every sentence adds value.

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

Completeness4/5

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

Given an output schema exists, the description need not explain return values. It covers the HTTP method, parameter formats, and limits. Could mention idempotency or error handling, but overall adequate.

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

Parameters5/5

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

Schema coverage is 0%, but the description compensates fully: it explains group_id format (g_...) and clarifies user_ids_json as a JSON array with a max limit. This adds significant meaning beyond the schema's type info.

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

Purpose5/5

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

The description clearly states the action ('Remove members') and the resource ('from an org group'). It distinguishes from sibling tools like add_organization_group_members and list_organization_group_members.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., when to remove vs. leave?). Implied usage only. No exclusions or prerequisites mentioned.

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

remove_team_memberB

Remove a member from the team (POST /teams/remove-member).

Provide exactly one of user_id or email.

Args: user_id: Encoded user id (user_...). email: Team member email.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNo
user_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 burden. It identifies the action as removal (destructive), but does not disclose permissions, reversibility, side effects, or error handling. For a potentially destructive action, more behavioral context is needed.

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

Conciseness5/5

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

The description is extremely concise, front-loading the main purpose and HTTP endpoint, followed by clear parameter guidance. Every sentence is necessary, with no extraneous words.

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?

Given the simplicity of the tool (2 parameters, no required params), the description covers the essential information. However, it omits details like response format, success/error conditions, and prerequisites (e.g., authorization). The presence of an output schema (not shown) reduces the need for return value documentation.

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

Parameters3/5

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

With 0% schema description coverage, the description adds value by explaining the format of user_id ('user_...') and that email is the team member's email. However, it does not provide constraints or examples for email, leaving some ambiguity.

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

Purpose4/5

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

The description clearly states 'Remove a member from the team' and gives the HTTP endpoint, making the action and resource clear. It distinguishes from sibling tools like list_team_members by specifying removal, but does not explicitly differentiate from other removal tools like remove_billing_group_members.

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

Usage Guidelines3/5

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

The description provides usage guidance by stating 'Provide exactly one of user_id or email.', but lacks explicit direction on when to use this tool versus alternatives (e.g., remove_organization_group_members). No exclusions or prerequisites are mentioned.

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

set_user_spend_limitA

Set or clear a user's spend limit (POST /teams/user-spend-limit).

Args: user_email: Team member email. spend_limit_dollars: Integer dollar limit, or null to clear.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_emailYes
spend_limit_dollarsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations provided, the description must fully disclose behavioral traits. It only states that the tool performs a POST request to set or clear a limit, but it omits important details such as authentication requirements, potential side effects (e.g., immediate effect, impact on spending), and response behavior. This lack of transparency could lead to misuse.

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

Conciseness5/5

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

The description is extremely concise, using just two sentences and a bullet list of parameters. It wastes no words and front-loads the primary purpose. Every part of the description contributes to understanding.

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?

Given the tool's mutation nature and lack of annotations, the description is somewhat incomplete. It does not explain prerequisites (e.g., user must exist, caller must be admin) or confirm the immediacy of the effect. However, it leverages an output schema (not shown) for return values, and the sibling list lacks similar tools, so the basic usage is clear.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It clearly explains both parameters: user_email and spend_limit_dollars, with the critical detail that null clears the limit. This adds significant meaning beyond the schema's type information, though additional details like email format or validation rules would be beneficial.

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

Purpose5/5

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

The description clearly states the action 'Set or clear a user's spend limit' and identifies the HTTP endpoint. It uses a specific verb-resource combination that differentiates this tool from its siblings, none of which involve spend limit management.

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

Usage Guidelines3/5

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

The description provides basic usage context by mentioning that spend_limit_dollars can be null to clear the limit. However, it does not specify when to set versus clear, nor does it mention any prerequisites or alternatives. Given the simplicity of the tool and the absence of similar siblings, this is adequate but not exemplary.

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

stream_agent_runA

Fetch SSE events for a run (GET .../runs/{runId}/stream).

Collects the stream body until the server closes or the timeout elapses. Prefer polling get_agent_run for long-lived watches.

Args: agent_id: Agent id (for example bc-...). run_id: Run id (for example run-...). timeout_seconds: HTTP timeout for the stream request (default 60).

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYes
agent_idYes
timeout_secondsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 full burden. It discloses that it collects the stream until server closes or timeout, and mentions timeout_seconds. But it does not explicitly state whether the operation is read-only or destructive, nor does it discuss authentication, rate limits, or side effects. The 'Fetch' verb implies a read, but it's not explicit.

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

Conciseness5/5

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

The description is highly concise: two introductory sentences and a structured Args list. Every sentence adds value without redundancy. The key action is front-loaded in the first line.

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

Completeness4/5

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

Given that an output schema exists (not shown), the description does not need to explain return values. It adequately covers the streaming nature (SSE events) and timeout behavior. However, it lacks context about prerequisites (e.g., run state) and does not clarify when the stream ends naturally, leaving minor gaps.

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

Parameters5/5

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

The schema has 0% description coverage, meaning parameter meanings are entirely absent from the schema. The description's Args section adds essential meaning: examples for agent_id and run_id, and a clear description for timeout_seconds as 'HTTP timeout for the stream request'. This fully compensates for the missing schema descriptions.

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

Purpose5/5

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

The description clearly states 'Fetch SSE events for a run' with the specific HTTP path, and it distinguishes itself from sibling tools like get_agent_run by noting it's for streaming events. The verb 'Fetch' and resource 'run' are explicit and unique among siblings.

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

Usage Guidelines4/5

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

It provides an alternative: 'Prefer polling get_agent_run for long-lived watches,' which guides the agent when not to use this tool. However, it does not explicitly state when to use this tool (e.g., for real-time streaming), leaving some ambiguity.

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

sync_organization_team_membershipsA

Sync org users onto linked teams (POST /organizations/team-memberships/sync).

Requires Organization API key with members:* (or admin:*).

Args: organization_id: Public org id (org_...). users_json: JSON array of {userId, teamIds[]} or {userId, destinationTeamId} entries.

ParametersJSON Schema
NameRequiredDescriptionDefault
users_jsonYes
organization_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided; description mentions it is a POST operation requiring permissions but does not disclose if it overwrites or merges team memberships, or any side effects.

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

Conciseness5/5

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

Three lines with no unnecessary words, front-loaded with purpose, and efficiently conveys endpoint, permissions, and argument details.

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?

Has an output schema so return values are covered, but lacks behavioral details like whether sync is incremental or full, and does not explain the string option for users_json.

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?

Provides meaning for both parameters: organization_id is a public org ID with format hint, and users_json is a JSON array of specific structures. However, it does not clarify the anyOf allowing string, leaving ambiguity.

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

Purpose5/5

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

The description clearly states it syncs org users onto linked teams, includes the HTTP method and path, and is distinct from sibling tools like list_organization_members or add_organization_group_members.

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

Usage Guidelines4/5

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

Specifies required API key permissions and the format of users_json, but does not explicitly state when to use this tool over alternatives or provide exclusion criteria.

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

trigger_bugbot_reviewA

Queue a Bugbot review (POST /bugbot/review).

Args: pr_url: Full GitHub PR or GitLab MR URL. dry_run: When True, analyze without posting to SCM (still billed).

ParametersJSON Schema
NameRequiredDescriptionDefault
pr_urlYes
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavior. It explains the dry_run parameter ('when True, analyze without posting to SCM (still billed)'), which adds transparency. However, it does not mention whether the review is asynchronous, any required permissions, or potential side effects like creating a billable event.

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

Conciseness5/5

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

The description is short and to the point, with the purpose and HTTP method front-loaded. Each sentence serves a purpose: the first line explains the action, and the bullet points define the parameters. No unnecessary words.

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?

While the tool has an output schema (not shown), the description does not mention return values or expected outcomes beyond queueing. Missing context includes whether the operation is synchronous or asynchronous, and how to retrieve review results. However, given the output schema, some burden is lifted.

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

Parameters5/5

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

The description adds significant meaning beyond the input schema, which lacks descriptions (schema coverage 0%). It explains that pr_url is a 'Full GitHub PR or GitLab MR URL' and clarifies the dry_run behavior. This fully compensates for the schema's lack of parameter details.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Queue a Bugbot review (POST /bugbot/review)'. It provides the HTTP method and endpoint, and distinguishes from sibling tools like list_bugbot_repos and update_bugbot_repo by focusing on triggering a review.

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 does not provide any guidance on when to use this tool versus alternatives. It explains the parameters but lacks context on when a review should be triggered or when other bugbot tools might be more appropriate.

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

unarchive_agentA

Unarchive an agent so it can accept new runs (POST .../unarchive).

Args: agent_id: Agent id (for example bc-...).

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are present, so the description carries full burden. It discloses the effect (enables new runs) but lacks details on permissions, reversibility, or side effects. Adequate but not thorough.

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

Conciseness5/5

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

The description is extremely concise, with only three lines including the purpose and parameter format. No wasted words, and the intent is front-loaded.

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

Completeness3/5

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

Given the presence of an output schema (not shown), the description need not detail return values. However, it lacks context about prerequisites (agent must be archived), error states, or relationship to sibling tools. Satisfactory for a simple tool but leaves room for improvement.

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 the description adds an example format ('bc-...') for agent_id, providing minimal additional meaning. For a single parameter, this is acceptable but doesn't fully compensate for the lack of schema descriptions.

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

Purpose5/5

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

The description clearly states the action ('Unarchive an agent') and its purpose ('so it can accept new runs'). It distinguishes itself from the sibling 'archive_agent' by implying the reverse operation.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., archive_agent, list_agents). No prerequisites or context provided, leaving the agent to infer usage.

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

update_billing_groupA

Update a billing group name or directory attachment (PATCH /teams/groups/{id}).

Only one field can be updated per request per API rules.

Args: group_id: Billing group id. name: New group name. directory_group_id: Directory group id to attach. clear_directory_group: When True, detach directory sync (sends null).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
group_idYes
directory_group_idNo
clear_directory_groupNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. Discloses the PATCH method and the 'only one field' constraint, but lacks details on auth, idempotency, or side effects. Adequate but not comprehensive.

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

Conciseness5/5

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

Three sentences plus a bulleted arg list. No fluff, every sentence adds value. Well-structured and easy to parse.

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?

Has output schema context, but description doesn't mention return values or errors. For a mutation tool with 4 params and 1 required, it covers the main usage and constraint. Reasonably complete given sibling tools.

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 0%, so description adds meaning for all parameters. Explains clear_directory_group behavior (sends null) and restates basic info for others. Adds some value but does not cover the interaction constraint between parameters.

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

Purpose5/5

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

Clearly states it updates a billing group name or directory attachment, with a specific verb and resource. Distinguishes from sibling tools like create, delete, list by focusing on modification.

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 critical constraint: only one field per request per API rules. Gives clear guidance on the update operation, though lacks explicit alternatives or when-not-to-use.

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

update_bugbot_repoA

Enable/disable Bugbot for a repo (POST /bugbot/repo/update).

Args: repo_url: Full repository URL. enabled: True to enable Bugbot, False to disable. manual_trigger_only: When True, skip automatic PR reviews.

ParametersJSON Schema
NameRequiredDescriptionDefault
enabledYes
repo_urlYes
manual_trigger_onlyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 fully explains the behavior of enabling/disabling and the optional 'manual_trigger_only' parameter. It discloses the POST endpoint and parameter effects, though it omits authorization or potential side effects.

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

Conciseness5/5

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

The description is concise with a single sentence stating the purpose, followed by a structured list of arguments. No extraneous text, and the key 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?

Given 3 parameters, no schema descriptions, no annotations, and an existing output schema, the description covers all parameters and the endpoint. It could add prerequisites or usage context, but is largely complete.

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

Parameters5/5

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

Schema description coverage is 0%, so the description compensates by clearly explaining each parameter: 'repo_url' as full URL, 'enabled' as enable/disable toggle, and 'manual_trigger_only' as skipping auto reviews. This adds significant meaning beyond the schema.

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

Purpose5/5

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

The description clearly states the action 'Enable/disable Bugbot for a repo' with a specific verb and resource. It distinguishes from sibling tools like 'trigger_bugbot_review' and 'update_bugbot_user_access' by focusing on repo-level enablement.

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 through parameter explanations (enabled, manual_trigger_only) but lacks explicit guidance on when to use this tool versus alternatives. No mention of prerequisites or when-not scenarios.

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

update_bugbot_user_accessA

Update Bugbot allow/block list membership (POST /bugbot/user/update).

Team settings must already use allowlist or blocklist mode.

Args: username: GitHub/GitLab/Bitbucket username (case-insensitive). allow: Grant (True) or revoke (False) access per active list mode.

ParametersJSON Schema
NameRequiredDescriptionDefault
allowYes
usernameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations, the description partially covers behavior: it explains the effect of the 'allow' boolean (grant/revoke). However, it lacks details on destructive potential, permissions needed, or idempotency.

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

Conciseness5/5

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

The description is concise with four sentences and a structured arg list. Every sentence adds value, with no redundancy or fluff.

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

Completeness4/5

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

Given the tool's low complexity and existing output schema, the description covers prerequisites, parameter semantics, and the action. Minor omissions like error handling are acceptable.

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

Parameters5/5

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

Schema coverage is 0%, but the description fully compensates by explaining that 'username' is case-insensitive and supports multiple platforms, and 'allow' grants or revokes access per active list mode.

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

Purpose5/5

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

The description clearly states the tool updates Bugbot allow/block list membership, specifies the HTTP endpoint, and distinguishes from sibling tools like trigger_bugbot_review and update_bugbot_repo.

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

Usage Guidelines4/5

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

The description explicitly requires that team settings must already use allowlist or blocklist mode, providing a clear prerequisite. However, it does not mention when not to use it or compare directly to alternatives.

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

upsert_repo_blocklistsC

Upsert repository blocklist patterns (POST .../repos/upsert).

Args: repos_json: JSON array of {url, patterns[]} objects.

ParametersJSON Schema
NameRequiredDescriptionDefault
repos_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 must disclose behavioral traits. It only states 'Upsert' without explaining idempotency, partial updates, or side effects on existing blocklists. This is insufficient for a mutation tool.

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

Conciseness4/5

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

The description is very short and front-loaded with the purpose and parameter hint. While concise, some additional context (e.g., response format) could be added without harming conciseness.

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?

Although there is an output schema, the description lacks essential context such as error handling, rate limits, or what happens on conflicts. For a write tool with one parameter, it is incomplete.

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%, so the description adds meaning by specifying repos_json as a JSON array of {url, patterns[]} objects. However, the exact structure (e.g., required fields, pattern format) is not fully detailed, leaving ambiguity.

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

Purpose4/5

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

The description clearly states the verb 'Upsert' and the resource 'repository blocklist patterns', which distinguishes it from related tools like list_team_repo_blocklists and delete_repo_blocklist. However, it does not elaborate on what 'upsert' entails.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It does not mention prerequisites, context, or exclusions, leaving the agent without decision support.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 61 tool updatesv0.1.0
    • First observedadd_billing_group_members
    • First observedadd_organization_group_members
    • First observedarchive_agent
    • First observedcancel_agent_run
    • First observedcreate_agent
    • First observedcreate_agent_run
    • First observedcreate_billing_group
    • First observedcreate_worker_token
    • First observeddelete_agent
    • First observeddelete_billing_group
    • First observeddelete_repo_blocklist
    • First observeddownload_agent_artifact
    • First observeddownload_ai_code_changes_csv
    • First observeddownload_ai_code_commits_csv
    • First observedget_agent
    • First observedget_agent_run
    • First observedget_agent_usage
    • First observedget_ai_code_commit_details
    • First observedget_analytics_by_user
    • First observedget_api_key_info
    • First observedget_audit_logs
    • First observedget_billing_group
    • First observedget_daily_usage_data
    • First observedget_fleet_summary
    • First observedget_organization_daily_usage_data
    • First observedget_organization_group
    • First observedget_organization_pooled_usage
    • First observedget_organization_spending_data
    • First observedget_organization_usage_events
    • First observedget_private_worker
    • First observedget_spending_data
    • First observedget_team_analytics
    • First observedget_usage_events
    • First observedlist_agent_artifacts
    • First observedlist_agent_runs
    • First observedlist_agents
    • First observedlist_ai_code_changes
    • First observedlist_ai_code_commits
    • First observedlist_billing_groups
    • First observedlist_bugbot_repos
    • First observedlist_models
    • First observedlist_organization_group_members
    • First observedlist_organization_groups
    • First observedlist_organization_members
    • First observedlist_pending_pool_requests
    • First observedlist_private_workers
    • First observedlist_repositories
    • First observedlist_team_members
    • First observedlist_team_repo_blocklists
    • First observedremove_billing_group_members
    • First observedremove_organization_group_members
    • First observedremove_team_member
    • First observedset_user_spend_limit
    • First observedstream_agent_run
    • First observedsync_organization_team_memberships
    • First observedtrigger_bugbot_review
    • First observedunarchive_agent
    • First observedupdate_billing_group
    • First observedupdate_bugbot_repo
    • First observedupdate_bugbot_user_access
    • First observedupsert_repo_blocklists

TDQS

A3.5/5.0
Disambiguation4/5

Tools are grouped by subdomain (agents, runs, billing, orgs, analytics, bugbot) and within each group they are distinct. Minor overlaps exist (e.g., list_organization_groups vs list_billing_groups) but descriptions clarify.

Naming Consistency4/5

Consistent verb_noun pattern (create_agent, list_agents, delete_agent) with minor deviations like 'trigger_bugbot_review' and 'upsert_repo_blocklists'. Mostly snake_case, consistent.

Tool Count3/5

61 tools is high but maps to a comprehensive API surface. Could be trimmed but each tool covers a distinct endpoint. Borderline heavy for an MCP server.

Completeness4/5

Covers most CRUD operations for agents, runs, billing, organizations, analytics, and bugbot. Missing update for agents and some resources, but overall the set is thorough.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that instruments Cursor AI agent interactions with OpenTelemetry traces and logs to monitor agent turns and performance. It enables tracking of user queries, assistant responses, and tool usage through GenAI-compliant telemetry spans.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server wrapping the Cursor CLI agent, enabling Claude Code and other MCP clients to delegate tasks to Cursor's AI agent for file writing, bash commands, and codebase queries.
    -
  • A
    license
    A
    quality
    D
    maintenance
    MCP server that wraps Cursor Enterprise API to enable AI agents to answer questions about team spending, usage, and model adoption.
    17
    42
    2
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/PhillipChaffee/cursor-api-mcp'

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