Skip to main content
Glama
Ownership verified

Server Details

Connect your AIOProductOS workspace to Claude Code and work your whole product from chat — feedback, revenue, tasks, releases, analytics, and code activity joined on one customer record.

The product operating system, exposed as one MCP server. Every customer is a single typed record that joins revenue, product behavior, feedback, and the work in flight — so an agent doesn't stitch a separate analytics tool, feedback inbox, and issue tracker. Capture an insight and link it to a feature, run the board (tasks, sprints, releases, objectives), resolve a customer's full 360, and read closed-loop analytics — funnels, retention, NRR, NPS, journey paths, experiments — computed on the same record the money and feedback live on. 38 tools across customer data, insights, delivery, and revenue-weighted analytics; OAuth 2.1, scoped to your own org.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.5/5 across 38 of 38 tools scored. Lowest: 3.7/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct resource and action. Even similar tools like analyze_funnel and analyze_paths are clearly differentiated (ordered funnel vs. next-step transitions). No two tools have overlapping purposes that would cause confusion.

Naming Consistency4/5

The majority of tools follow a clear verb_noun pattern (e.g., analyze_funnel, create_task, list_features). A few outliers like whoami (question form) and pm_meta (not verb_noun) slightly break consistency, but the overall pattern is predictable.

Tool Count3/5

With 38 tools, the server is on the heavier side, covering a broad domain of product management, analytics, customer support, and development. While each tool seems justified for its niche, the count is high and may overwhelm agents, making it borderline appropriate.

Completeness4/5

The tool surface covers most key product management workflows: CRUD for tasks (except delete), insight capture, feature listing, analytics, customer 360, and more. Minor gaps exist (no create feature, no update experiment), but the core lifecycle is well-supported.

Available Tools

38 tools
analyze_funnelConversion FunnelA
Read-onlyIdempotent
Inspect

Build a conversion funnel from the product's own events: distinct users per step, step-to-step conversion, and drop-off. Read-only; needs product analytics events flowing, and returns empty counts when no events match. Pass steps as an ordered list of 2+ event names — call it with no steps first to get the menu of available event names rather than guessing. Optional product_id and window_days (default 30); pairs with analyze_paths to see where the drop-offs go.

ParametersJSON Schema
NameRequiredDescriptionDefault
stepsNoOrdered list of 2+ event names forming the funnel; omit to get the menu of available event names first.
product_idNoProduct id, from whoami (optional; the org's primary product when omitted).
window_daysNoLookback window in days (optional; default 30).
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive. Description adds 'returns empty counts when no events match' and 'needs product analytics events flowing', which are useful behavioral traits beyond annotations.

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

Conciseness5/5

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

Three sentences, front-loaded with purpose, no wasted words. Every sentence adds value.

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

Completeness3/5

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

No output schema, and description does not detail the return format beyond hints. While the tool is read-only and returns counts, explicit structure would improve completeness.

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

Parameters4/5

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

Schema coverage is 100%. Description adds significant value for the 'steps' parameter by explaining the pattern of calling with no steps to get available event names, which is not in the schema.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Build a conversion funnel from the product's own events' with specifics (distinct users per step, conversion, drop-off). It distinguishes from sibling 'analyze_paths' by noting they pair together.

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

Usage Guidelines4/5

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

Provides explicit guidance: call with no steps first to get menu, requires product analytics events flowing, and pairs with analyze_paths. Does not explicitly state when not to use, but the context is clear.

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

analyze_npsNPS (revenue-weighted)A
Read-onlyIdempotent
Inspect

NPS for the product — standard score AND revenue-weighted NPS (each respondent weighted by their account MRR), plus the detractor accounts ranked by what they're worth. Surfaces when your biggest customers are the unhappy ones even if the headline looks fine. Optional product_id and window_days (default 90). Read-only; returns an empty result when no survey responses fall in the window. Use it to quantify sentiment after get_product_brain, then dig into a detractor account with get_customer_360.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idNoProduct id, from whoami (optional; the org's primary product when omitted).
window_daysNoLookback window in days (optional; default 90, i.e. the last quarter).
Behavior4/5

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

Annotations already declare read-only and idempotent hints. The description adds that it returns an empty result when no survey responses fall in the window, which is a useful behavioral detail not covered by annotations.

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

Conciseness5/5

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

The description is concise, with key information front-loaded. Every sentence adds value, and there is no redundancy or fluff.

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

Completeness5/5

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

Given the simple structure (2 optional parameters, no output schema), the description covers purpose, behavior, edge cases, and workflow, making it fully complete for an AI agent to use.

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

Parameters3/5

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

Schema coverage is 100% with parameter descriptions. The description reiterates optionality and default for window_days, adding minor value but not significantly beyond the schema.

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

Purpose5/5

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

The description clearly states it computes both standard and revenue-weighted NPS and lists detractors by MRR, making the tool's purpose distinct from sibling analysis tools like analyze_funnel or analyze_nrr.

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

Usage Guidelines4/5

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

It explicitly recommends using this after get_product_brain and before get_customer_360, providing workflow context. It does not explicitly mention when not to use it, but the provided alternatives are clear.

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

analyze_nrrNet Revenue RetentionA
Read-onlyIdempotent
Inspect

Net Revenue Retention (revenue-weighted) next to logo retention (count-weighted), the expansion/contraction/churn split, and the accounts that lost the most MRR. The divergence is the point: '92% of logos but 78% of revenue' means a big account churned. Optional window_days (default 90). Read-only; returns an empty result when no subscription movements fall in the window. Use it to quantify revenue health, then follow the top-losing accounts into get_customer_360.

ParametersJSON Schema
NameRequiredDescriptionDefault
window_daysNoLookback window in days (optional; default 90, i.e. the last quarter).
Behavior4/5

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

Annotations already cover readOnlyHint and idempotentHint. The description adds useful context: returns empty result when no subscription movements, and optional window_days default of 90. No contradiction.

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

Conciseness5/5

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

The description is concise, well-structured, and front-loads the key outputs. Every sentence adds value with no fluff.

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

Completeness5/5

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

Given one parameter, no output schema, and clear annotations, the description fully covers the tool's purpose, behavior, and usage. It explains outputs, edge cases, and next steps.

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

Parameters3/5

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

Schema coverage is 100% for the single parameter 'window_days'. The description adds that it's optional with default 90, but the schema already explains it. Minimal added value.

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

Purpose5/5

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

The description clearly states it computes Net Revenue Retention with revenue-weighted and logo retention, expansion/contraction/churn split, and identifies top-losing accounts. It distinguishes from siblings like 'get_retention' by specifying revenue-weighted vs. count-weighted.

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

Usage Guidelines4/5

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

The description advises to use it to quantify revenue health and suggests following up with 'get_customer_360' for top-losing accounts. It also notes read-only behavior and empty results, but does not explicitly state 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.

analyze_pathsUser Path FlowA
Read-onlyIdempotent
Inspect

Trace what users do AFTER a start event — the journey flow (Sankey) from the product's own events. Read-only; returns the ranked next-step transitions, empty when no events match. Pass start to anchor on an event, or omit for the most common start (call analyze_funnel with no steps to see the available event names). Optional product_id and window_days (default 30).

