AIOProductOS MCP
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.
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.
Tool Definition Quality
Average 4.5/5 across 38 of 38 tools scored. Lowest: 3.7/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.
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.
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.
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 toolsanalyze_funnelConversion FunnelARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| steps | No | Ordered list of 2+ event names forming the funnel; omit to get the menu of available event names first. | |
| product_id | No | Product id, from whoami (optional; the org's primary product when omitted). | |
| window_days | No | Lookback window in days (optional; default 30). |
Tool Definition Quality
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.
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.
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.
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.
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.
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)ARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | No | Product id, from whoami (optional; the org's primary product when omitted). | |
| window_days | No | Lookback window in days (optional; default 90, i.e. the last quarter). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 RetentionARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| window_days | No | Lookback window in days (optional; default 90, i.e. the last quarter). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 FlowARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| start | No | Event name to anchor the flow on (optional; the most common start event when omitted — analyze_funnel with no steps lists the event names). | |
| product_id | No | Product id, from whoami (optional; the org's primary product when omitted). | |
| window_days | No | Lookback window in days (optional; default 30). |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | The verbatim feedback / insight text (the only required field). | |
| kind | No | 'insight' = raw signal; 'opportunity' = a prioritisable ask (optional). | |
| title | No | Short display title (optional). | |
| account_id | No | Account id it's about, from get_customer_360 (optional). | |
| feature_id | No | Feature id to link on the spine, from list_features or pm_meta (optional). | |
| product_id | No | Product id, from whoami (optional; the org's primary product when omitted). |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Task id, from list_tasks or get_task. | |
| body | Yes | Comment text; posted as the connected member and visible to the whole org. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Task title (the only required field). | |
| list_id | No | List to create the task on; resolve the id via pm_meta (optional; the org's first list when omitted). | |
| priority | No | Priority level, urgent highest (optional). | |
| sprint_id | No | Schedule into a sprint (optional; resolve the id via list_sprints). | |
| status_id | No | Initial status; resolve the id via pm_meta (optional). | |
| feature_id | No | Feature id to link on the spine, from pm_meta or list_features (optional). | |
| insight_id | No | Insight id to link on the spine, from list_insights (optional). | |
| description | No | Task body / details (optional). | |
| assignee_member_ids | No | Member ids to assign, from pm_meta (optional). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 MapARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | No | Product id, from whoami (optional; the org's primary product when omitted). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 ConversationARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| conversation_id | Yes | Conversation id, from list_conversations. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 360ARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The account to resolve: an account id, a user's email, a company domain (e.g. 'acme.com'), or a company name. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 CandidatesARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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 PageARead-onlyIdempotentInspect
Read one Page (doc / PRD) by id and return its full content. Read-only. Resolve the id first with list_pages — never guess it.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Page id, from list_pages. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 PlaybookARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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 SnapshotARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | No | Product id, from whoami (optional; the org's primary product when omitted). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 RetentionARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | No | Product id, from whoami (optional; the org's primary product when omitted). | |
| window_days | No | Lookback window in days (optional; default 56 = 8 weekly cohorts). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 DriftARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| window | No | Lookback window to compare planned vs shipped over (optional; default quarter). | |
| product_id | No | Product id, from whoami (optional; spans all the org's products when omitted). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 TaskARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Task id, from list_tasks. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 MemoARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| week | No | ISO week to fetch, format 'YYYY-Www' e.g. '2026-W27' (optional; the latest persisted week when omitted). | |
| generate | No | Pass '1' to rebuild and persist the current week's memo now instead of reading the stored one (optional). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 VersionsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| target_id | Yes | Id of the reviewed feature/experiment/page — the same id passed to review_artifact. | |
| target_type | Yes | What kind of artifact target_id is: a feature (spec), an experiment (plan), or a page (doc/PRD). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 BookingsARead-onlyIdempotentInspect
Upcoming confirmed bookings on the org's scheduling. Read-only; returns the bookings, empty when none are scheduled. Pass include='all' for full history.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Pass 'all' for history (optional). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 ChannelsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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 ConversationsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Pass 'all' to include closed (optional). | |
| product_id | No | Product id to scope to, from whoami (optional; spans all products when omitted). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 ExperimentsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Only experiments in this state, e.g. 'running' (optional). | |
| product_id | No | Product id to scope to, from whoami (optional; spans all products when omitted). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 FeaturesARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free-text search over feature name + key (optional). | |
| product_id | No | Product id to scope to, from whoami (optional; spans all products when omitted). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 InsightsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free-text search over title + body (optional). | |
| kind | No | 'insight' = raw signal; 'opportunity' = a prioritisable ask (optional). | |
| limit | No | Max rows to return (optional; default 50, max 200). | |
| status | No | Only insights in this workflow status (optional). | |
| account_id | No | Only insights about this account; resolve the id via get_customer_360 (optional). | |
| feature_id | No | Only insights linked to this feature; resolve the id via list_features or pm_meta (optional). | |
| product_id | No | Product id to scope to, from whoami (optional; spans all products when omitted). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 OKRsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | No | Product id to scope to, from whoami (optional; spans all products when omitted). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 PagesARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | No | Product id to scope to, from whoami (optional; spans all products when omitted). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 ReleasesARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | No | Product id to scope to, from whoami (optional; spans all products when omitted). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 SprintsARead-onlyIdempotentInspect
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').
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Filter by state, e.g. 'active' (optional). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 TasksARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | No | Only tasks on this list; resolve the id via pm_meta (optional). | |
| status_id | No | Only tasks in this status; resolve the id via pm_meta (optional). |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Why the merge (optional, recorded). | |
| target_end_user_id | Yes | UUID of the end-user to keep, from get_device_candidates. | |
| source_end_user_ids | Yes | UUIDs of end-users to fold into the target, from get_device_candidates. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 MetadataARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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 ChannelARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max messages to return (optional). | |
| channel_id | Yes | Channel id, from list_channels. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Why you're reverting (optional, recorded). | |
| version_id | Yes | Id of the version to restore (make current), from list_artifact_versions. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| rubric_id | No | Score against a specific rubric; omit to use the org's default rubric (or the built-in baseline). | |
| target_id | Yes | Id of the feature/experiment/page to review — from pm_meta, list_features, list_experiments, or list_pages. | |
| target_type | Yes | What kind of artifact target_id is: a feature (spec), an experiment (plan), or a page (doc/PRD). |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| event_id | Yes | Id of the merge event to undo, from the identity merge history. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 TaskAIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Task id, from list_tasks or get_task. | |
| title | No | New title (optional; omitted fields stay unchanged). | |
| priority | No | New priority level, urgent highest (optional). | |
| sprint_id | No | Move into a sprint, or null to remove (optional; resolve via list_sprints). | |
| status_id | No | New status; resolve the id via pm_meta (optional). | |
| feature_id | No | Feature id to link on the spine, from pm_meta or list_features (optional). | |
| insight_id | No | Insight id to link on the spine, from list_insights (optional). | |
| description | No | New body / details (optional). | |
| assignee_member_ids | No | Member ids to assign, from pm_meta (optional). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 IdentityARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!