Skip to main content
Glama
keviocastro

Paperclip AI Adapter for Antigravity CLI

by keviocastro

Paperclip AI Adapter for Antigravity CLI

MCP (Model Context Protocol) server adapter that integrates Paperclip AI agent orchestration platform with Antigravity CLI.

Paperclip AI is an open-source control plane for managing teams of AI agents as a virtual company — with org charts, Kanban boards, budgets, goals, and approval gates.

Features

  • Agent Management: Create, list, update, wake, pause, and terminate AI agents

  • Issue Tracking: Full Kanban board (Backlog → Todo → In Progress → Done) with atomic checkout

  • Projects: Organize work into strategic projects

  • Goals: Hierarchical objectives (Company → Project → Agent → Task)

  • Approvals: Governance gates for human-in-the-loop decisions

  • Budget Control: Set spending limits per agent/department

  • Escape Hatch: Raw API request tool for any endpoint

Related MCP server: Tracker MCP Server

Installation

npm install
npm run build

Configuration

Variable

Required

Default

Description

PAPERCLIP_API_KEY

Yes

-

Your Paperclip API key

PAPERCLIP_API_URL

No

https://localhost:3100

API base URL

PAPERCLIP_ORG_ID

No

-

Your organization ID

Usage with Antigravity CLI

Add to your .agents/mcp_config.json:

{
  "mcpServers": {
    "paperclip": {
      "command": "node",
      "args": ["<path-to>/paperclip-ai-adapter/dist/index.js"],
      "env": {
        "PAPERCLIP_API_KEY": "your-api-key",
        "PAPERCLIP_API_URL": "http://localhost:3100"
      }
    }
  }
}

Or for global usage, add to ~/.gemini/config/mcp_config.json.

Available MCP Tools (28 tools)

Agents (8 tools)

Tool

Description

paperclip_list_agents

List all agents with filters

paperclip_create_agent

Create/hire a new agent

paperclip_get_agent

Get agent details

paperclip_update_agent

Update agent config

paperclip_delete_agent

Terminate an agent

paperclip_wake_agent

Wake agent to start working

paperclip_pause_agent

Pause an agent

paperclip_set_agent_budget

Set agent budget limit

Issues (10 tools)

Tool

Description

paperclip_list_issues

List issues with filters

paperclip_create_issue

Create a new issue

paperclip_get_issue

Get issue details

paperclip_update_issue

Update an issue

paperclip_delete_issue

Delete an issue

paperclip_checkout_issue

Atomically claim an issue

paperclip_release_issue

Release a claimed issue

paperclip_list_comments

List issue comments

paperclip_add_comment

Comment on an issue

paperclip_get_issue_cost

Get issue cost summary

Projects (3 tools)

Tool

Description

paperclip_list_projects

List all projects

paperclip_create_project

Create a project

paperclip_get_project

Get project details

Goals (3 tools)

Tool

Description

paperclip_list_goals

List goals with filters

paperclip_create_goal

Create a goal

paperclip_get_goal

Get goal details

Approvals (3 tools)

Tool

Description

paperclip_list_approvals

List approval requests

paperclip_create_approval

Create approval request

paperclip_approval_decision

Approve or reject

Company (3 tools)

Tool

Description

paperclip_get_company

Get company info

paperclip_whoami

Get current identity

paperclip_api_request

Raw API escape hatch

Development

npm run dev      # Watch mode with tsx
npm run build    # Build TypeScript
npm run test     # Run tests
npm run lint     # Lint

Self-hosting Paperclip

npx paperclipai onboard --yes

Default URL: http://localhost:3100

License

MIT

Available Tools

30 tools
paperclip_add_commentC

Add a comment to an issue

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesComment content
issueIdYesID of the issue

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 the full burden of behavioral disclosure. It fails to mention that this is a write operation (though 'add' implies it), any permission requirements, or whether the comment is appended immediately. It also doesn't state any side effects, like notifications or logging. This is a significant gap 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 a single, concise sentence with no filler. It's appropriately short and front-loaded, but it lacks depth. It earns a 4 because it is efficient, though it could add more useful context without becoming verbose.

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?

Given that there is no output schema and only 2 parameters, the tool is relatively simple. However, without annotations, the description should clarify expected behavior, such as whether the comment is appended, any formatting requirements, or error conditions like nonexistent issues. It currently provides the bare minimum.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters ('content' as 'Comment content' and 'issueId' as 'ID of the issue'). The description adds no additional meaning beyond what the schema provides. Baseline 3 is appropriate since the schema does the heavy lifting.

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

Purpose4/5

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

The description states a clear verb ('add') and resource ('comment to an issue'), making the primary function unambiguous. However, it does not differentiate from sibling tools like paperclip_list_comments or paperclip_update_issue, so it lacks explicit sibling differentiation.

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 only says 'add a comment to an issue' without specifying when to use this over alternatives. For example, it doesn't mention that paperclip_list_comments is for viewing comments, or that there might be constraints like needing to be the issue assignee. No context on when not to use it is provided.

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

paperclip_api_requestB

Make a raw API request to any Paperclip endpoint (escape hatch)

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoJSON body as string
pathYesAPI path (e.g. /api/agents)
methodYesHTTP method

TDQS

B3.2/5.0
Behavior1/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 behavioral traits. It mentions 'raw' request, hinting at a lack of validation or safety checks, but does not warn about potential side effects, authentication requirements, rate limits, or error behavior. This is a significant gap for a tool that can hit any endpoint.

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 with no wasted words. It front-loads the core action and intent, and the 'escape hatch' qualifier adds essential context without padding. This is appropriately concise for a simple generic tool.

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?

For an escape hatch that can hit any endpoint, the description is incomplete. It does not explain return format, error handling, or cautionary notes about bypassing higher-level tools. While the schema and simple parameter count help, an agent needs more context to use it safely and effectively, especially given the absence of annotations or an output schema.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds no parameter-specific meaning beyond what the schema already provides; it merely restates the tool's general purpose. It neither clarifies syntax nor compensates for any gaps, so the schema does the heavy lifting.

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

Purpose5/5

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

The description clearly states the verb 'make', the resource 'raw API request to any Paperclip endpoint', and the intent as an 'escape hatch'. This immediately distinguishes it from the many specific sibling tools, making its generic role obvious.

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

Usage Guidelines3/5

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

The phrase 'escape hatch' strongly implies it should be used when no specific tool exists, but it does not explicitly say 'use when other tools don't cover your case' or name alternatives. The guidance is implied rather than stated, leaving some ambiguity.

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

paperclip_approval_decisionA

Approve or reject a pending approval request

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoReason for the decision
decisionYesDecision to make
approvalIdYesID of the approval request

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 full behavioral disclosure. It states the action but does not disclose what happens after the decision, whether the decision is final/reversible, or what preconditions besides 'pending' apply. This is a gap for a mutating 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?

The description is a single compact sentence with no wasted words. It front-loads the core action and resource, and every word earns its place.

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

Completeness3/5

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

For a simple three-parameter tool with full schema coverage, the description plus schema is mostly sufficient to invoke it correctly. However, it lacks context about the lifecycle effects of the decision, which would improve completeness given no output schema or annotations.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters and the enum. The description adds no additional meaning beyond mapping 'approve/reject' to the decision parameter, which is acceptable at baseline.

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

Purpose5/5

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

The description uses a specific verb ('Approve or reject') and clearly names the resource ('a pending approval request'). It fully distinguishes this from sibling tools like list_approvals or create_approval.

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

Usage Guidelines3/5

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

The phrase 'pending approval request' implies the intended use case, but there is no explicit guidance about when to choose this over alternatives or any exclusions (e.g., cannot decide on a completed request). The context is clear but not elaborated.

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

paperclip_checkout_issueA

Atomically claim/checkout an issue so no other agent can work on it

ParametersJSON Schema
NameRequiredDescriptionDefault
issueIdYesID of the issue to checkout

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 carries the full burden of behavioral disclosure. It does disclose atomicity and the exclusivity effect, which are core behavioral traits. However, it does not mention what happens on conflict (e.g., error, wait), permission requirements, or reversibility—gaps for a mutating operation.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with zero waste. It leads with the verb and the core guarantee (atomic), then the effect, making it immediately scannable.

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 one-parameter tool with no output schema, the description is largely complete: it states the purpose and the key behavioral aspect (atomic exclusivity). It could mention the release counterpart or edge-case behavior, but these are minor given the tool's simplicity.

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

Parameters3/5

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

The schema already documents the single parameter issueId with a clear description ('ID of the issue to checkout'). The tool description adds no additional meaning beyond that, so a baseline of 3 is appropriate given 100% 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 clearly states a specific verb ('claim/checkout'), a resource ('issue'), and the intended effect ('so no other agent can work on it'). It naturally distinguishes from siblings like release_issue by emphasizing exclusivity, and the atomic wording adds precision.

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 the use case (claiming an issue for exclusive work) but does not explicitly mention when to use it versus alternatives, nor does it reference the release counterpart. There is no guidance on what to do if the issue is already claimed or when not to use this tool.

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

paperclip_create_agentA

Create a new AI agent (hire) in the Paperclip organization with a specific role

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the agent
roleYesRole/title of the agent (e.g. Engineer, Designer, QA)
skillsNoList of skills for the agent
teamIdNoTeam ID to assign the agent to
runtimeNoExecution runtime (claude-code, codex, cursor, shell, http)
reportsToNoAgent ID this agent reports to in the org chart
descriptionNoDescription of the agent responsibilities

TDQS

A3.7/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 transparently identifies the action as creating/hiring a new agent, but it does not disclose behavioral details such as required permissions, whether creation is reversible, or what the response contains. The core side effect (creating a resource) is clear, so this is adequate but not rich.

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

Conciseness5/5

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

A single sentence conveys the action, resource, scope, and role without any filler. The key information is front-loaded and there is no redundant restatement of the tool name.

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 schema fully documents parameters and there are no nested objects, so invocation details are covered. However, the absence of annotations and an output schema leaves return-value expectations and operational caveats unaddressed; a more complete description would note what the caller receives or any administrative implications.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents all seven parameters. The description only echoes the 'role' qualifier and does not add meaningful semantics beyond the schema, matching the baseline of 3.

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

Purpose5/5

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

The description states a specific verb ('Create'), a precise resource ('AI agent'), an organizational scope ('Paperclip organization'), and a distinguishing qualifier ('with a specific role'). This clearly separates it from sibling creation tools such as paperclip_create_issue or paperclip_create_project.

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

Usage Guidelines3/5

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

The description implies this tool is for hiring/creating a new agent, but it does not explicitly state when to prefer it over alternatives (e.g., paperclip_update_agent for existing agents) or any prerequisites/exclusions. The usage context is inferable from the name and siblings, not spelled out.

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

paperclip_create_approvalB

Create a new approval request for governance gate

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesApproval request title
descriptionNoDetails about what needs approval

TDQS

B3.4/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It reveals that the tool mutates state by creating something, but it does not mention permissions, idempotency, whether duplicates are prevented, what state the approval starts in, or what the response looks like.

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, efficient sentence with no filler or redundant content. The key action and domain context are front-loaded.

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?

For a mutating tool with no annotations and no output schema, the description is thin on workflow context: it never explains what happens after creation, how the approval decision process fits in, or what side effects to expect. The simple parameter list prevents a lower score, but the behavioral gaps remain significant.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters (title and description) are already well-documented in the schema. The description adds no parameter-specific detail, but the baseline of 3 is appropriate because the schema does the heavy lifting.

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

Purpose5/5

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

The description uses a specific verb ('Create') and resource ('approval request'), and adds the governance-gate context, making the tool's function immediately clear. It is also distinct from sibling tools like paperclip_approval_decision (which acts on approvals) and paperclip_list_approvals (which lists them).

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