ParametersJSON Schema
NameRequiredDescriptionDefault
startNoEvent name to anchor the flow on (optional; the most common start event when omitted — analyze_funnel with no steps lists the event names).
product_idNoProduct id, from whoami (optional; the org's primary product when omitted).
window_daysNoLookback window in days (optional; default 30).
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds that the tool is read-only, returns ranked next-step transitions, and returns empty when no events match. This is consistent with annotations and provides additional behavioral context.

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

Conciseness5/5

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

The description is two sentences, no filler. First sentence states purpose and output; second sentence adds parameter guidance and sibling tool reference. Highly efficient and front-loaded.

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

Completeness5/5

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

With three optional parameters, no output schema, and comprehensive annotations, the description covers the return value (ranked transitions, empty on no match), how to find start events, defaults, and optionality. An agent has sufficient information to use the tool correctly.

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

Parameters5/5

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

Schema description coverage is 100%, but the description adds valuable guidance: the start parameter can be omitted to use the most common start, and directs to analyze_funnel to see event names. It also notes product_id and window_days are optional with a default of 30. This enriches the schema information.

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

Purpose5/5

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

The description clearly states the tool traces what users do after a start event, using 'Trace' as a verb and 'journey flow (Sankey)' as the resource. It distinguishes from analyze_funnel by mentioning the start event anchoring and the ability to list event names via analyze_funnel.

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

Usage Guidelines5/5

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

Explicitly mentions when to use the tool (trace user paths), how to handle the start parameter (pass an event or omit for most common start), and provides an alternative tool (analyze_funnel) for listing event names. Also notes optional parameters and default behavior (window_days default 30).

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

capture_insightCapture InsightAInspect

Write a piece of customer feedback to the spine (the agent's own hand, not just reading) and return the created insight. Fires the same insight.created webhook a manual capture does — a real side-effect, so only capture genuine signal. Resolve account_id via get_customer_360 and feature_id via list_features and tie them when known; kind='opportunity' marks a prioritisable ask. Only body is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesThe verbatim feedback / insight text (the only required field).
kindNo'insight' = raw signal; 'opportunity' = a prioritisable ask (optional).
titleNoShort display title (optional).
account_idNoAccount id it's about, from get_customer_360 (optional).
feature_idNoFeature id to link on the spine, from list_features or pm_meta (optional).
product_idNoProduct id, from whoami (optional; the org's primary product when omitted).
Behavior5/5

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

Discloses that the tool fires a webhook, is a real side-effect, and should only be used for genuine signals. Annotations (readOnlyHint=false) align, and description adds crucial 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.

Conciseness4/5

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

The description is concise and front-loaded with the main purpose. A few extra details (e.g., 'the agent's own hand') could be trimmed, but overall efficient.

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

Completeness5/5

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

Covers the return value (created insight), side-effects (webhook), and references sibling tools for parameter resolution. No output schema is present, but the description sufficiently explains the response.

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

Parameters4/5

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

Schema coverage is 100%, so baseline 3. Description adds value by explaining how to resolve account_id and feature_id via other tools and the meaning of kind='opportunity', going beyond the schema.

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

Purpose5/5

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

The description clearly states the verb 'write' and the resource 'feedback to the spine', and distinguishes it from read-only sibling tools like list_insights by emphasizing the creation and side-effect.

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

Usage Guidelines4/5

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

Provides guidance on when to use (capture genuine signal) and references resolving IDs via other tools (get_customer_360, list_features). Lacks explicit negative guidance but context is clear.

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

comment_on_taskComment on TaskAInspect

Add a comment to a task, authored as the connected member, and return the created comment. Use to record progress, a decision, or a handoff — the comment is visible to the whole org, so keep it work-relevant. Resolve the task id first with get_task or list_tasks; both id and body are required.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTask id, from list_tasks or get_task.
bodyYesComment text; posted as the connected member and visible to the whole org.
Behavior4/5

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

Description adds context beyond annotations: notes that comment is authored as connected member and visible to whole org. Annotations already indicate non-read-only and non-destructive, so no contradiction.

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

Conciseness5/5

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

Three sentences with no wasted words: front-loaded action, then usage context, then preparation step. Each sentence earns its place.

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

Completeness4/5

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

Given no output schema, description states return value. For a simple two-param tool, it covers purpose, prerequisites, and behavior. Minor gap: doesn't specify if multiple comments can be added to same task.

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

Parameters4/5

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

Schema coverage is 100%, but description enhances both parameters: 'id' clarifies sourcing (from list_tasks or get_task), 'body' adds behavior (posted as connected member, visible to org). Adds value beyond schema.

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

Purpose5/5

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

Clearly states action ('Add a comment to a task'), resource ('task'), and return value ('return the created comment'). Differentiates from siblings like 'create_task' and 'update_task' by focusing on commenting.

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

Usage Guidelines4/5

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

Explicitly says 'Use to record progress, a decision, or a handoff' and advises to resolve task id first with get_task or list_tasks. Provides context on visibility, but lacks explicit when-not-to-use or alternatives for other actions.

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

create_taskCreate TaskAInspect

Create a task and return the created task. list_id defaults to the org's first list when omitted; feature_id / insight_id link it to the spine and sprint_id schedules it into a sprint. Resolve list/status/feature/insight/member ids via pm_meta and sprint_id via list_sprints — never guess them. Only title is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesTask title (the only required field).
list_idNoList to create the task on; resolve the id via pm_meta (optional; the org's first list when omitted).
priorityNoPriority level, urgent highest (optional).
sprint_idNoSchedule into a sprint (optional; resolve the id via list_sprints).
status_idNoInitial status; resolve the id via pm_meta (optional).
feature_idNoFeature id to link on the spine, from pm_meta or list_features (optional).
insight_idNoInsight id to link on the spine, from list_insights (optional).
descriptionNoTask body / details (optional).
assignee_member_idsNoMember ids to assign, from pm_meta (optional).
Behavior5/5

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

Annotations (readOnlyHint=false, destructiveHint=false) align with creation behavior. The description adds value by detailing default behavior (list_id default), linkage to spine/sprint, and that only title is required. No contradictions.

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

Conciseness5/5

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

The description is four sentences, each essential: main purpose, defaults and linkages, ID resolution guidance, and requirement note. Front-loaded and no redundant text.

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

Completeness4/5

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

For a complex tool with 9 parameters and no output schema, the description covers purpose, defaults, ID resolution, and requirement. Missing error behavior or response format, but overall adequate given constraints.

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

Parameters5/5

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

Schema coverage is 100%, baseline 3. The description adds significant meaning: default for list_id, how feature/insight/sprint IDs link, and explicit resolution instructions. This goes well beyond schema descriptions.

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

Purpose5/5

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

The description clearly states 'Create a task and return the created task.' and explains parameter details, distinguishing it from update/list siblings. It identifies the resource (task) and action (create) precisely.

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

Usage Guidelines4/5

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

The description explicitly instructs to resolve IDs via pm_meta and list_sprints, never guess them, and notes that list_id defaults to org's first list. It implies when to use (creation) but does not contrast with update_task or list_tasks explicitly.

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

get_codebase_mapCodebase MapA
Read-onlyIdempotent
Inspect

The auto-generated codebase brain map for one product: a plain-language summary, the module/node/edge counts, when the map was last generated, and the labels of the modules it found. Read-only; returns the latest generated map, empty when none has been generated for the product yet. Use it to ground 'where in the code does X live?' questions and to see how the codebase splits into modules before discussing architecture or scoping engineering work. Optional product_id, from whoami; omit for the org's primary product.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idNoProduct id, from whoami (optional; the org's primary product when omitted).
Behavior4/5

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

The description goes beyond annotations by stating it returns the latest generated map and can be empty if none exists. This adds behavioral context. No contradictions with annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint).

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

Conciseness5/5

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

The description is concise at three sentences, front-loaded with what the tool returns, followed by read-only note, usage advice, and parameter info. No wasted words; every sentence adds value.

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

Completeness4/5

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

Given the tool has one optional parameter, no output schema, and existing annotations, the description fairly completely describes the output (contents of map, emptiness condition) and usage context. It could benefit from specifying the output format (e.g., JSON structure), but much is conveyed.

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

Parameters3/5

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

The schema description of product_id already covers its meaning (optional, from whoami, primary product omitted). The tool description repeats this same information without adding new semantics. With 100% schema coverage, baseline is 3.

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

Purpose5/5

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

The description clearly states the tool returns a codebase brain map with specific elements like plain-language summary, module/node/edge counts, generation time, and module labels. It distinguishes itself from sibling analysis tools by focusing on codebase structure.

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

Usage Guidelines4/5

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

The description provides explicit when-to-use guidance: for grounding 'where in code does X live' and discussing architecture or engineering scoping. It also notes when the map is empty. However, it lacks explicit comparison to sibling tools or when-not-to-use conditions.

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

get_conversationRead Support ConversationA
Read-onlyIdempotent
Inspect

Read one support conversation: the visitor plus the full message thread, oldest first. Read-only. Resolve the conversation_id first with list_conversations — never guess it.

ParametersJSON Schema
NameRequiredDescriptionDefault
conversation_idYesConversation id, from list_conversations.
Behavior5/5

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

Description adds behavioral details (returns visitor and full thread, oldest first) beyond annotations which already indicate readOnlyHint, idempotentHint, and non-destructive nature.

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

Conciseness5/5

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

Two sentences: first states purpose and output, second provides usage rule. No wasted words, front-loaded.

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

Completeness5/5

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

Though no output schema, description explains output content. References prerequisite tool. Adequately covers what an agent needs to know.

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

Parameters5/5

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

Schema describes conversation_id as from list_conversations; description reinforces this with specific guidance to not guess, adding value beyond schema.

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

Purpose5/5

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

The description clearly states the tool reads a support conversation, including the visitor and full message thread, oldest first. This is specific and distinguishes it from sibling tools like list_conversations.

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

Usage Guidelines5/5

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

Explicitly says 'Read-only' and instructs to resolve conversation_id via list_conversations and never guess it, providing clear when-to-use and when-not-to-use guidance.

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

get_customer_360Customer 360A
Read-onlyIdempotent
Inspect

Everything about ONE customer, resolved by id, email, domain, or company name: profile, subscription + MRR, how many users sit under the account, and their verbatim feedback. Read-only; returns the matched account, or an empty result when nothing matches the query. The money + people + voice join on one record — call it before answering anything about a specific account.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe account to resolve: an account id, a user's email, a company domain (e.g. 'acme.com'), or a company name.
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive behavior. The description adds value by disclosing that it returns an empty result for no match and that it joins multiple data sources. No contradictions with annotations.

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

Conciseness5/5

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

The description is three sentences, each adding essential information: what is returned, resolution methods, read-only nature, empty result handling, and usage context. No redundant or extraneous content.

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

Completeness5/5

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

Given the tool has one simple parameter and no output schema, the description sufficiently covers the return payload, resolution options, and error case (empty result). It is complete for the tool's complexity.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema already explains the 'query' parameter's allowed formats. The tool description repeats this without adding new semantic detail, so baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states it retrieves comprehensive data for one customer, listing specific attributes (profile, subscription, MRR, users, feedback) and resolution methods (id, email, domain, company name). It distinguishes itself from sibling analytical tools by focusing on a single entity snapshot.

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

Usage Guidelines4/5

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

The description explicitly advises 'call it before answering anything about a specific account,' providing clear context for when to use it. While it doesn't list alternatives or exclusions, the purpose is well-defined and fits the tool's role.

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

get_device_candidatesDevice-Graph Identity CandidatesA
Read-onlyIdempotent
Inspect

Clusters of ≥2 end_users seen on the same device: 'anon_bridge' (high confidence — an anonymous visitor later identified) or 'device_shared' (low confidence — review only). Read-only; returns the candidate clusters, empty when none are found. Use it to find merge targets, then act with merge_end_users.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare read-only, idempotent, and non-destructive. The description adds that it returns empty when none found and explains the two cluster types. This adds useful context beyond annotations, though annotations already cover the safety profile well.

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

Conciseness5/5

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

The description is two sentences, front-loaded with key information, and every part is relevant. No wasted words, excellent structure.

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

Completeness5/5

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

Given zero parameters, extensive annotations, and no output schema, the description fully explains what the tool does, what it returns, and how to use it in a workflow. It is complete for this simple tool.

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

Parameters4/5

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

There are no parameters, so schema coverage is 100%. The description does not need to add parameter info; baseline for 0 params is 4. The description is adequate for a no-parameter tool.

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

Purpose5/5

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

The description clearly states the tool returns clusters of end users on the same device, with two distinct types ('anon_bridge' and 'device_shared') and confidence levels. This distinguishes it from sibling tools like merge_end_users.

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

Usage Guidelines5/5

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

Provides explicit guidance: 'Use it to find merge targets, then act with merge_end_users.' This tells the agent when to use the tool and what to do next, clearly differentiating from other tools.

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

get_pageRead PageA
Read-onlyIdempotent
Inspect

Read one Page (doc / PRD) by id and return its full content. Read-only. Resolve the id first with list_pages — never guess it.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPage id, from list_pages.
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint. Description adds 'Read-only' (redundant) and specifies 'return full content', adding context about output scope. No contradictions.

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

Conciseness5/5

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

Two concise sentences with no wasted words. First sentence states purpose, second gives usage guideline. Front-loaded and efficient.

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

Completeness4/5

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

For a simple tool with 1 param and good annotations, description covers purpose, usage, and output expectation. Could mention error handling but not essential. Slightly incomplete.

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

Parameters3/5

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

Schema coverage is 100% with one parameter 'id' described. Description adds no new semantic info about the parameter beyond what the schema provides; baseline 3.

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

Purpose5/5

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

Description specifies verb 'Read', resource 'Page (doc / PRD)', and action 'by id and return full content'. Clearly distinguishes from sibling list_pages by mentioning id resolution.

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

Usage Guidelines5/5

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

Explicitly instructs to resolve id with list_pages first and never guess it, providing clear prerequisite and exclusion.

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

get_pm_playbookPM PlaybookA
Read-onlyIdempotent
Inspect

How to operate as a product manager on AIOProductOS — ground in the brain, keep work tied to the spine (insight→feature→task→outcome), prioritise on evidence (affected accounts + MRR + reach). Read-only; returns the operating guide as plain text. Call it first, before planning or prioritising, to load the house rules the other tools assume.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds that the output is plain text, which is useful but not essential beyond annotations.

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

Conciseness5/5

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

Concise, front-loaded with purpose, no redundant information. Every sentence adds value.

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

Completeness4/5

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

Provides sufficient context about what the tool returns (plain text) and when to use it. Lacks details about output format but given no output schema, this is acceptable.

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

Parameters4/5

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

No parameters exist, and the schema coverage is 100%. The description does not need to add parameter info; baseline 4 is appropriate.

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

Purpose5/5

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

The description clearly states the tool returns the PM operating guide as plain text, defines the PM workflow (insight→feature→task→outcome), and distinguishes it from sibling tools by being the foundational guide to call first.

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

Usage Guidelines5/5

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

Explicitly advises to call it first before planning or prioritising, providing clear when-to-use guidance and implying its role as a prerequisite for other tools.

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

get_product_brainProduct Brain SnapshotA
Read-onlyIdempotent
Inspect

A grounded, read-only snapshot of the org's product so YOU can reason about it: revenue + top paying accounts, web + product analytics, features, recent verbatim customer signals, and open work. Start here to ground, then go deeper with the dedicated list_* reads and the analytics tools. Optional product_id; omit for the primary product.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idNoProduct id, from whoami (optional; the org's primary product when omitted).
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. Description adds valuable context: the snapshot contents, grounding purpose, and optional product_id behavior. No contradiction with annotations.

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

Conciseness5/5

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

Two sentences with zero waste. First sentence defines scope and contents. Second sentence provides usage guidance. Front-loaded with key information.

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

Completeness5/5

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

No output schema, but description sufficiently explains return value by listing included data types. Also covers usage context and optional parameter behavior. Complete for a snapshot tool.

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

Parameters4/5

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

Schema coverage is 100% with one optional parameter. Description adds clarity about omitting for primary product, which is not in schema. Adds value beyond schema.

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

Purpose5/5

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

Description clearly states the tool provides a 'read-only snapshot of the org's product' listing specific data types (revenue, accounts, analytics, features, signals, open work). It differentiates from siblings by positioning itself as a starting point before using dedicated list_* and analytics tools.

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

Usage Guidelines5/5

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

Explicitly advises 'Start here to ground, then go deeper with the dedicated list_* reads and the analytics tools,' providing clear when-to-use and when-not-to-use guidance with specific alternative tool categories.

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

get_retentionCohort RetentionA
Read-onlyIdempotent
Inspect

Weekly cohort retention for the product: users grouped by first-seen week, with the share returning each week after. Read-only; needs product analytics events flowing, and returns empty cohorts when the product has none. Optional product_id and window_days (default 56 = 8 weekly cohorts).

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idNoProduct id, from whoami (optional; the org's primary product when omitted).
window_daysNoLookback window in days (optional; default 56 = 8 weekly cohorts).
Behavior3/5

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

Annotations already provide readOnlyHint, idempotentHint, destructiveHint. Description adds 'Read-only' and 'returns empty cohorts when the product has none,' which is consistent and adds mild context but does not significantly deepen behavioral understanding beyond annotations.

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

Conciseness5/5

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

Two sentences, no extraneous words. Purpose is front-loaded, and each sentence serves a clear function: stating purpose, then usage conditions and parameters.

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

Completeness5/5

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

For a simple tool with 2 optional params and no output schema, the description covers purpose, conditions, defaults, and behavior when data is missing. No gaps remain.

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

Parameters4/5

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

Schema coverage is 100%. The description adds value by explaining the default for window_days (56 = 8 weekly cohorts) and that product_id is optional with a fallback to primary product, supplementing the schema descriptions.

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

Purpose5/5

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

The description clearly specifies the tool's purpose: retrieving weekly cohort retention, with users grouped by first-seen week and share returning each week. It distinguishes from sibling tools like analyze_funnel and analyze_paths which focus on different analyses.

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

Usage Guidelines4/5

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

The description states prerequisites (product analytics events flowing) and outcomes (returns empty cohorts when no events). It mentions optional parameters but does not explicitly guide when to use alternatives, though sibling tools provide context.

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

get_roadmap_driftRoadmap DriftA
Read-onlyIdempotent
Inspect

Planned vs shipped features over a window: a drift score (0-100, 100 = perfect alignment), counts (planned / shipped / on-time / slipped / unplanned / orphaned), median slip days, and the top slipped + unplanned ships. Deterministic, no LLM cost. window = week | month | quarter (default quarter); optional product_id. Read-only; returns the drift report, zeroed when nothing was planned or shipped in the window. Use it in planning reviews to check delivery against the roadmap, then open the slipped features with list_features.

ParametersJSON Schema
NameRequiredDescriptionDefault
windowNoLookback window to compare planned vs shipped over (optional; default quarter).
product_idNoProduct id, from whoami (optional; spans all the org's products when omitted).
Behavior5/5

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

Beyond annotations (readOnly, idempotent), the description adds that the tool is deterministic, has no LLM cost, returns zeroed results when nothing was planned or shipped, and is read-only. This fully discloses behavior without contradicting annotations.

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

Conciseness5/5

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

The description is a single paragraph that efficiently packs all key information: purpose, return structure, determinism, default, optional param, and usage suggestion. No wasted words.

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

Completeness5/5

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

Despite no output schema, the description thoroughly explains return values (drift score, counts, median slip days, top items) and handles the edge case of zero results. It also provides a usage context and a next step, making it complete for an agent to use correctly.

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

Parameters3/5

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

Schema coverage is 100% and already describes parameters well. The description reiterates 'window = week | month | quarter (default quarter); optional product_id' but adds no new information beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description explicitly states it computes a drift score with specific metrics (counts, median slip days, top slipped/unplanned). It clearly distinguishes from sibling tools like analyze_funnel or list_features by focusing on planned vs shipped alignment.

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

Usage Guidelines4/5

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

The description advises using it in planning reviews and suggests a follow-up action (open slipped features with list_features). It mentions deterministic nature and no LLM cost, which helps agents choose it over LLM-based alternatives, but does not explicitly state when not to use.

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

get_taskGet TaskA
Read-onlyIdempotent
Inspect

Get one task by id and return it with its full comments and assignees. Read-only. Resolve the id first with list_tasks — never guess it; pair with update_task or comment_on_task to act on what you read.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTask id, from list_tasks.
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds that the tool returns comments and assignees, which is useful behavioral context beyond the annotations. No contradictions.

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

Conciseness5/5

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

Two sentences, no fluff. Purpose and usage are front-loaded. Every word contributes meaning.

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

Completeness5/5

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

For a simple read tool with one parameter and no output schema, the description fully covers what the tool does, what it returns (comments+assignees), and how to use it in context with other tools. Complete.

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

Parameters3/5

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

Schema covers the single parameter (id) with description 'from list_tasks'. The description reinforces this resolution advice but does not add substantial new semantics beyond what the schema provides.

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

Purpose5/5

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

The description clearly states 'Get one task by id' and specifies what is returned ('full comments and assignees'). It distinguishes from siblings like list_tasks (which lists multiple) and update_task/comment_on_task (which are mutations).

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

Usage Guidelines5/5

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

Explicitly instructs to resolve the id with list_tasks first ('never guess it') and recommends pairing with update_task or comment_on_task for actions, providing clear when-to-use and when-not-to-use guidance.

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

get_weekly_signal_memoWeekly Signal MemoA
Read-onlyIdempotent
Inspect

The Weekly Product Signal Memo — the last 7 days of customer signal clustered into themes (insights grouped by feature, ranked by the revenue behind them) with verbatim quotes, week-over-week deltas (new / repeated / stronger / weaker), concluded experiments, and shipped releases. Deterministic — every count is off real rows, no fabricated quotes. Optional week (ISO 'YYYY-Www') for a past week; generate=1 rebuilds + persists the current week now. Read-only apart from that rebuild; returns the persisted memo, empty when the requested week has none. Open a weekly review with it, then drill into a theme with list_insights.

ParametersJSON Schema
NameRequiredDescriptionDefault
weekNoISO week to fetch, format 'YYYY-Www' e.g. '2026-W27' (optional; the latest persisted week when omitted).
generateNoPass '1' to rebuild and persist the current week's memo now instead of reading the stored one (optional).
Behavior5/5

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

Describes deterministic nature, read-only behavior except for generate=1, and that counts are real. Annotations (readOnlyHint, idempotentHint) align. No contradictions; the generate parameter's write is properly flagged.

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

Conciseness4/5

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

Packed with information but front-loaded with the key output. Could be slightly shorter, but every sentence adds value. Structure is clear: what it returns, how it works, parameters.

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

Completeness5/5

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

Given no output schema, the description fully explains the return format (themes, quotes, deltas, experiments, releases) and edge cases (empty when no memo, rebuild via generate, fetching past week).

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

Parameters4/5

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

Schema description coverage is 100%, so parameters are already documented. The description adds context: 'optional', 'for a past week', 'rebuilds + persists the current week now', and behavior when omitted.

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

Purpose5/5

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

The description clearly states the tool retrieves a weekly memo of customer signal clustered into themes, with specific details (quotes, deltas, experiments, releases). It distinguishes itself from sibling tool list_insights, which drills into a theme.

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

Usage Guidelines5/5

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

Explicitly states when to use: 'Open a weekly review with it, then drill into a theme with list_insights.' Implies when not to use (for drilling into themes) and provides alternative.

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

list_artifact_versionsArtifact VersionsA
Read-onlyIdempotent
Inspect

Version history of an artifact's AI reviews (F5): every review run is a version with its score, model, cost, who/what generated it, and whether it's the current one. Read-only; returns the version list, empty when the artifact has never been reviewed. Use it to see how a feature/experiment/page's review changed over time and to pick the version_id to pass to revert_to_version. Takes the same target_id/target_type you'd pass to review_artifact.

ParametersJSON Schema
NameRequiredDescriptionDefault
target_idYesId of the reviewed feature/experiment/page — the same id passed to review_artifact.
target_typeYesWhat kind of artifact target_id is: a feature (spec), an experiment (plan), or a page (doc/PRD).
Behavior4/5

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

Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description confirms read-only behavior and adds that the output is empty for unreviewed artifacts. It also notes it returns a version list with specific fields. This adds value beyond annotations, though it doesn't cover error handling or pagination.

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

Conciseness5/5

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

The description is concise at two sentences, front-loading the purpose and including usage guidance. Every sentence adds value with no redundancy.

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

Completeness4/5

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

Given the simple read-only list operation with two parameters, full schema coverage, and annotations, the description covers purpose, usage, and key behavioral aspects. It lacks explicit documentation of the return format (no output schema), but is otherwise complete.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both target_id and target_type. The description adds that these are the same as passed to review_artifact, which is helpful context but does not add detail beyond the schema. Baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool lists version history of AI reviews for an artifact. It specifies the resource (artifact versions), the action (list), and the contents (score, model, etc.). It distinguishes from siblings by mentioning its role in providing version_id for revert_to_version and noting it uses the same parameters as review_artifact.

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

Usage Guidelines4/5

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

The description explicitly says 'Use it to see how a feature/experiment/page's review changed over time and to pick the version_id to pass to revert_to_version.' This gives clear context on when to use. It implicitly suggests that for current review use review_artifact, but does not explicitly state when not to use. Still, it provides good guidance.

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

list_bookingsList BookingsA
Read-onlyIdempotent
Inspect

Upcoming confirmed bookings on the org's scheduling. Read-only; returns the bookings, empty when none are scheduled. Pass include='all' for full history.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeNoPass 'all' for history (optional).
Behavior4/5

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

Adds value beyond annotations by stating the tool is read-only (consistent with readOnlyHint) and describes output behavior: returns bookings or empty array. Also explains behavior of include parameter. No contradictions.

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

Conciseness5/5

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

Two sentences with no redundant information. Front-loaded with purpose and key traits. Every sentence earns its place.

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

Completeness5/5

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

Given a simple tool with one optional parameter and good annotations, the description covers the purpose, output behavior, and parameter usage completely. No gaps.

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

Parameters3/5

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

The description repeats what the schema already says about the include parameter ('Pass include='all' for full history'). With 100% schema coverage, the description adds no new meaning beyond the schema.

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

Purpose5/5

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

Clearly states the verb 'list' and resource 'bookings' with specificity: 'Upcoming confirmed bookings on the org's scheduling.' Distinguishes from sibling list tools by focusing on bookings. The description also mentions read-only nature and default scope.

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

Usage Guidelines4/5

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

Provides clear context: lists upcoming confirmed bookings, empty when none scheduled, and gives guidance on using include parameter for full history. However, it does not explicitly exclude when not to use or compare with alternatives.

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

list_channelsList Comms ChannelsA
Read-onlyIdempotent
Inspect

List the team Comms channels the connected member belongs to (membership-scoped). Read-only; returns the member's channels, empty when they belong to none. Call read_channel with a channel_id to read one.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds membership-scoping and behavior on empty results, which provides useful context beyond annotations. No contradiction.

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

Conciseness5/5

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

Two sentences that are concise, front-loaded with the main action, and contain no wasteful words. Every sentence earns its place.

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

Completeness4/5

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

Given no parameters and no output schema, the description adequately covers purpose, scope, and alternative tool. Could hint at return format but not necessary for this simple tool.

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

Parameters4/5

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

There are no parameters, so the description does not need to explain them. Schema description coverage is 100% (vacuous). Baseline for 0 params is 4.

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

Purpose5/5

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

The description clearly states the verb 'List' and the resource 'team Comms channels' with a specific scope 'membership-scoped'. It distinguishes from the sibling tool 'read_channel' which reads a single channel.

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

Usage Guidelines5/5

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

Explicitly says when to use this tool (to list channels) and provides an alternative ('Call read_channel with a channel_id to read one'). Also notes it is read-only and returns empty when the member belongs to none.

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

list_conversationsList Support ConversationsA
Read-onlyIdempotent
Inspect

List support-chat conversations in the inbox (open + snoozed by default; pass status='all' to include closed). Read-only; returns the matching conversations, empty when the inbox is clear. Optional product_id to scope to one product; open a full thread with get_conversation.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoPass 'all' to include closed (optional).
product_idNoProduct id to scope to, from whoami (optional; spans all products when omitted).
Behavior4/5

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

Annotations already indicate readOnly=true and idempotent=true. The description adds that it is read-only, returns matching conversations, and empty when inbox clear. This builds on annotations without contradiction.

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

Conciseness5/5

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

Two sentences with no wasted words. Front-loaded with primary action, then adds optional parameters and a sibling reference. Every sentence adds value.

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

Completeness5/5

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

With 2 optional parameters, no output schema, and clear annotations, the description is complete. It explains default behavior, parameter use, and when to use a related tool, leaving no gaps.

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

Parameters5/5

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

Schema coverage is 100% but the description adds meaning beyond schema: 'open + snoozed by default' clarifies default status behavior, and 'from whoami' for product_id shows source. This enriches parameter understanding.

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

Purpose5/5

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

The description clearly states 'List support-chat conversations in the inbox', specifying the verb (list) and resource (conversations). It distinguishes from the sibling tool 'get_conversation' which opens a full thread.

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

Usage Guidelines5/5

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

Provides explicit when-to-use: listing conversations with default status (open+snoozed) and option for 'all' to include closed. Also tells when to use an alternative: 'open a full thread with get_conversation'. Clearly scopes usage.

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

list_experimentsList ExperimentsA
Read-onlyIdempotent
Inspect

Experiments — hypothesis, metric, target, state, verdict, and the decision that came out. Read-only; returns the matching experiments, empty when none. See what's being tested and what it concluded. Optional product_id and state filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoOnly experiments in this state, e.g. 'running' (optional).
product_idNoProduct id to scope to, from whoami (optional; spans all products when omitted).
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the read-only nature is already known. The description adds that it returns empty when none, which is useful but not essential. No additional behavioral traits beyond what annotations provide, and no contradictions.

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

Conciseness4/5

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

The description is three sentences long and front-loaded with key information. It briefly lists fields, states read-only, and mentions optional filters. Could be slightly more concise by removing 'See what's being tested and what it concluded' as it's somewhat redundant, but overall efficient.

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

Completeness4/5

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

For a simple list tool with two optional parameters and no output schema, the description covers the purpose, return content, and usage context. It explains what is returned (fields like hypothesis, metric) and that the result is an empty list when no matches. No major gaps.

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

Parameters3/5

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

Schema coverage is 100%, so the description does not need to add parameter meaning. The description mentions 'Optional product_id and state filters,' which aligns with the schema's property descriptions. No new semantic information is added beyond the schema.

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

Purpose5/5

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

The description clearly states it lists experiments and specifies the fields returned (hypothesis, metric, target, state, verdict, decision). It explicitly says 'Read-only' and 'returns the matching experiments, empty when none.' This distinguishes it from sibling tools like list_features or list_insights by detailing the experiment-specific fields.

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

Usage Guidelines3/5

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

The description implies usage when wanting to see experiments and their conclusions ('See what's being tested and what it concluded'), but it does not explicitly state when to use this tool versus alternatives (e.g., get_product_brain, list_features). No exclusion criteria or alternative tools are mentioned.

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

list_featuresList FeaturesA
Read-onlyIdempotent
Inspect

The product's feature catalogue with description, status, and when each was last touched — richer than pm_meta (which is just id+name for resolution). Read-only; returns the matching features, empty when none. Optional product_id and free-text q over name+key; use a feature id from here to link a task or insight on the spine.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFree-text search over feature name + key (optional).
product_idNoProduct id to scope to, from whoami (optional; spans all products when omitted).
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds value by explicitly stating 'Read-only' and 'returns the matching features, empty when none', complementing annotations without contradiction.

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

Conciseness5/5

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

Two well-structured sentences: first sentence states purpose and key differentiator, second sentence covers behavioral traits, return conditions, and parameter usage. No wasted words, front-loaded with core purpose.

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

Completeness5/5

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

Given the tool's simplicity (2 optional params, no output schema) and rich annotations, the description provides complete context: return content, empty behavior, filtering options, and sibling comparison. No gaps remain.

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

Parameters4/5

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

Schema coverage is 100% with good descriptions for both parameters. The description adds valuable context: q is 'free-text over feature name + key' (matching schema) and product_id 'from whoami' and 'spans all products when omitted', which goes beyond the schema's 'from whoami' to clarify behavior when omitted.

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

Purpose5/5

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

The description clearly states the tool lists the product's feature catalogue with description, status, and last touched time. It explicitly distinguishes from sibling pm_meta ('richer than pm_meta which is just id+name for resolution'), providing a specific verb+resource and differentiation.

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

Usage Guidelines5/5

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

The description provides explicit when-to-use guidance: 'richer than pm_meta for resolution' and includes optional filters (product_id, q). It implies when not to use (when only id+name needed) and gives context for product_id source ('from whoami').

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

list_insightsSearch InsightsA
Read-onlyIdempotent
Inspect

Search the captured insight backlog (voice of customer) — the read twin of capture_insight. Read-only; returns the matching insights newest first, empty when nothing matches. Filters: status, kind (insight|opportunity), feature_id, account_id, product_id, and free-text q over title+body; limit default 50, max 200. Use it to survey the evidence behind a feature or account before prioritising — resolve feature_id via list_features and account_id via get_customer_360.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFree-text search over title + body (optional).
kindNo'insight' = raw signal; 'opportunity' = a prioritisable ask (optional).
limitNoMax rows to return (optional; default 50, max 200).
statusNoOnly insights in this workflow status (optional).
account_idNoOnly insights about this account; resolve the id via get_customer_360 (optional).
feature_idNoOnly insights linked to this feature; resolve the id via list_features or pm_meta (optional).
product_idNoProduct id to scope to, from whoami (optional; spans all products when omitted).
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and not destructive. Description adds ordering (newest first), empty result behavior, and limit defaults, enriching beyond annotations without contradiction.

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

Conciseness5/5

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

Single sentence front-loaded with core purpose, then enumerates filters and usage hints efficiently. No wasted words.

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

Completeness5/5

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

Covers all 7 parameters, ordering, empty result, limits, and companion tool references. No output schema exists, but description sufficiently explains what to expect.

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

Parameters4/5

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

Schema coverage is 100%, but description adds usage hints for each filter (e.g., resolve feature_id via list_features) and provides an example, adding value beyond the schema.

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

Purpose5/5

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

Description clearly states the verb 'Search' and the resource 'insight backlog', and distinguishes from sibling 'capture_insight' by calling itself the read twin. Lists specific filters and purpose, leaving no ambiguity.

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

Usage Guidelines4/5

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

Explicitly says to use it to survey evidence before prioritising, and provides guidance on resolving feature_id and account_id via companion tools. Does not explicitly state when not to use, but context is clear enough.

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

list_objectivesList OKRsA
Read-onlyIdempotent
Inspect

OKRs — objectives with their key results and live progress (0..1 between start and target), so you can prioritise toward what the team is actually trying to move. Read-only; returns the objectives, empty when none are set. Optional product_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idNoProduct id to scope to, from whoami (optional; spans all products when omitted).
Behavior4/5

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

Adds value beyond annotations: explains return format (objectives with key results and live progress 0..1) and edge case ('empty when none are set'). Annotations already declare readOnlyHint, so safety is clear; description enriches behavioral understanding.

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

Conciseness4/5

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

Concise two-sentence description that front-loads essential information (what OKRs are and what the tool returns). No unnecessary words, but the first sentence could be slightly tighter.

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

Completeness5/5

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

Given no output schema, the description sufficiently explains return value (objectives with key results and progress) and behavior for empty results. Single parameter is covered. Complete for a simple list tool.

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

Parameters3/5

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

Schema coverage is 100% with single parameter product_id described. Description mentions 'Optional product_id' but does not add new information beyond schema; baseline of 3 appropriate.

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

Purpose5/5

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

Clearly states the tool lists OKRs (objectives) with key results and progress. Distinguishes from sibling list tools by specifying the resource type (objectives) and the return value includes progress.

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

Usage Guidelines3/5

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

Implies usage for prioritization ('so you can prioritise toward what the team is actually trying to move') but does not explicitly state when not to use or compare with alternatives. The context is clear but lacks explicit usage boundaries.

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

list_pagesList PagesA
Read-onlyIdempotent
Inspect

List the in-product docs / PRDs (Pages) on the spine — titles + ids only, no content. Read-only; returns the page list, empty when none exist. Call get_page with an id to read one. Optional product_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idNoProduct id to scope to, from whoami (optional; spans all products when omitted).
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds that it's read-only and returns an empty list when none exist, which aligns with annotations. It doesn't contradict and adds marginal behavioral context beyond annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with the main purpose, no redundant information. Every word adds value.

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

Completeness5/5

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

Given the tool's simplicity (one optional parameter, no output schema, annotations covering safety), the description is complete: it explains what is returned, the empty case, and references get_page for content retrieval.

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

Parameters3/5

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

Schema coverage is 100% with one parameter product_id having a description. The description mentions 'Optional product_id' which reinforces the schema but adds no new meaning. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool lists in-product docs/PRDs (Pages) on the spine, returns only titles and ids (no content), and is read-only. It distinguishes itself from get_page by noting that get_page is used to read a single page by id.

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

Usage Guidelines4/5

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

The description provides guidance on when to use this tool vs. get_page: call get_page to read one page by id. It also states it's read-only and returns empty when none exist. However, it could be more explicit about prerequisites or alternatives among the many siblings.

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

list_releasesList ReleasesA
Read-onlyIdempotent
Inspect

The release log — version, changelog, and ship date, newest first. Read-only; answers 'what did we ship recently?' and returns an empty list when nothing has shipped. Optional product_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idNoProduct id to scope to, from whoami (optional; spans all products when omitted).
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint. The description adds that it returns an empty list when nothing has shipped, which is additional behavioral context. However, it doesn't disclose any other traits beyond annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with key information, no redundant words. Every sentence adds value.

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

Completeness5/5

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

For a simple read-only list tool with no output schema, the description adequately explains return structure (fields, order, empty case) and parameter, making it complete for agent invocation.

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

Parameters3/5

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

Schema coverage is 100% with a single optional parameter. The description simply notes it's optional, adding no meaning beyond what the schema already provides. Baseline 3.

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

Purpose4/5

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

The description clearly states it lists releases with version, changelog, and ship date in order, answering a specific question. It lacks explicit differentiation from sibling list tools but is still highly specific.

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

Usage Guidelines3/5

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

The description gives context for when to use (to see recent releases) but does not provide exclusions or alternatives among sibling tools. It implies usage but no explicit guidance.

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

list_sprintsList SprintsA
Read-onlyIdempotent
Inspect

Sprints — name, goal, state, and window, newest first. Read-only; returns the matching sprints, empty when none exist. See the delivery cadence (active + recent), and resolve a sprint_id here before scheduling a task via create_task / update_task. Optional state filter (e.g. 'active').

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoFilter by state, e.g. 'active' (optional).
Behavior4/5

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

Annotations already provide readOnlyHint, destructiveHint, idempotentHint. The description adds that it returns empty when none exist, and provides context about resolving sprint IDs for task scheduling, which goes beyond the annotations.

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

Conciseness5/5

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

The description is concise and front-loaded. Key information is in the first sentence: output fields and ordering. No unnecessary words or repetition.

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

Completeness5/5

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

For a simple read-only listing tool with one optional parameter and no output schema, the description fully explains the output, behavior, and use case. It is complete and self-contained.

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

Parameters3/5

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

Schema coverage is 100%, and the description repeats the optional state filter example. It does not add new semantic information beyond what the schema already provides.

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

Purpose5/5

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

The description clearly states the tool lists sprints with specific fields (name, goal, state, window) and ordering (newest first). It distinguishes from sibling tools that focus on analysis or task management by emphasizing its role in viewing sprint cadence and resolving sprint IDs.

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

Usage Guidelines5/5

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

Explicitly tells when to use: 'See the delivery cadence (active + recent)' and 'resolve a sprint_id here before scheduling a task'. It also mentions the optional state filter, giving clear context for its application.

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

list_tasksList TasksA
Read-onlyIdempotent
Inspect

List the org's board tasks and return the matches with their status, priority, assignees, and any linked feature/insight/sprint. Optionally narrow by status_id or list_id — resolve either via pm_meta. Read-only; returns an empty list when nothing matches. Use it to find a task id before get_task, update_task, or comment_on_task.

ParametersJSON Schema
NameRequiredDescriptionDefault
list_idNoOnly tasks on this list; resolve the id via pm_meta (optional).
status_idNoOnly tasks in this status; resolve the id via pm_meta (optional).
Behavior4/5

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

Annotations already provide readOnlyHint, destructiveHint, idempotentHint. Description adds that it returns an empty list when nothing matches.

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

Conciseness5/5

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

Three sentences, front-loaded with purpose, no redundant words.

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

Completeness5/5

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

No output schema, but description explains return fields, read-only nature, and empty list behavior. Complete for a simple list tool.

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

Parameters3/5

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

Schema coverage is 100% and descriptions already mention resolving via pm_meta. Description repeats same guidance, adding no new meaning beyond schema.

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

Purpose5/5

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

Clearly states it lists board tasks with specific fields (status, priority, assignees, linked items). Distinguishes from siblings like get_task and update_task.

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

Usage Guidelines5/5

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

Explicitly says to use it before get_task, update_task, or comment_on_task, providing clear when-to-use guidance and alternatives.

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

merge_end_usersMerge End-UsersAInspect

Merge source end-users into a target and return the merge result: all FK rows (events, insights, tasks, …) are re-pointed onto the target and the sources are tombstoned. A write; reversible for 30 days via unmerge_end_users. Get the candidate ids from get_device_candidates first — never guess which users to fold together. target_end_user_id and source_end_user_ids are required.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoWhy the merge (optional, recorded).
target_end_user_idYesUUID of the end-user to keep, from get_device_candidates.
source_end_user_idsYesUUIDs of end-users to fold into the target, from get_device_candidates.
Behavior4/5

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

Annotations are all false, so the description must provide behavioral context. It does so by stating 'A write; reversible for 30 days' and describing tombstoning, which clarifies the tool's side effects beyond the annotation defaults.

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

Conciseness5/5

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

Three sentences, each serving a purpose: what the tool does, its reversibility, and a prerequisite instruction. No unnecessary words, well-structured.

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

Completeness4/5

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

Covers key aspects: merge mechanics, prerequisite, reversibility, required parameters. No output schema, but description mentions 'return the merge result' without details. Adequate given sibling 'unmerge_end_users' completes the picture.

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

Parameters4/5

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

Schema coverage is 100%, baseline 3. Description adds value by repeating that parameters are required and linking them to 'get_device_candidates', plus explaining 'reason' as optional. Adds context beyond schema.

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

Purpose5/5

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

The description clearly states the action ('Merge source end-users into a target'), specifies the resource ('end-users'), and details the behavior (FK rows re-pointed, sources tombstoned). It also distinguishes from the sibling 'unmerge_end_users'.

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

Usage Guidelines4/5

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

Explicitly instructs to get candidate IDs from 'get_device_candidates' first ('never guess'), and notes reversibility for 30 days via 'unmerge_end_users'. Does not cover when to avoid, but ample context for proper use.

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

pm_metaPM MetadataA
Read-onlyIdempotent
Inspect

List the org's PM lists, statuses, members, and features as id+name pairs. Read-only; returns arrays for resolution only (list_features carries the richer catalogue). Call it to turn a name into an id before create_task / update_task — never guess an id.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds context: 'Read-only; returns arrays for resolution only' and reiterates the purpose. No contradictions.

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

Conciseness5/5

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

Two sentences with no waste. First sentence states purpose, second provides usage guidance. Information is front-loaded and efficient.

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

Completeness4/5

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

Given the tool is simple (no parameters, no output schema), the description covers purpose, usage, and behavior adequately. Could mention what the arrays contain beyond id+name, but sufficient for an agent.

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

Parameters4/5

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

Schema has 0 parameters, baseline 4. Description explains the tool's purpose (turning names to IDs) but doesn't describe specific parameter behavior since none exist. This is acceptable.

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

Purpose5/5

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

The description clearly states the tool lists PM lists, statuses, members, and features as id+name pairs, with a specific verb and resource. It also distinguishes from sibling tool list_features by noting it carries a richer catalogue.

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

Usage Guidelines5/5

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

Explicitly instructs to call this tool to turn a name into an id before using create_task or update_task, and warns against guessing IDs. Also references list_features as alternative for richer data.

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

read_channelRead Comms ChannelA
Read-onlyIdempotent
Inspect

Read a Comms channel's recent messages, newest included (the connected member must be a channel member). Read-only; returns the messages, empty when the channel is silent. Resolve channel_id first with list_channels — never guess it. Optional limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax messages to return (optional).
channel_idYesChannel id, from list_channels.
Behavior4/5

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

Annotations already declare readOnlyHint, destructiveHint, and idempotentHint. The description adds behavioral context: the member must be a channel member, returns messages (empty if silent), and includes newest messages. This supplements annotations without contradiction.

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

Conciseness4/5

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

Two concise sentences cover the essential information. Could be slightly more structured (e.g., separate prerequisites), but it is efficient and front-loaded with the core action.

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

Completeness4/5

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

For a simple read-only tool with no output schema, the description covers return behavior, prerequisites (membership, channel resolution), and optional limit. No significant gaps given the tool's simplicity.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description reinforces that channel_id comes from list_channels and adds a critical usage hint not to guess it, providing more value than the schema alone.

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

Purpose5/5

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

The description clearly states the verb 'Read', the resource 'Comms channel', and the scope 'recent messages, newest included'. It distinguishes itself from the sibling tool 'list_channels' by specifying that channel_id must be resolved first, preventing guessing.

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

Usage Guidelines4/5

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

Explicitly instructs to resolve channel_id with list_channels and never guess it. Also notes the optional limit. Lacks explicit alternatives or when-not-to-use scenarios, but the context is clear enough for typical use.

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

revert_to_versionRevert Artifact VersionAInspect

Restore an earlier artifact version (F5) to current and return the now-current version: the existing current version is flipped to 'reverted' (kept for the learning signal) and the chosen version becomes current again. A write — not idempotent, since re-running reverts again. version_id is the version you want to RESTORE; get it from list_artifact_versions and never guess it. Optional reason is recorded.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoWhy you're reverting (optional, recorded).
version_idYesId of the version to restore (make current), from list_artifact_versions.
Behavior5/5

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

Beyond annotations (which are all false, correctly indicating a mutating, non-idempotent, non-destructive write), the description details what happens: the existing current version is kept for the learning signal and the chosen version becomes current. It also notes that re-running reverts again, which is important for understanding side effects.

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

Conciseness5/5

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

The description is concise (two sentences with one additional warning) and front-loads the main action. Every sentence adds necessary context without redundancy.

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

Completeness4/5

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

Although there is no output schema, the description indicates the return value (the now-current version) and the state change. For a tool of this complexity, it provides enough context for an agent to understand the behavior, though the exact format of the returned version is not specified.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by explicitly stating that version_id is the version to restore (not guess) and that reason is optional and recorded. It also provides an example that illustrates usage.

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

Purpose5/5

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

The description uses specific language: 'Restore an earlier artifact version (F5) to current' and clearly explains the effect on the current version. It distinguishes this tool from its sibling 'list_artifact_versions' by referencing it as the source for version_id, and there is no other revert tool to confuse with.

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

Usage Guidelines5/5

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

Explicitly states how to obtain the version_id ('from list_artifact_versions and never guess it'), notes the tool is a write operation, not idempotent, and warns that re-running reverts again. This provides clear when-to-use and behavioral context.

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

review_artifactPRD ReviewAInspect

Agent-as-critic over a DRAFT artifact (a feature spec, experiment plan, or page): checks it against a baseline PM bar — clear problem/hypothesis, a measurable success metric, evidence cited, risks named, a rollout/experiment plan — and returns structured findings (section, severity, a CONCRETE suggested fix, and a verbatim evidence quote) plus a 0-100 score. A write: each call re-runs the review and persists it as a new version (see list_artifact_versions). Resolve target_id first — via pm_meta or list_features for a feature, list_experiments for an experiment, list_pages for a page. One small LLM call; use it before sending a draft for sign-off.

ParametersJSON Schema
NameRequiredDescriptionDefault
rubric_idNoScore against a specific rubric; omit to use the org's default rubric (or the built-in baseline).
target_idYesId of the feature/experiment/page to review — from pm_meta, list_features, list_experiments, or list_pages.
target_typeYesWhat kind of artifact target_id is: a feature (spec), an experiment (plan), or a page (doc/PRD).
Behavior5/5

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

The description clearly states that each call is a write operation that persists a new version, and notes it is a single LLM call. This adds behavioral context beyond the annotations (which have no hints), providing transparency on side effects and performance.

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

Conciseness5/5

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

The description is dense but efficiently front-loaded: it starts with the core purpose, then details criteria, output structure, side effects, and usage instructions. Every sentence earns its place with no redundancy.

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

Completeness5/5

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

The description fully covers purpose, usage, input derivation, output structure, side effects, and recommended timing. Given no output schema, it adequately describes the return format, making the tool comprehensible and actionable.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds practical value by explaining how to obtain target_id via specific sibling tools and describing the rubric_id fallback behavior, thus providing meaning beyond the schema.

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

Purpose5/5

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

The description clearly states that the tool reviews a DRAFT artifact (feature spec, experiment plan, or page) against a PM bar and returns structured findings and a score. It specifies the verb 'review' and resource 'artifact', and distinguishes from siblings by mentioning how to resolve target_id using other tools.

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

Usage Guidelines4/5

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

The description explicitly advises to use the tool before sending a draft for sign-off and explains how to resolve target_id via sibling tools (e.g., list_features). However, it does not explicitly state when not to use the tool or name direct alternatives.

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

unmerge_end_usersUndo End-User MergeAInspect

Undo a previous end-user merge: reads the merge ledger and re-points every FK row (events, insights, tasks, …) back to its original end-user, un-tombstoning the folded-in sources. Idempotent — undoing an already-reverted merge is a no-op. Use to correct a wrong identity merge (merges stay reversible for 30 days). Pass the merge event_id to undo (from the identity merge history); event_id is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
event_idYesId of the merge event to undo, from the identity merge history.
Behavior1/5

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

Description claims idempotency ('Idempotent — undoing an already-reverted merge is a no-op') but annotation idempotentHint=false, creating a direct contradiction. Per rules, score 1.

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

Conciseness5/5

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

Three concise sentences front-loaded with the core purpose. No redundant information; every sentence adds value.

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

Completeness4/5

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

Covers main behaviors (re-pointing FKs, un-tombstoning, idempotency, 30-day limit) for a 1-parameter tool with no output schema. Lacks details on authorization or side effects, but adequate overall.

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

Parameters4/5

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

Schema coverage is 100% (baseline 3). Description adds value by explaining the source and requirement of event_id: 'from the identity merge history' and 'required'.

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

Purpose5/5

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

The description clearly states the tool's function: 'Undo a previous end-user merge' with detailed mechanism. It distinguishes from sibling tool 'merge_end_users' by being its inverse.

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

Usage Guidelines4/5

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

Explicitly says 'Use to correct a wrong identity merge' and provides context about 30-day reversibility and required parameter. Does not explicitly state when not to use, but the purpose is clear.

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

update_taskUpdate TaskA
Idempotent
Inspect

Update one or more of a task's fields and return the updated task; fields you omit are left unchanged (idempotent — re-sending the same values is a no-op). Pass sprint_id: null to remove the task from its sprint. Resolve ids first — the task via get_task/list_tasks, and status/feature/insight/sprint/member ids via pm_meta and the list_* reads — never guess them. Only id is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTask id, from list_tasks or get_task.
titleNoNew title (optional; omitted fields stay unchanged).
priorityNoNew priority level, urgent highest (optional).
sprint_idNoMove into a sprint, or null to remove (optional; resolve via list_sprints).
status_idNoNew status; resolve the id via pm_meta (optional).
feature_idNoFeature id to link on the spine, from pm_meta or list_features (optional).
insight_idNoInsight id to link on the spine, from list_insights (optional).
descriptionNoNew body / details (optional).
assignee_member_idsNoMember ids to assign, from pm_meta (optional).
Behavior5/5

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

Adds context beyond annotations: describes idempotency ('re-sending the same values is a no-op'), explains that omitted fields remain unchanged, and details sprint_id: null removal. No contradiction with annotations.

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

Conciseness5/5

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

Four sentences, front-loaded with core purpose and behavior, then specific actionable instructions. No redundancy or filler.

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

Completeness4/5

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

Covers key aspects: core process, idempotency, null handling, id resolution. Lacks details on error handling or return format, but given no output schema and comprehensive description, it is sufficiently complete.

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

Parameters4/5

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

Schema coverage is 100% (baseline 3). Description adds value by explaining idempotent behavior for omitted fields and specific use of sprint_id: null, but does not elaborate on other parameters beyond the schema.

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

Purpose5/5

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

Description clearly states 'Update one or more of a task's fields and return the updated task', specifying verb (update) and resource (task). Distinguishes from siblings like create_task (creation) and get_task (reading).

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

Usage Guidelines5/5

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

Provides explicit guidance: 'Resolve ids first' via specific tools (get_task, list_tasks, pm_meta, list_*), warns 'never guess them', and clarifies that only id is required. Covers when to use and prerequisites.

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

whoamiConnected IdentityA
Read-onlyIdempotent
Inspect

Show the connected AIOProductOS identity (org, member) AND the org's products (id, name, is_primary). Read-only; returns the identity plus the product list. For a multi-product org, call this first to get the product ids, then pass one as product_id to any product-scoped tool; omit product_id to use the primary.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds that it returns identity plus product list with specific fields, and explains the interaction with product_id. This adds useful context beyond annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, then usage guidance. No wasted words.

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

Completeness5/5

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

For a zero-parameter tool with clear annotations, the description covers purpose, output, and workflow integration fully.

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

Parameters4/5

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

No parameters exist, so baseline is 4. The description does not need to add parameter info.

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

Purpose5/5

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

The description explicitly states the tool shows identity and products with specific fields, using a specific verb 'show'. It clearly distinguishes from siblings by focusing on identity and product listing, which no other sibling tool covers.

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

Usage Guidelines5/5

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

Provides explicit guidance: call this first for multi-product orgs to get product ids, then use with product-scoped tools. Also explains behavior when omitting product_id. This is clear when-to-use and how-to-use.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources