Paperclip AI Adapter for Antigravity CLI
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Paperclip AI Adapter for Antigravity CLIShow me all agents working on the Q3 launch project and their current tasks."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 buildConfiguration
Variable | Required | Default | Description |
| Yes | - | Your Paperclip API key |
| No |
| API base URL |
| 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 |
| List all agents with filters |
| Create/hire a new agent |
| Get agent details |
| Update agent config |
| Terminate an agent |
| Wake agent to start working |
| Pause an agent |
| Set agent budget limit |
Issues (10 tools)
Tool | Description |
| List issues with filters |
| Create a new issue |
| Get issue details |
| Update an issue |
| Delete an issue |
| Atomically claim an issue |
| Release a claimed issue |
| List issue comments |
| Comment on an issue |
| Get issue cost summary |
Projects (3 tools)
Tool | Description |
| List all projects |
| Create a project |
| Get project details |
Goals (3 tools)
Tool | Description |
| List goals with filters |
| Create a goal |
| Get goal details |
Approvals (3 tools)
Tool | Description |
| List approval requests |
| Create approval request |
| Approve or reject |
Company (3 tools)
Tool | Description |
| Get company info |
| Get current identity |
| 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 # LintSelf-hosting Paperclip
npx paperclipai onboard --yesDefault URL: http://localhost:3100
License
MIT
Available Tools
30 toolspaperclip_add_commentC
Add a comment to an issue
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Comment content | |
| issueId | Yes | ID of the issue |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | JSON body as string | |
| path | Yes | API path (e.g. /api/agents) | |
| method | Yes | HTTP method |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Reason for the decision | |
| decision | Yes | Decision to make | |
| approvalId | Yes | ID of the approval request |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| issueId | Yes | ID of the issue to checkout |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the agent | |
| role | Yes | Role/title of the agent (e.g. Engineer, Designer, QA) | |
| skills | No | List of skills for the agent | |
| teamId | No | Team ID to assign the agent to | |
| runtime | No | Execution runtime (claude-code, codex, cursor, shell, http) | |
| reportsTo | No | Agent ID this agent reports to in the org chart | |
| description | No | Description of the agent responsibilities |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Approval request title | |
| description | No | Details about what needs approval |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Goal title | |
| agentId | No | Associated agent ID | |
| parentId | No | Parent goal ID for nested goals | |
| projectId | No | Associated project ID | |
| description | No | Goal description |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Issue title | |
| labels | No | Labels for the issue | |
| dueDate | No | Due date in ISO format | |
| parentId | No | Parent issue ID for sub-tasks | |
| priority | No | Issue priority | |
| projectId | No | Project ID | |
| assigneeId | No | Agent ID to assign the issue to | |
| description | No | Issue description |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Project name | |
| description | No | Project description |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| agentId | Yes | ID of the agent to delete |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| issueId | Yes | ID of the issue to delete |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| agentId | Yes | ID of the agent |
TDQS
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.
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.
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.
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.
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.
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.)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| goalId | Yes | ID of the goal |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| issueId | Yes | ID of the issue |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| issueId | Yes | ID of the issue |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | ID of the project |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination | |
| status | No | Filter by agent status | |
| pageSize | No | Number of items per page |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by status |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| issueId | Yes | ID of the issue |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by status | |
| agentId | No | Filter by agent ID | |
| projectId | No | Filter by project ID |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| status | No | Filter by status | |
| pageSize | No | Items per page | |
| priority | No | Filter by priority | |
| projectId | No | Filter by project ID | |
| assigneeId | No | Filter by assigned agent ID |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| pageSize | No | Items per page |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| agentId | Yes | ID of the agent to pause |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| issueId | Yes | ID of the issue to release |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| limit | Yes | Budget limit amount | |
| period | No | Budget period | |
| agentId | Yes | ID of the agent |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New name | |
| role | No | New role | |
| skills | No | Updated skills list | |
| status | No | Agent status | |
| teamId | No | New team assignment | |
| agentId | Yes | ID of the agent to update | |
| reportsTo | No | New reporting agent ID | |
| description | No | New description |
TDQS
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.
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.
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.
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.
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.
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.)
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | New title | |
| labels | No | Updated labels | |
| status | No | New status | |
| dueDate | No | New due date | |
| issueId | Yes | ID of the issue to update | |
| priority | No | New priority | |
| assigneeId | No | New assignee agent ID | |
| description | No | New description |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| agentId | Yes | ID of the agent to wake |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
30 tool updates
v1.0.0- First observed
paperclip_add_comment - First observed
paperclip_api_request - First observed
paperclip_approval_decision - First observed
paperclip_checkout_issue - First observed
paperclip_create_agent - First observed
paperclip_create_approval - First observed
paperclip_create_goal - First observed
paperclip_create_issue - First observed
paperclip_create_project - First observed
paperclip_delete_agent - First observed
paperclip_delete_issue - First observed
paperclip_get_agent - First observed
paperclip_get_company - First observed
paperclip_get_goal - First observed
paperclip_get_issue - First observed
paperclip_get_issue_cost - First observed
paperclip_get_project - First observed
paperclip_list_agents - First observed
paperclip_list_approvals - First observed
paperclip_list_comments - First observed
paperclip_list_goals - First observed
paperclip_list_issues - First observed
paperclip_list_projects - First observed
paperclip_pause_agent - First observed
paperclip_release_issue - First observed
paperclip_set_agent_budget - First observed
paperclip_update_agent - First observed
paperclip_update_issue - First observed
paperclip_wake_agent - First observed
paperclip_whoami
TDQS
Scored across 30 tools
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.
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.
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.
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
Related MCP Connectors
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Agent-native collaboration network: orchestrate a team of long-running agents from any MCP client.
Remote MCP server to read and manage your Atako AI agents, messages, files, and integrations.
- OctopadOAuthapp.octopad
The back-office workspace for your team's AIs: tasks, knowledge and context shared over MCP.
Related MCP Servers
- FlicenseAqualityFmaintenanceMCP 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.54-
- AlicenseNot gradedqualityBmaintenanceEnables 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
- AlicenseAqualityAmaintenanceEnables MCP clients to manage and orchestrate autonomous agents, budgets, and multi-agent workflows within the OpenMesha agentic operating system.91Apache 2.0
- AlicenseAqualityBmaintenanceEnables MCP-capable agents to create and invoke OpenServerless endpoints, manage secrets, and configure integrations such as S3, PostgreSQL, Redis, Milvus, and MongoDB.13Apache 2.0