Usage Guidelines3/5

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

The phrase 'for governance gate' implies the context in which this tool should be used, but the description never explicitly states when to choose it over alternatives or mentions any exclusions. An agent can infer the use case, but the routing guidance is only implicit.

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

paperclip_create_goalB

Create a new goal in the hierarchy (company, project, or agent level)

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesGoal title
agentIdNoAssociated agent ID
parentIdNoParent goal ID for nested goals
projectIdNoAssociated project ID
descriptionNoGoal description

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 the full burden of behavioral disclosure. It only says 'Create a new goal' and mentions the hierarchy levels; it does not disclose side effects, permission requirements, return value, or behavior around duplicates or missing parent IDs. This is insufficient for a mutation tool with no annotation coverage.

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

Conciseness5/5

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

A single, front-loaded sentence with no filler. It states the action, resource, and key contextual detail (hierarchy levels) efficiently. Every word earns its place.

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?

With no output schema and no annotations, the description should explain what the tool returns and how to express the hierarchy levels through parameters. It does neither. An agent cannot tell whether a company-level goal requires omitting all IDs, or how parentId relates to projectId and agentId. This is a meaningful gap for a 5-parameter creation tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all five parameters. The description adds the notion of hierarchy levels but does not map those levels to specific parameters like agentId, projectId, or parentId. It meets the baseline but does not meaningfully enrich parameter understanding.

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

Purpose5/5

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

The description states a specific action ('Create') and resource ('goal'), and adds the hierarchical scope ('company, project, or agent level'), which clearly distinguishes it from sibling creation tools like create_agent, create_issue, and create_project. An agent can identify what this tool does without opening the schema.

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

Usage Guidelines3/5

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

The description implies the use case: when you need to create a goal, use this tool. However, it does not explicitly state when to prefer this over alternatives, nor does it mention related tools such as list_goals or get_goal for verification. The guidance is minimal and left to inference.

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

paperclip_create_issueC

Create a new issue/task on the Paperclip Kanban board

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesIssue title
labelsNoLabels for the issue
dueDateNoDue date in ISO format
parentIdNoParent issue ID for sub-tasks
priorityNoIssue priority
projectIdNoProject ID
assigneeIdNoAgent ID to assign the issue to
descriptionNoIssue description

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Create' implies mutation, but it does not state whether this requires specific permissions, whether the operation is reversible, or what the response format is. It also doesn't mention any side effects like notifications or whether the issue is immediately visible. Significant gaps remain.

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 sentence with no wasted words and is appropriately concise. It front-loads the primary action and resource. However, it could benefit from a sentence on when to use it, given the large sibling set, but the current length is efficient.

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?

This is a creation tool with no output schema, no annotations, and complex optional parameters (like dueDate, priority). The description does not cover return values, error conditions, or field requirements beyond the schema's mandatory title. For an agent to decide whether to call this, it needs to know what happens upon success, which is missing.

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

Parameters3/5

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

The schema description coverage is 100%, so the schema already documents all eight parameters. The description adds minimal value beyond the schema, only implying that the tool creates an issue. It does not explain relationships between parameters, such as that parentId is for sub-tasks, which is already in the schema. Baseline 3 is appropriate given full schema coverage.

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

Purpose3/5

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

The description states a specific verb ('Create') and resource ('issue/task on the Paperclip Kanban board'), which is clear. However, it does not explicitly distinguish it from sibling tools like paperclip_update_issue or paperclip_create_goal, though the action is fairly unique. It lacks detail on the board context that could set it apart from other create tools.

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 prerequisites, such as needing an existing projectId, or when to prefer other tools like paperclip_create_goal. An agent must infer usage from the schema, which only lists optional parameters.

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

paperclip_create_projectA

Create a new project to organize issues and goals

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesProject name
descriptionNoProject description

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description must carry the full behavioral burden. It clearly indicates a create/mutation operation, but does not disclose side effects such as whether duplicate names are allowed, whether authorization is required, or what the response contains. This is acceptable 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?

The description is a single, front-loaded sentence with no filler. It efficiently communicates the action, the object, and the purpose in a compact form.

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 two-parameter create tool, the description covers the core purpose. However, with no output schema and no annotations, it leaves out what the successful result is likely to be (e.g., a project object or ID) and any constraints. The absence of those details is a moderate gap.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both 'name' and 'description'. The tool description does not add parameter-level detail beyond noting the project's purpose, which meets the baseline but does not exceed 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 uses a specific verb ('Create') with a clear resource ('project') and states its organizing purpose ('organize issues and goals'). This distinguishes it from sibling create tools like paperclip_create_issue, paperclip_create_goal, and paperclip_create_agent.

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 the tool is for creating top-level containers for issues and goals, but it does not explicitly state when to choose this over alternatives or mention any prerequisites. No direct when-to-use or when-not-to-use guidance is given.

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

paperclip_delete_agentB

Delete (terminate) a Paperclip AI agent

ParametersJSON Schema
NameRequiredDescriptionDefault
agentIdYesID of the agent to delete

TDQS

B3.2/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 behavior on its own. It only restates the action without mentioning permanence, side effects on associated resources, permissions, or that the operation cannot be undone. 'Terminate' hints at finality, but the description does not carry the full burden.

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?

One sentence with no filler and the action is front-loaded. It is well-sized for a one-parameter tool, though it mostly restates the tool name and adds little 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?

For a simple one-parameter delete tool, the essential 'what' is present and the schema covers the parameter. However, with no annotations and no output schema, an explicit note about irrevocability or consequences would make it complete.

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

Parameters3/5

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

The single parameter agentId is fully described in the input schema ('ID of the agent to delete'), so the description need not add much. It does not, but the 100% schema coverage keeps this at baseline.

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

Purpose5/5

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

The description uses a specific verb ('Delete (terminate)') and a clear resource ('Paperclip AI agent'). It is unambiguously distinct from sibling agent tools like pause, wake, and update, and 'terminate' clarifies this is a kill operation rather than a state change.

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

Usage Guidelines2/5

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

No guidance is given about when to choose delete over pause or wake, nor any prerequisites such as the agent needing to exist or be stopped. The use case is only implied by the verb.

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

paperclip_delete_issueB

Delete an issue from the Kanban board

ParametersJSON Schema
NameRequiredDescriptionDefault
issueIdYesID of the issue to delete

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Delete an issue' without stating whether deletion is permanent, whether associated data like comments are also removed, whether it can be undone, or what permissions are required.

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, front-loaded sentence with no filler. Every word contributes to identifying the operation and resource, making it appropriately concise for a one-parameter delete tool.

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 the tool is simple with one fully documented parameter, it is a destructive operation with no annotations and no output schema. The description omits critical context such as permanence, side effects on related data, and error conditions, leaving the agent under-informed for a consequential action.

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

Parameters3/5

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

Schema description coverage is 100%, and the single parameter issueId is already documented as 'ID of the issue to delete.' The description adds no additional semantic meaning beyond the schema, so the baseline score of 3 applies.

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

Purpose5/5

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

The description clearly states the action ('Delete'), the resource ('an issue'), and the context ('Kanban board'). It is unambiguous and distinguishes this tool from siblings like paperclip_delete_agent and paperclip_update_issue by naming the exact resource and 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 is provided about when to use this tool versus related issue-lifecycle siblings such as paperclip_checkout_issue or paperclip_release_issue. There are no prerequisites, no mention of when deletion is appropriate, and no exclusions.

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

paperclip_get_agentA

Get details of a specific Paperclip AI agent including status, role, and budget

ParametersJSON Schema
NameRequiredDescriptionDefault
agentIdYesID of the agent

TDQS

A3.6/5.0
Behavior2/5

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

Annotations are absent, so the description must carry the behavioral disclosure burden. It only mentions the fields returned and does not disclose any side effects, error behavior, or authorization requirements. Being a 'get' operation, it's safe to assume read-only, but this is not explicitly stated. The lack of any behavioral context beyond the surface purpose is a significant gap.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the verb and resource. No filler or redundant information; every word earns its place.

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

Completeness4/5

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

For a simple retrieval tool with one parameter and no output schema, the description includes the key fields returned, which is helpful. However, it does not mention the response format or error handling, but given the simplicity, the description is nearly complete. A small improvement would be to state that it returns a single object or mention error scenarios, so it falls slightly short of a perfect 5.

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

Parameters3/5

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

Schema description coverage is 100% (agentId is described as 'ID of the agent'). The description adds no extra meaning beyond what the schema already provides. Since the schema fully covers the parameter, a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Get', the resource 'specific Paperclip AI agent', and lists the included fields (status, role, budget). It distinguishes itself from siblings like paperclip_list_agents (listing) and paperclip_update_agent (updating) by implying a singular retrieval operation.

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 that this tool is for retrieving details of one specific agent, but it does not explicitly state when to prefer it over alternatives like paperclip_list_agents or how to combine with other tools. No exclusions or alternative names are given, so usage guidance is only implicit.

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

paperclip_get_companyA

Get details of the Paperclip company/organization (agent count, project count, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read operation ('Get details') and lists some returned fields, but does not mention authentication, permissions, rate limits, or any side effects. For a simple read this is adequate but not rich.

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

Conciseness5/5

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

A single, clear sentence that front-loads the purpose and gives useful examples. 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 no-parameter read tool, the description is complete: it names the resource and hints at the return content. The lack of an output schema is mitigated by the examples provided. Minor gaps like exact response structure are acceptable.

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, so the description adds no parameter semantics beyond the schema, which is empty. The baseline for 0 parameters is 4, and the description appropriately doesn't need to explain anything about inputs.

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 a specific verb ('Get details') and resource ('Paperclip company/organization') with concrete examples of what's included ('agent count, project count, etc.'). This distinguishes it from sibling tools like get_agent and get_project, which target narrower resources.

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

Usage Guidelines3/5

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

The description does not explicitly state when to use this tool versus alternatives, but the resource (company-level info) implicitly separates it from per-agent or per-project tools. Usage is implied rather than stated, so it earns a 3.

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

paperclip_get_goalA

Get details of a specific goal

ParametersJSON Schema
NameRequiredDescriptionDefault
goalIdYesID of the goal

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 behavioral burden, and 'Get details' clearly indicates a read-only operation. However, it does not disclose edge-case behavior like what happens for an invalid or missing goalId, nor what the returned details contain.

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 efficient sentence with no filler or redundant information. It is appropriately sized for a one-parameter getter and is immediately understandable.

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 one-parameter read tool, the description plus schema is sufficient to invoke the tool correctly. However, the absence of an output schema and any note about response behavior or error cases leaves mild gaps in context for an agent.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents the only parameter, goalId, as 'ID of the goal'. The description adds no additional parameter meaning beyond that, which matches the baseline for full schema coverage.

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

Purpose4/5

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

The description states a clear verb ('Get') and resource ('details of a specific goal'), so an agent can tell it is a read operation for a single goal. It does not explicitly contrast itself with siblings like paperclip_list_goals, so it misses the top score.

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

Usage Guidelines3/5

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

Usage is only implied: an agent would call this when it needs details about one specific goal rather than a list of goals. There is no explicit when-to-use guidance or mention of alternatives such as paperclip_list_goals.

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

paperclip_get_issueA

Get details of a specific issue including cost summary

ParametersJSON Schema
NameRequiredDescriptionDefault
issueIdYesID of the issue

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. 'Get details' correctly implies a read-only operation, and the mention of a cost summary gives some indication of the response content. However, it does not disclose anything about response shape, potential errors, or whether any special conditions affect the included cost summary.

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, direct sentence without filler. It front-loads the core action and resource, then adds the distinguishing cost-summary detail. Every word earns its place.

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

Completeness4/5

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

For a simple read operation with one required parameter and no output schema, the description is mostly sufficient: it names the resource, the action, and a key part of the response. It could be more complete by listing the other details returned or explicitly distinguishing from get_issue_cost, but these are minor gaps for this low-complexity tool.

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

Parameters3/5

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

The input schema has 100% coverage: the only parameter, issueId, is described as 'ID of the issue'. The description adds no further semantic detail, such as where to find the ID or what format it should take, so it does not elevate beyond the schema baseline.

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

Purpose4/5

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

The description states a clear verb and resource: 'Get details of a specific issue'. It also adds a meaningful output feature, 'including cost summary', which helps distinguish it from plain issue lookup. However, it does not explicitly differentiate itself from the sibling paperclip_get_issue_cost, which might also return cost information.

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

Usage Guidelines3/5

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

The description implies use when a specific issue's details are needed, especially given the required issueId. It does not provide explicit guidance about when to choose this tool over paperclip_get_issue_cost or paperclip_list_issues, leaving some ambiguity for an agent selecting among siblings.

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

paperclip_get_issue_costB

Get cost summary for a specific issue (tokens used, total cost)

ParametersJSON Schema
NameRequiredDescriptionDefault
issueIdYesID of the issue

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 the full burden. It discloses that it returns a cost summary with tokens used and total cost, but does not state whether it is read-only, if it has side effects, or if any permissions are required. This is minimal behavioral disclosure for a tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It efficiently conveys the purpose and key details, making it highly concise and well-structured.

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

Completeness4/5

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

For a simple tool with one parameter and no output schema, the description adequately conveys the purpose. It could mention that it is a read operation or clarify the response format, but given the simplicity, it is reasonably complete. The lack of usage guidance slightly detracts, but the core purpose is clear.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents the only parameter (issueId). The description adds no additional meaning beyond the schema's 'ID of the issue'. Baseline 3 applies because the schema does the heavy lifting.

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

Purpose5/5

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

The description clearly states the verb 'Get', the resource 'cost summary for a specific issue', and specifies the content ('tokens used, total cost'). This distinguishes it from sibling tools like paperclip_get_issue (which likely returns issue details) and paperclip_list_issues (which lists issues).

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. It does not mention that it should be used for cost-related queries or that paperclip_get_issue should be used for general issue details. The name implies cost, but no explicit routing or exclusions are provided.

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

paperclip_get_projectB

Get details of a specific project

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesID of the project

TDQS

B3.1/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 of disclosing behavior. While 'Get' implies a read operation, the description does not explicitly state that it is read-only, has no side effects, or requires any specific permissions. It also does not address error behavior or response format.

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

Conciseness5/5

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

A single sentence with zero redundancy. The core action and target are front-loaded, and no unnecessary words are present.

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 getter with one parameter and no output schema, the description is minimally adequate. It does not state what the response contains, but that is less critical without an output schema. However, it could mention whether the project must exist or how errors are handled.

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

Parameters3/5

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

The schema covers the single parameter (projectId) with a description 'ID of the project', so baseline is 3. The tool description adds no additional meaning beyond the schema, such as format or examples.

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

Purpose4/5

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

The description states a clear verb ('Get') and resource ('details of a specific project'), distinguishing it from list_projects (which lists all) and other get_* tools. It is unambiguous about what it retrieves, though it does not enumerate the specific details returned.

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. It does not mention that list_projects should be used for multiple projects, nor any prerequisites or exclusions.

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

paperclip_list_agentsB

List all AI agents in the Paperclip organization with their roles and status

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
statusNoFilter by agent status
pageSizeNoNumber of items per page

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 the full burden. It only states the action without disclosing read-only nature, pagination behavior, or any side effects. The phrase 'list all' conflicts with the presence of pagination parameters, potentially misleading agents.

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 of 12 words, front-loaded with the action and resource. It is efficient with no wasted words.

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

Completeness2/5

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

The tool is a list operation with pagination params but no output schema and no annotations. The description does not mention pagination behavior, response format, or that 'all' may require iterating pages. This is incomplete for an agent to know how to invoke it correctly.

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

Parameters3/5

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

Schema description coverage is 100% because all three parameters (page, status, pageSize) have descriptions. The description adds no additional parameter meaning beyond what the schema already provides, so baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb (list), resource (AI agents in Paperclip organization), and includes roles and status. It clearly distinguishes from siblings like paperclip_get_agent (single agent) and paperclip_list_issues (different resource).

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 as the list-all-agents tool, and sibling names clarify alternatives, but there is no explicit statement about when to use this vs. paperclip_get_agent or other list tools. No exclusions or conditions are mentioned.

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

paperclip_list_approvalsB

List all pending and resolved approval requests

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by status

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description must carry the full behavioral disclosure burden; it only says 'List all pending and resolved approval requests' and does not state read-only behavior, pagination, ordering, required permissions, or any side effects. The verb 'List' hints at a read operation, but the description provides minimal behavioral context beyond that.

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

Conciseness5/5

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

The description is a single concise sentence with no filler or redundancy. It front-loads the core operation ('List') and the resource, making it immediately scannable and efficient.

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 list tool with one optional, fully documented parameter, the description is largely sufficient for an agent to select and invoke it correctly. The only notable omission is the lack of an explicit return shape, but this is not critical for a straightforward list operation.

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

Parameters3/5

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

The input schema covers the sole parameter fully with a status enum and description 'Filter by status', so the schema already documents parameter semantics. The tool description adds no additional meaning beyond what the schema provides, warranting the baseline score of 3.

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 a specific verb ('List') and resource ('approval requests'), which is distinct from mutation-focused siblings like paperclip_create_approval and paperclip_approval_decision. It is unambiguous about the operation type, though it does not explicitly name or contrast any sibling tool.

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

Usage Guidelines3/5

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

The phrase 'List all pending and resolved approval requests' implies this is the tool for retrieving approval data, and the optional status filter suggests scoping usage. However, it provides no explicit guidance on when to use this instead of related approval tools, nor any exclusions or alternatives.

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

paperclip_list_commentsA

List comments on a specific issue

ParametersJSON Schema
NameRequiredDescriptionDefault
issueIdYesID of the issue

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 carries the full burden of behavioral disclosure. 'List' implies a read-only operation scoped to a specific issue, but it does not mention pagination, ordering, error behavior, or whether the issue must exist. This is adequate for a simple list operation but lacks richer behavioral context.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It immediately states the action and the target resource, making it easy to scan and process.

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

Completeness4/5

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

For a one-parameter list operation with no output schema, the description covers the essential information: what the tool does and what input it needs. It does not specify return format or pagination, but the verb 'List' reasonably implies a collection of comments, and the tool's simplicity keeps this from being a major gap.

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

Parameters3/5

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

The schema has 100% coverage for the single parameter issueId, with a clear description ('ID of the issue'). The tool description adds the qualifier 'specific issue', but it does not provide additional format, source, or validation details beyond what the schema already documents.

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

Purpose5/5

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

The description uses a specific verb ('List') and resource ('comments on a specific issue'), clearly identifying the operation and its scope. It is distinct from sibling tools like paperclip_add_comment and paperclip_list_issues, so an agent can tell what this tool does without opening the schema.

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

Usage Guidelines3/5

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

The usage is implied by the verb and resource: use this tool to retrieve comments for a given issue. However, it does not explicitly mention alternatives or when not to use it, such as distinguishing from paperclip_add_comment or listing all comments globally.

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

paperclip_list_goalsB

List all goals (Company → Project → Agent → Task hierarchy)

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by status
agentIdNoFilter by agent ID
projectIdNoFilter by project ID

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the burden of transparency. 'List' clearly implies a read-only operation, and the hierarchy hint adds some context. However, it does not disclose pagination, ordering, permissions, or how filters interact with the 'all goals' claim.

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 compact sentence with no filler. The verb and resource are front-loaded, and the parenthetical hierarchy adds useful context without bloating the text.

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 list tool with optional filters, the description gives enough to identify the action, but it lacks return format, pagination/sorting behavior, and any usage guidance relative to siblings. The optional filters are clear from the schema, which keeps this at a minimally viable level.

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

Parameters3/5

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

Schema description coverage is 100%, so the enum and filter fields are already fully documented. The description adds no additional parameter semantics, but it does not need to because the schema covers all three optional parameters.

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 uses a specific verb and resource ('List all goals') and adds the hierarchy context, distinguishing it from create_goal and get_goal. It does not explicitly contrast with sibling list tools, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus get_goal or create_goal, no exclusions, and no mention of what the optional filters are for in practical terms. The schema communicates the filters, but the description itself provides no usage direction.

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

paperclip_list_issuesA

List all issues/tasks on the Paperclip Kanban board with optional filters

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
statusNoFilter by status
pageSizeNoItems per page
priorityNoFilter by priority
projectIdNoFilter by project ID
assigneeIdNoFilter by assigned agent ID

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. 'List' implies a non-mutating read operation and 'optional filters' hints at query behavior, but the description does not disclose pagination defaults, how multiple filters combine, or result ordering. It adds modest context but leaves important behavior unspecified.

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

Conciseness5/5

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

A single tightly-worded sentence with zero wasted words. The primary action and resource are front-loaded, and the filter capability is stated compactly.

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 tool has six optional filters, no output schema, and no annotations, so the description should at least cover return shape or pagination semantics. It covers neither; an agent knows what inputs are accepted from the schema but not what comes back or how filtering behaves across pages.

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

Parameters3/5

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

Schema description coverage is 100%, with all six parameters and their enums already documented in the schema. The description's generic 'optional filters' phrase adds no meaning beyond the schema, which is acceptable at the baseline of 3.

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 names a specific verb ('List'), a specific resource ('issues/tasks on the Paperclip Kanban board'), and mentions optional filters. The phrasing 'List all' distinguishes it from the singular get_issue sibling, though it does not explicitly name that alternative.

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

Usage Guidelines3/5

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

Usage context is implied by the name and 'List all issues/tasks' — an agent can infer this is for browsing the full issue set rather than fetching a single issue (get_issue). However, there is no explicit when-to-use guidance, exclusion, or mention of alternatives.

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

paperclip_list_projectsA

List all projects in the Paperclip organization

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
pageSizeNoItems per page

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 only states the action and gives no details on pagination behavior, return format, whether results are summaries or full objects, or any side effects. For a list operation, read-only is implied but not stated. This is a significant gap 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?

A single, short sentence that is front-loaded with the action and resource. Every word contributes value; no filler or 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?

For a simple list tool with two optional pagination parameters and no output schema, the description is minimally sufficient but leaves out expected behaviors like pagination usage and response structure. An agent would benefit from knowing if the response is a list of project summaries or full objects, and whether page/pageSize are required or optional. Given the simplicity, this is a moderate gap.

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

Parameters3/5

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

Schema coverage is 100% (page and pageSize both have descriptions). The tool description adds no extra meaning about parameters, so it sits at the baseline 3. The schema already explains the pagination parameters adequately.

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

Purpose5/5

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

The description states a clear verb-resource pair: 'List all projects' in the Paperclip organization. It distinguishes from sibling tools like get_project (single fetch) and create_project (write) by specifying the resource and scope. No ambiguity or 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 retrieving all projects but does not explicitly mention when to prefer this over get_project or how to handle pagination. There is no mention of alternatives or exclusions, so guidance is only implicit, not explicit.

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

paperclip_pause_agentA

Pause an agent, stopping it from picking up new work

ParametersJSON Schema
NameRequiredDescriptionDefault
agentIdYesID of the agent to pause

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does add a meaningful behavioral detail: pausing stops new work rather than necessarily halting current work. However, it does not disclose reversibility, idempotency, or effects on in-flight tasks, which are relevant for a lifecycle mutation.

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, front-loaded sentence with no filler. Every word contributes to clarifying the tool's purpose and effect.

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 one-parameter lifecycle tool with no output schema, the description is largely sufficient: it names the action, the target, and the key behavioral effect. Minor gaps remain around return behavior and already-paused states, but these are not critical for correct invocation.

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

Parameters3/5

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

Schema coverage is 100% and the only parameter, agentId, is already described as 'ID of the agent to pause.' The description adds no further parameter-level meaning, so the baseline of 3 applies.

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

Purpose5/5

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

The description uses a specific verb ('Pause') and a clear resource ('an agent'), and adds the behavioral consequence 'stopping it from picking up new work.' This distinguishes it from siblings like wake_agent and update_agent without needing to inspect schemas.

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 gives no explicit guidance on when to use this tool versus alternatives. It does not mention wake_agent as the inverse operation or state any conditions for pausing, 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.

paperclip_release_issueA

Release a previously checked-out issue so other agents can claim it

ParametersJSON Schema
NameRequiredDescriptionDefault
issueIdYesID of the issue to release

TDQS

A3.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of disclosing behavior. It states the basic effect (releasing a lock) but does not mention prerequisites such as ownership of the checkout, failure modes if the issue is not checked out, whether the operation is idempotent, or what happens to the existing checkout state.

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, efficient sentence with no filler. It front-loads the core action and includes both the precondition and outcome without wasting 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 low complexity of the tool—one parameter, no output schema—the description conveys the operation, its precondition, and its result. It is mostly complete, though it could mention what happens if the issue is not currently checked out.

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

Parameters3/5

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

The schema covers 100% of parameters with a clear description of issueId. The tool description adds no additional parameter semantics beyond what the schema already provides, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly identifies the specific action (release), the resource (a previously checked-out issue), and the intended outcome (other agents can claim it). This distinguishes it from sibling tools like checkout, delete, or update.

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 gives clear context for when to use the tool: it applies to issues that were previously checked out and should be made available to others. However, it does not explicitly name alternative tools or conditions 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.

paperclip_set_agent_budgetB

Set spending budget limit for an agent

ParametersJSON Schema
NameRequiredDescriptionDefault
limitYesBudget limit amount
periodNoBudget period
agentIdYesID of the agent

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of disclosing behavior. It only says 'set spending budget limit' which implies mutation but does not disclose side effects (e.g., whether existing limits are overwritten), permission requirements, or what happens if period is omitted. The behavioral impact is underexplained.

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 core action. It is front-loaded with the verb and resource, containing no superfluous 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?

For a tool with three parameters (two required) and no output schema or annotations, the description is too sparse. It does not explain the optional period semantics, the effect of setting a limit, or what the agent should expect in the response. An agent would need to guess at the full 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?

The schema covers all parameters with descriptions (100% coverage), so the description adds no additional semantic value. The baseline of 3 applies since the schema already documents each parameter's meaning; the description does not clarify units, default behavior for optional period, or the relationship between limit and period.

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) and the resource (spending budget limit for an agent), with a specific verb and object. It distinguishes itself from sibling tools like update_agent by focusing on the budget limit specifically, making the tool's purpose unambiguous.

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

Usage 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 update_agent or create_agent. The description does not mention any preconditions, selection criteria, or exclusion conditions, 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.

paperclip_update_agentC

Update an existing Paperclip AI agent configuration

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew name
roleNoNew role
skillsNoUpdated skills list
statusNoAgent status
teamIdNoNew team assignment
agentIdYesID of the agent to update
reportsToNoNew reporting agent ID
descriptionNoNew description

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'update,' implying mutation, but does not state whether updates are partial or full, whether changes are reversible, whether specific permissions are required, or what happens to omitted fields.

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

Conciseness4/5

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

The description is a single efficient sentence with no filler and the key action is front-loaded. It is concise, though the brevity comes at the cost of behavioral and usage context.

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?

With 8 parameters, no annotations, and no output schema, the description should explain partial-update behavior, effects, and what the agent can expect as a return value. It provides none of that, leaving the agent to infer critical usage details from parameters alone.

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

Parameters3/5

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

The input schema has 100% description coverage, with every parameter including agentId described. The tool description itself adds no parameter-level meaning, so it relies on the schema; the baseline of 3 applies here.

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 uses a specific verb ('Update') and resource ('existing Paperclip AI agent configuration'), clearly indicating this tool modifies an existing agent rather than creating, deleting, or listing one. However, it is generic and does not explicitly distinguish itself from related mutation siblings like pause_agent, wake_agent, or set_agent_budget, which also modify agent state in some sense.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as paperclip_create_agent, paperclip_pause_agent, or paperclip_wake_agent. The phrase 'existing' implies it is not for creation, but no explicit when-to-use or when-not-to-use information is provided.

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

paperclip_update_issueB

Update an existing issue (title, status, priority, assignee, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoNew title
labelsNoUpdated labels
statusNoNew status
dueDateNoNew due date
issueIdYesID of the issue to update
priorityNoNew priority
assigneeIdNoNew assignee agent ID
descriptionNoNew description

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 behavioral burden. It only restates that the tool updates an issue and lists some fields; it does not disclose whether unspecified fields are preserved, how partial updates behave, what happens for invalid issue IDs, or any permission or side-effect context.

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

Conciseness4/5

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

The description is a single concise, front-loaded sentence with no redundant wording. The trailing 'etc.' is slightly vague, but the overall structure is appropriately short for the tool.

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?

For an unannotated mutation tool with 8 parameters and no output schema, this description is too thin. It omits return-value expectations, partial-update semantics, error behavior, and usage caveats, leaving the agent without important operational context beyond the 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?

The input schema already documents all 8 parameters with descriptions and enums for status and priority (100% schema coverage). The description adds little beyond sampling a few field names, so it meets the baseline but does not meaningfully enrich parameter understanding.

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

Purpose5/5

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

The description uses a specific verb ('Update') and a clear resource ('an existing issue'), and it names several updateable fields like title, status, priority, and assignee. This clearly distinguishes it from sibling tools such as paperclip_create_issue, paperclip_get_issue, and paperclip_delete_issue.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus alternatives such as checkout/release or create/delete. The phrase 'Update an existing issue' gives only a minimal sense of context, but no prerequisites, exclusions, or alternative routing are provided.

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

paperclip_wake_agentA

Wake/trigger an agent to start working on its assigned issues

ParametersJSON Schema
NameRequiredDescriptionDefault
agentIdYesID of the agent to wake

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Wake/trigger an agent to start working' states the outcome but does not disclose whether the action is idempotent, what happens if the agent is already active, whether it is asynchronous, or what response the caller gets. This is a minimal outcome statement, not behavioral transparency.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. It communicates the core action and purpose immediately, and every word earns its place.

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

Completeness3/5

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

For a simple one-parameter tool with a well-described schema, the overview is minimally adequate. However, there is no mention of the return value, preconditions, or edge-case behavior, which leaves some ambiguity for an agent deciding whether and how to invoke it.

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

Parameters3/5

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

The schema already describes agentId as 'ID of the agent to wake' and covers 100% of parameters. The description adds no parameter-level meaning beyond the schema, so the baseline 3 applies.

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

Purpose5/5

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

The description uses a specific verb ('wake/trigger') and resource ('an agent'), and states the intended outcome ('start working on its assigned issues'). It is easily distinguished from siblings like paperclip_pause_agent, paperclip_get_agent, and paperclip_update_agent.

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 is used when an agent should begin working, and the sibling paperclip_pause_agent suggests it is the inverse of pause. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention preconditions like the agent needing to already exist or be in a paused state.

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

paperclip_whoamiA

Get identity information about the current authenticated user/agent

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.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 of behavioral disclosure. It only says 'identity information' without specifying what fields are returned (e.g., user ID, name, roles, permissions) or whether this reflects the user or the agent context. An agent cannot infer the exact output shape or any side effects, though this tool likely has none. The description is too terse to be behaviorally transparent.

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

Conciseness5/5

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

A single, concise sentence that delivers the core purpose immediately. No fluff or redundancy. The structure is optimally front-loaded.

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

Completeness3/5

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

The tool has no output schema, so the description is the only source for return-value expectations. It only says 'identity information', which is vague. An agent would not know whether to expect a user object, a string, or a set of claims. For a no-parameter tool, the description should at least enumerate the key fields. This is a notable gap, though the tool's simplicity mitigates the severity.

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 the schema is trivially complete. The description adds no parameter-specific meaning because none exists. With 0 params, the baseline of 4 is appropriate – there is nothing to compensate for.

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 'identity information about the current authenticated user/agent'. It is unambiguous and distinct from all sibling tools, which cover agents, issues, projects, etc. No confusion about what this 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 Guidelines4/5

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

The purpose is self-evident: to retrieve the identity of the authenticated principal. There are no sibling tools that perform a similar function, so the context is clear. However, the description does not explicitly state when to use it (e.g., before other API calls) or provide exclusions, though these are not critical for a whoami-type tool.

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

Tool Schema Changelog

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

  1. 30 tool updatesv1.0.0
    • First observedpaperclip_add_comment
    • First observedpaperclip_api_request
    • First observedpaperclip_approval_decision
    • First observedpaperclip_checkout_issue
    • First observedpaperclip_create_agent
    • First observedpaperclip_create_approval
    • First observedpaperclip_create_goal
    • First observedpaperclip_create_issue
    • First observedpaperclip_create_project
    • First observedpaperclip_delete_agent
    • First observedpaperclip_delete_issue
    • First observedpaperclip_get_agent
    • First observedpaperclip_get_company
    • First observedpaperclip_get_goal
    • First observedpaperclip_get_issue
    • First observedpaperclip_get_issue_cost
    • First observedpaperclip_get_project
    • First observedpaperclip_list_agents
    • First observedpaperclip_list_approvals
    • First observedpaperclip_list_comments
    • First observedpaperclip_list_goals
    • First observedpaperclip_list_issues
    • First observedpaperclip_list_projects
    • First observedpaperclip_pause_agent
    • First observedpaperclip_release_issue
    • First observedpaperclip_set_agent_budget
    • First observedpaperclip_update_agent
    • First observedpaperclip_update_issue
    • First observedpaperclip_wake_agent
    • First observedpaperclip_whoami

TDQS

B3.2/5.0

Scored across 30 tools

Disambiguation4/5

Most tools pair a clear verb with a unique resource and action, so an agent can usually pick correctly. The main ambiguity is paperclip_get_issue_cost overlapping with paperclip_get_issue, which already includes cost summary, and paperclip_api_request duplicating the whole surface as an escape hatch.

Naming Consistency4/5

The paperclip_ prefix and snake_case verb_noun pattern are applied consistently across nearly all tools. Minor exceptions are paperclip_approval_decision, paperclip_whoami, and paperclip_api_request, which do not follow the standard verb_noun convention.

Tool Count2/5

At 30 tools, this exceeds the 25+ threshold and feels heavy for an MCP adapter. Although the tools are organized by domain, some are redundant or could be consolidated, such as paperclip_get_issue_cost overlapping with paperclip_get_issue.

Completeness3/5

Agents and issues have full CRUD plus useful lifecycle actions, but projects and goals only support create/get/list with no update or delete, and comments lack update/delete. These are notable gaps, though paperclip_api_request provides a raw workaround.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    F
    maintenance
    MCP server that exposes 300+ AI agents as tools via a single API key. Supports listing agents, invoking any agent with chat-completion style messages, checking agent health, and retrieving platform statistics.
    5
    4
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to manage Kanban boards, cards, sessions, and automations through a unified MCP interface with real-time updates, supporting delegation, agent sessions, and human-in-the-loop interactions.
    AGPL 3.0