Pineprompt
Server Details
Track your brand's visibility in ChatGPT, Gemini, Perplexity, Claude, Google AI Overviews and more.
- Status
- Healthy
- Uptime
- 44.0% over 20 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 65 tools
Tools mostly target distinct resources and actions, with CRUD, attach/detach, and analytics clearly separated. Near-neighbors such as source-type vs URL-type analytics and per-source vs per-source-URL time series require careful reading, but descriptions generally disambiguate them.
All 65 tools follow a consistent kebab-case verb-resource pattern (create-, get-, list-, update-, delete-, attach-, detach-) with a uniform -tool suffix. There is no mixing of casing or verb styles.
65 tools is an extreme surface for an MCP server, far beyond the typical 3-15 range and past the rubric's 50+ threshold. Even though many tools are distinct, the count creates a large namespace that increases navigation and misselection risk.
Core domains have CRUD coverage and analytics are unusually comprehensive. Minor gaps exist, such as no single-brand get or brand delete, no list-invitations, and no get-user, but agents can work around these via list endpoints.
Available Tools
65 toolsattach-brand-to-segment-toolAttach Brand To Segment ToolAIdempotentInspect
Attach a brand to a segment. Idempotent: attaching a brand that is already attached succeeds without change. Both the brand and the segment must belong to the same project. Membership is what makes a brand a competitor, so attaching a discovered brand starts tracking it and attaching an ignored brand revives it, clearing its ignored mark. The own brand is implicit in every segment, so attaching it changes nothing.
| Name | Required | Description | Default |
|---|---|---|---|
| brand_id | Yes | The numeric id of the brand to attach. | |
| segment_id | Yes | The numeric id of the segment to attach the brand to. Must belong to the same project as the brand. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true, destructiveHint=false and readOnlyHint=false, and the description reinforces idempotency while adding substantive behavioral context not present in structured fields: the same-project invariant and the non-obvious side effect that attaching an ignored brand clears its ignored mark. It still omits error behavior on cross-project input and any description of the response, which is where it loses a point.
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?
Front-loaded with the core action, then layered with constraints and state-transition semantics in four short sentences with no filler. The idempotency sentence partially repeats the idempotentHint annotation, a minor redundancy rather than a flaw.
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 two-parameter mutation with full schema coverage and rich annotations, this covers the invariants and the meaningful side effect an agent needs. Missing only the failure mode for mismatched projects and what the call returns, neither of which is fatal given there is no output schema to explain.
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 both parameters are already documented, including the same-project constraint on segment_id. The description's 'own brand is implicit' remark adds a little semantic color about brand_id, but the baseline 3 is appropriate since the schema carries the weight.
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?
States a specific verb+resource pair ('Attach a brand to a segment') that is immediately distinguishable from its nearest sibling detach-brand-from-segment-tool and from attach-tag-to-prompt-tool. An agent knows exactly what operation this performs without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives real context on the conditions and consequences of attachment (discovered brands start being tracked, ignored brands are revived, the own brand is a no-op), which steers usage decisions. It never names an alternative tool or states an explicit when-not case, however, so it falls short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
attach-tag-to-prompt-toolAttach Tag To Prompt ToolAIdempotentInspect
Attach a tag to a prompt. Idempotent: attaching a tag that is already attached succeeds without change. Both the prompt and the tag must belong to the same project.
| Name | Required | Description | Default |
|---|---|---|---|
| tag_id | Yes | The numeric id of the tag to attach. Must belong to the same project as the prompt. | |
| prompt_id | Yes | The numeric id of the prompt to tag. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description adds useful context beyond these hints: it explains what idempotency means here ('succeeds without change') and imposes a cross-entity constraint that both prompt and tag must share a project, which is not fully conveyed by the annotations alone.
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 short sentences, front-loaded with the core action. Each sentence adds a distinct piece of information (purpose, idempotency behavior, project constraint) without 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?
For a simple two-parameter attach operation with no output schema and annotations covering the safety profile, the description covers purpose, idempotency, and the key same-project prerequisite. It could optionally mention failure behavior when project ownership does not match, but nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the input schema. The description reinforces the cross-parameter requirement that prompt and tag share a project, but this duplicates what the tag_id schema description already states, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Attach a tag to a prompt.' The operation is unambiguous and clearly distinguishable from the sibling 'detach-tag-from-prompt-tool' by its verb, and from tag-management siblings like 'create-tag-tool'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a prerequisite ('Both the prompt and the tag must belong to the same project') and notes idempotent behavior, which implies it is safe to call even if already attached. However, it does not explicitly name or compare against alternatives such as detach-tag-from-prompt-tool or explain when to prefer other tag operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create-brand-toolCreate Brand ToolAInspect
Create a brand in a project, ahead of Pineprompt discovering it from an AI response. Segment membership is what makes a brand a competitor, so pass segment_ids to start tracking it right away; without them the brand starts out discovered. When aliases are omitted, the brand is seeded with its display name. Display names are unique per project, case-insensitive, so a name that collides with an existing brand's display name or alias returns an error. To designate a brand as the project's own brand, pass its id as brand_id on the update-project tool instead.
| Name | Required | Description | Default |
|---|---|---|---|
| aliases | No | The names Pineprompt matches against when it attributes a mention to the brand. Aliases are stored as sent and compared while ignoring casing and punctuation. On update the list replaces the current one; on create it defaults to the display name. | |
| domains | No | The domains Pineprompt matches against when it attributes a citation to the brand. Full URLs are accepted and reduced to bare lowercase hosts. On update the list replaces the current one. | |
| project_id | Yes | The numeric id of the project the brand belongs to. | |
| segment_ids | No | The numeric ids of the project segments the brand should join. Membership makes the brand a competitor; omit the list to create the brand as discovered. | |
| display_name | Yes | The name the brand is shown under (2 to 255 characters). Display names are unique per project, case-insensitive, and may not collide with an alias of another brand. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the generic mutation profile (readOnly=false, idempotent=false, destructive=false). The description adds substantive traits: display names are unique per project case-insensitively, and a collision with an existing name or alias returns an error. It also explains that segment membership is what makes a brand a competitor, which is behavior the annotations cannot convey.
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?
Front-loaded with the core action, then conditions and error behavior. It is dense but each clause carries distinct information (defaults, uniqueness, alternative route). Slightly long, but no sentence is 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?
For a 5-param, no-output-schema mutation tool, the description covers defaults, uniqueness/error behavior, and the alternative path for designating the project's own brand. With the schema fully documenting each parameter, an agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description goes beyond the schema by explaining the semantic consequence of `segment_ids` (membership makes a brand a competitor) and the cross-tool role of a brand id on update-project, which is not derivable from this tool's 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?
States a specific verb and resource ('Create a brand in a project') and distinguishes the outcome from the automatic discovery path ('ahead of Pineprompt discovering it from an AI response'). An agent can tell this apart from update-brand-tool and attach-brand-to-segment-tool without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit conditional guidance: pass `segment_ids` to start tracking as a competitor, omit them to create as discovered, and omit aliases to seed with the display name. It also routes the own-brand case to a named alternative ('pass its id as `brand_id` on the update-project tool instead'), which is exactly the when-not/alternative guidance the dimension rewards.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create-invitation-toolCreate Invitation ToolAInspect
Invite a person to join an organization by email. This sends an invitation email to the given address, outside Pineprompt. Requires admin or owner rights in the organization. The recipient may accept it within 14 days. Allowed roles are admin and member; owner cannot be invited. Pending invitations count toward the organization's plan seat quota.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | The role to grant the invited user. Allowed values: admin, member. Owner cannot be invited. | |
| Yes | The email address of the user to invite (max 254 characters). | ||
| organization_id | Yes | The numeric id of the organization to invite the user to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the generic mutation profile (readOnly=false, destructive=false, idempotent=false, openWorld=true); the description adds real behavior: an email is actually sent to an address outside the platform, acceptance expires after 14 days, owner cannot be invited, and pending invitations consume plan seat quota. These consequences (external side effect, time-bound state, quota impact) are not derivable from annotations or schema.
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 short sentences, zero filler, front-loaded with the action and then the constraints in decreasing order of importance (permissions, expiry, role limits, quota). Every sentence carries a distinct constraint.
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 3-required-param mutation with no output schema, the description covers permissions, external side effects, expiry, allowed roles, and quota impact — enough to call it correctly. It is silent only on edge cases such as what happens when the address already has a pending invitation, which is a minor gap given idempotentHint=false is already declared annotation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters including the role enum constraint, and the description's role rule duplicates it. The description adds no syntax, format, or ID discovery guidance beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Invite a person to join an organization by email" gives a specific verb (invite), a specific resource (organization membership), and the mechanism (email), which cleanly separates it from the sibling delete-invitation-tool and from the create-*-tool family. An agent can identify the operation without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the precondition (admin or owner rights in the organization) and the admission rule (allowed roles admin/member, owner cannot be invited), so an agent knows when the call will succeed. It does not name an alternative or say when not to use it (e.g., how to revoke — presumably delete-invitation-tool), so it stops short of routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create-monitor-toolCreate Monitor ToolAInspect
Active prompts are sent daily to third-party AI search engines (for example ChatGPT, Gemini and Perplexity) on Pineprompt's schedule, which uses plan quota. Create a new monitor for a project. Each monitor runs prompts against one or more AI platforms in the given country and language. Subject to the organization's plan quota.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | A human-readable name for the monitor (max 120 characters). | |
| country | Yes | ISO 3166-1 alpha-2 country code (2 letters, e.g. "US", "NL"). Must be supported by all selected platforms. | |
| language | Yes | Language tag (e.g. "en", "nl"), max 10 characters. | |
| is_active | Yes | Whether the monitor should run on schedule. Pass false for an inactive/paused monitor. | |
| platforms | Yes | AI platforms to run prompts against. Allowed: chatgpt, perplexity, gemini, grok, copilot, claude, google_ai_mode, google_ai_overview | |
| project_id | Yes | The numeric id of the project the monitor belongs to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly=false, destructive=false, idempotent=false, and openWorld=true, but the description adds valuable non-obvious context: active monitors dispatch prompts daily on Pineprompt's schedule and consume plan quota. That resource-consumption side effect is exactly the kind of behavior an agent cannot infer from annotations. Auth requirements and response behavior are still unstated.
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 core purpose ('Create a new monitor for a project') is buried in the second sentence rather than front-loaded, and the quota point is made twice ('uses plan quota' and 'Subject to the organization's plan quota'). Three sentences with a redundant clause is serviceable but not tight.
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 six-parameter create tool with full schema coverage and no output schema, the description supplies the resource definition and the quota/scheduling implications an agent needs. Only the return value and permission requirements are unaddressed, which are minor gaps here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters thoroughly (country code format, platform allow-list, name length, is_active semantics). The description only loosely restates country/language/platforms without adding format or constraint detail, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Create a new monitor for a project') and explains what a monitor is: it runs prompts against one or more AI platforms in a given country and language. This differentiates it functionally from create-prompt-tool and other create siblings, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied (create a monitor when you need to run prompts against AI platforms on a schedule) but there is no explicit when-to-use, when-not-to-use, or comparison to alternatives like update-monitor-tool or get-monitor-tool. The quota note hints at a cost constraint but does not guide tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create-organization-toolCreate Organization ToolAInspect
Create a new organization with the authenticated user as the owner. The returned organization id may be used as organization_id in subsequent tool calls.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | A human-readable name for the organization (max 80 characters). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false write, destructiveHint=false, idempotentHint=false, openWorldHint=false), lowering the bar. The description adds genuine value beyond them by disclosing the ownership assignment and that an organization id is returned for chaining. It says nothing about failure modes such as duplicate names or permission requirements, so it stays at 3.
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 short sentences, front-loaded with the core action and immediately followed by the useful output-chaining note. No filler, no repetition of schema contents.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter create tool with annotations covering the safety profile and no output schema, the description covers purpose, ownership side effect, and how to consume the returned id. Only minor gaps remain, such as duplicate-name handling or required scopes, so it is nearly 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% for the single 'name' parameter, including the max-80-characters constraint, so the schema fully documents it. The description adds no parameter-level detail (e.g., uniqueness or accepted characters) beyond what the schema already states, making the baseline 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource ('Create a new organization') and adds the ownership side effect ('authenticated user as the owner'). The resource name cleanly distinguishes it from create-project-tool, create-brand-tool, and the get/list/update/delete-organization siblings. It stops short of explicitly contrasting with any sibling, so it lands at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use statement, nor any named alternative. Usage is only implied by the verb 'create' and by the note that the returned id can be reused in later calls. Adequate for such a self-evident operation, but it provides no real routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create-project-toolCreate Project ToolAInspect
Create a new project in the given organization. Subject to the organization's plan quota.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | A human-readable name for the project (max 120 characters). | |
| organization_id | Yes | The numeric id of the organization the project belongs to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=false, idempotent=false, and openWorld=false. The description adds a useful plan-quota failure condition, but does not mention required permissions, success behavior, or whether the created project is returned.
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 short sentences, front-loaded with the action and scope; no filler. The quota caveat follows naturally without obscuring the main instruction.
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 full schema coverage and annotations covering the safety profile, the description supplies the core action and one important constraint. It omits return value and auth details, but for a simple create operation these gaps are minor.
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 required parameters including the 120-character limit on name and the numeric type of organization_id. The description adds no additional parameter detail beyond mapping 'given organization' to organization_id, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Create'), resource ('project'), and scope ('in the given organization'), which distinguishes it from update-project, delete-project, list-projects, and get-project. The added quota constraint further clarifies the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no explicit when-to-use guidance, prerequisites, or alternatives. The quota note is a constraint rather than usage direction, leaving the agent to infer that this is the tool for creating a project.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create-prompt-toolCreate Prompt ToolAInspect
Active prompts are sent daily to third-party AI search engines (for example ChatGPT, Gemini and Perplexity) on Pineprompt's schedule, which uses plan quota. Create a new prompt for a monitor. The prompt will run against the monitor's configured AI platforms on schedule when is_active is true. Subject to the organization's plan quota.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | The prompt text to run against the monitor's AI platforms (max 2000 characters). | |
| is_active | Yes | Whether the prompt should run on schedule. Pass false for an inactive/paused prompt. | |
| monitor_id | Yes | The numeric id of the monitor the prompt belongs to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint false, openWorldHint true), but the description adds real context they cannot convey: quota is consumed by runs, active prompts are dispatched daily to third-party engines like ChatGPT/Gemini/Perplexity, and inactive prompts do not run. It does not cover duplicate-prompt behavior or what is returned on success.
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?
Short and front-loaded enough to be usable, but the plan-quota constraint is stated twice ('uses plan quota' / 'Subject to the organization's plan quota'), and the opening sentence about active prompts is slightly out of order relative to the actual action being described.
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 create tool with no output schema, the description covers the side effects (scheduling, quota, third-party dispatch) that the schema and annotations do not. It stops short of indicating the created prompt's identifier or error conditions, but nothing critical for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented in the schema with types and constraints (max 2000 characters, numeric monitor id). The description only echoes is_active semantics ('when is_active is true'), so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
'Create a new prompt for a monitor' gives a specific verb and resource, and the surrounding text ties the object to a monitor, plan quota, and the monitor's configured AI platforms. It is clear what the tool does, though it does not explicitly contrast itself with update-prompt-tool or any sibling.
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 says when the created prompt will actually fire (is_active true, on the monitor's schedule), which implies when to use it. However, there is no explicit guidance on when to reach for this versus update-prompt-tool or how it relates to the monitor lifecycle, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create-segment-toolCreate Segment ToolAInspect
Create a new segment for a project. Segment names are unique per project, case-insensitive, so sending a duplicate (in any casing) returns an error.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The segment label (max 64 characters). Names are unique per project, case-insensitive, so "Direct Competitors" and "direct competitors" collide. | |
| project_id | Yes | The numeric id of the project the segment belongs to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as a non-read-only, non-destructive, non-idempotent, closed-world write. The description adds a real behavioral fact beyond them: duplicate names in any casing cause an error, which tells the agent the call can fail on a semantic constraint. It omits permissions/auth requirements and the success response shape.
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 tight sentences with the primary action front-loaded and the failure condition immediately after; no filler and nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter create tool whose annotations carry the safety profile and whose schema fully documents inputs, the description covers purpose and the key failure mode. With no output schema it could say what a successful call returns, which is the only notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented with types and the 64-character limit. The description restates the case-insensitive uniqueness rule that the schema's name description already states, adding no syntax or format detail 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?
States a specific verb+resource+scope ('Create a new segment for a project'), which cleanly separates it from update-segment-tool, delete-segment-tool, and the other create-*-tool siblings by resource. It does not name any alternative, but the intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the create verb and the uniqueness rule, but there is no explicit when-to-use/when-not guidance and no mention of prerequisites (e.g., that project_id must reference an existing project) or of update-segment-tool as the alternative for modifying an existing segment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create-tag-toolCreate Tag ToolAInspect
Create a new tag for a project. Requires a name (unique per project, case-insensitive, so sending a duplicate in any casing returns an error) and a color from the preset palette.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The tag label (max 64 characters). Names are unique per project, case-insensitive, so "Branded" and "branded" collide. | |
| color | Yes | The tag color. Must be one of: gray, red, orange, amber, green, teal, blue, indigo, violet, pink. | |
| project_id | Yes | The numeric id of the project the tag belongs to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false), and the description adds real behavioral detail beyond them: the case-insensitive uniqueness constraint and the fact that a duplicate in any casing returns an error, which explains why the operation is not idempotent. It does not state permissions or what the call returns.
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 tight sentences with the core verb front-loaded and constraints packed into a single parenthetical. Slightly redundant with the schema descriptions, which keeps it off a 5.
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 3-param creation tool with full schema coverage and annotations carrying the safety profile, the description covers the essentials. It omits what the call returns (the created tag or its id) and any precondition that the project must already exist, which is a minor gap given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3 — the description's parenthetical about the name being unique per project and the color coming from a preset palette largely restates what the schema already documents for those two properties. No added syntax, format, or edge-case semantics.
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?
StartsWith a specific verb+resource: "Create a new tag for a project." The verb alone separates it from update-tag-tool, delete-tag-tool, and get-tag-tool siblings, and the scoping to a project is stated explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to choose this over alternatives — nothing about checking whether a tag already exists via list-tags-tool, or falling back to update-tag-tool rather than re-creating. The duplicate-error note is a constraint, not routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete-invitation-toolDelete Invitation ToolADestructiveIdempotentInspect
Cancel a pending invitation.
| Name | Required | Description | Default |
|---|---|---|---|
| invitation_id | Yes | The numeric id of the invitation to cancel. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose the safety profile (destructiveHint=true, idempotentHint=true, readOnlyHint=false), so the description need not repeat it. It adds the qualifying state 'pending', but says nothing about whether accepted invitations fail or are refused, whether the cancel is soft or permanent, or what permissions are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the action and the eligible state, and zero filler. Nothing could be removed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter delete tool whose annotations carry the destructive/idempotent profile, this is minimally adequate. It omits the failure mode for already-accepted invitations and any hint of the result, but with no output schema and full param coverage the gap is modest.
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 is only one parameter and schema description coverage is 100%, so the schema already documents invitation_id fully. The description adds no format, range, or lookup guidance beyond that, which is the baseline 3 case.
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 gives a specific verb (cancel) and resource (pending invitation), so an agent immediately knows this removes an invitation rather than creating or updating one. It does not explicitly name a sibling such as create-invitation-tool, so it stops short of full 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?
'Pending' implies the eligible state for cancellation, which is a meaningful usage constraint the agent can infer. However, there is no explicit when-to-use guidance and no mention of alternatives or what to do for non-pending invitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete-monitor-toolDelete Monitor ToolADestructiveIdempotentInspect
Delete a monitor. The monitor stops running immediately. The monitor and its historical responses are soft-deleted, retained for 30 days, and then permanently removed.
| Name | Required | Description | Default |
|---|---|---|---|
| monitor_id | Yes | The numeric id of the monitor to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, but the description goes well beyond them: it discloses that running stops immediately, that deletion is soft, that data is retained for 30 days, and only then permanently removed. This is exactly the recovery/retention context an agent needs before a destructive call.
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 the action, then the immediate behavioral effect, then the retention lifecycle. Every sentence adds a distinct fact with no 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?
The tool is simple (one required param, no output schema) and the annotations cover the safety profile. The description supplies the one thing needed and missing elsewhere: the soft-delete lifecycle and 30-day recovery window.
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% for the single monitor_id parameter, so the schema carries the semantics. The description adds nothing about the parameter, which is the expected baseline when coverage is complete.
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?
States a specific verb and resource ('Delete a monitor') in the first two words, distinguishing it cleanly from update-monitor-tool and the other delete-*-tool siblings. An agent can identify the operation without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the delete verb and the destructive consequence, but the description never states when to reach for this tool versus alternatives like update-monitor-tool or list-monitors-tool, nor any prerequisites. Minimum viable guidance with a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete-organization-toolDelete Organization ToolADestructiveIdempotentInspect
Delete an organization. Its subscription is canceled immediately. The organization and everything in it, including projects, monitors, and historical data, is soft-deleted, retained for 30 days, and then permanently removed.
| Name | Required | Description | Default |
|---|---|---|---|
| organization_id | Yes | The numeric id of the organization to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and idempotentHint=true, but the description adds substantial context beyond them: the subscription is canceled immediately (not at end of billing period), the deletion cascades to projects, monitors, and historical data, and there is a 30-day recovery window before permanent removal. This is exactly the blast-radius detail an agent needs before invoking a destructive tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action, followed by immediate and delayed consequences in ascending order of severity. No filler, every sentence carries new information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter destructive tool with no output schema, the description covers the action, the cascade scope, the retention window, and the permanence endpoint. Nothing an agent needs to decide whether to call it is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (organization_id) and schema description coverage is 100%, so the schema already fully documents it. The description adds nothing about the parameter itself, which is acceptable at this coverage level.
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?
States a specific verb and resource ('Delete an organization') and the scope of impact makes it unmistakably distinct from delete-project-tool, delete-monitor-tool, and the other delete siblings. No ambiguity about what entity is targeted or how far the deletion reaches.
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 conveys the gravity of the operation (immediate subscription cancellation, 30-day soft delete, permanent removal), which implicitly signals this is a last-resort action, but it never states when to use it versus update-organization-tool or any explicit preconditions/exclusions. Usage is implied by consequence rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete-project-toolDelete Project ToolADestructiveIdempotentInspect
Delete a project. Its monitors stop running immediately. The project and everything beneath it, including its historical data, is soft-deleted, retained for 30 days, and then permanently removed.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | The numeric id of the project to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true. The description adds substantial context beyond that: monitors stop immediately, the project and its historical data are soft-deleted, retained for 30 days, then permanently removed. This clearly discloses what is destroyed and the data lifecycle.
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 zero waste: the command is front-loaded, followed by immediate consequence, then retention and permanent deletion details. 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?
The tool is simple with one fully documented parameter, annotations already cover the safety profile, and no output schema is needed. The description supplies the key behavioral details an agent needs, including cascading effects and retention period.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single project_id parameter is fully documented in the schema. The description adds no additional meaning about the parameter, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Delete a project" states a specific verb and resource, and the third sentence clarifies scope by saying the project and everything beneath it is affected. This distinguishes it from delete tools for sub-resources like monitors or tags, even without naming siblings.
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 explains consequences but provides no explicit when-to-use guidance, prerequisites, or alternatives such as update-project-tool or list-projects-tool. Usage is only implied by the verb 'Delete'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete-prompt-toolDelete Prompt ToolADestructiveIdempotentInspect
Delete a prompt. The prompt stops running immediately. The prompt and its historical responses are soft-deleted, retained for 30 days, and then permanently removed.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt_id | Yes | The numeric id of the prompt to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, but the description goes well beyond them by disclosing the exact lifecycle: immediate stop of execution, soft-delete of the prompt AND its historical responses, 30-day retention, then permanent removal. That is precisely the 'what gets destroyed and how recoverable it is' context an agent needs before an irreversible action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action, then the immediate effect, then the retention consequence. No filler and nothing repeated from the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter mutation tool with no output schema and annotations already covering safety, the description supplies the missing behavioral layer (soft-delete window and permanent removal). Nothing an agent needs to call it correctly is absent.
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 is a single parameter with 100% schema description coverage ('The numeric id of the prompt to delete'), so the schema fully documents it. The description adds no syntax, format, or lookup guidance beyond the schema, making the baseline 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?
States a specific verb and resource ('Delete a prompt') and immediately scopes the effect: the prompt stops running, and both the prompt and its responses are removed. This cleanly separates it from the many delete-*-tool siblings and from update-prompt-tool or get-prompt-tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intent of the tool makes its usage implied and unambiguous, and the description clarifies the consequence of calling it, but it never states when to prefer deletion over alternatives (e.g., update-prompt-tool to pause/disable) or any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete-segment-toolDelete Segment ToolADestructiveIdempotentInspect
Delete a segment. Attached brands are untouched but the segment stops appearing on them; a brand whose only segment this was derives back to discovered. The segment is soft-deleted, retained for 30 days, and then permanently removed. A project must keep at least one segment, so deleting the last one returns an error.
| Name | Required | Description | Default |
|---|---|---|---|
| segment_id | Yes | The numeric id of the segment to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (destructiveHint, idempotentHint), disclosing the soft-delete with 30-day retention before permanent removal, the side effect on attached brands at both the brand level and the project level, and the last-segment error. This is exactly the cascading-consequence context an agent needs before a destructive call.
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?
Front-loads the action, then layers consequences, retention policy, and the failure condition in four dense sentences with no filler. Every sentence carries information the agent cannot get from the schema or annotations.
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 single-parameter destructive tool with no output schema, the description covers action, side effects, reversibility window, and error behavior. Nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and segment_id is already documented as "The numeric id of the segment to delete." The description adds no further meaning about the parameter, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Delete a segment") that is immediately distinguishable from siblings like update-segment-tool, delete-project-tool, and detach-brand-from-segment-tool. An agent knows exactly what this tool operates on without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear when-not condition ("A project must keep at least one segment, so deleting the last one returns an error"), which tells the agent when the call will fail. It does not name an alternative tool for the cases where deletion is inappropriate, keeping it short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete-tag-toolDelete Tag ToolADestructiveIdempotentInspect
Delete a tag. Attached prompts are untouched but the tag stops appearing on them. The tag is soft-deleted, retained for 30 days, and then permanently removed.
| Name | Required | Description | Default |
|---|---|---|---|
| tag_id | Yes | The numeric id of the tag to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=false, so the safety profile is covered. The description adds genuinely new behavioral context beyond that: the operation is a soft delete with 30-day retention before permanent removal, and attached prompts are unaffected. It still omits auth/permission requirements and whether restoration is possible during the retention window.
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 short sentences, front-loaded with the action, then the side effect on prompts, then the lifecycle. No filler 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 one-parameter destructive tool with rich annotations and no output schema, the description covers the key agent-facing concerns: what is removed, what is not, and the retention period. Minor gaps remain around permissions and failure behavior for an already-deleted id, though idempotentHint partially covers the latter.
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% for the single parameter (tag_id, documented as the numeric id), so the schema already does the work. The description adds no format or semantic detail beyond it, making the baseline 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?
States a specific verb and resource ("Delete a tag") and immediately clarifies the effect on attached prompts, which separates it from the sibling detach-tag-from-prompt-tool. An agent can distinguish this from update-tag-tool and get-tag-tool without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the name and the description of the delete lifecycle, but there is no explicit when-to-use vs. when-not guidance and no reference to alternatives such as detach-tag-from-prompt-tool (for removing a tag from a prompt only) or update-tag-tool. Minimum viable but with clear gaps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete-user-toolDelete User ToolADestructiveIdempotentInspect
Remove a user from an organization. The organization owner cannot be removed.
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | The numeric id of the user to remove. | |
| organization_id | Yes | The numeric id of the organization to remove the user from. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already supply destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so safety is covered. The description adds real value beyond them by disclosing that this removes a membership from a specific organization (not a global account) and that the organization owner is protected from removal.
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 tight sentences, no filler, with the action and its scope front-loaded and the exception rule second. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter deletion with annotations covering the safety profile and no output schema needed, the description is nearly sufficient. It leaves unstated what happens to data or memberships associated with the user and whether deleting a non-member errors.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both required parameters are fully documented in the schema. The description adds no parameter syntax or constraints beyond what the schema already states, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Remove a user') plus the scope ('from an organization'), which separates it cleanly from delete-organization-tool and delete-invitation-tool. It stops short of explicitly naming a sibling, but the operation is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to reach for this tool versus update-user-tool or the other delete-* siblings, and offers no exclusions or preconditions for calling it. The owner rule is a constraint on the operation, not guidance on when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detach-brand-from-segment-toolDetach Brand From Segment ToolADestructiveIdempotentInspect
Detach a brand from a segment. Idempotent: detaching a brand that is not attached succeeds without change. Both the brand and the segment must belong to the same project. Membership is what makes a brand a competitor, so detaching one from its only segment stops tracking it and it derives back to discovered, returning to the discover pool with its mention history intact. The own brand is implicit in every segment and cannot be detached.
| Name | Required | Description | Default |
|---|---|---|---|
| brand_id | Yes | The numeric id of the brand. | |
| segment_id | Yes | The numeric id of the segment to detach. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the annotations: it explains the semantic side effect (membership is what makes a brand a competitor, so detaching removes tracking and reverts the brand to `discovered` with mention history intact). It also states idempotency semantics and the own-brand restriction, none of which the annotations convey.
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 tightly packed sentences, front-loaded with the action, then idempotency, constraint, and side effect in order of importance. No filler; every sentence contributes decision-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation with no output schema, the description supplies the side effects, idempotency, and validity constraints an agent needs. Nothing required to invoke it correctly appears to be missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are documented in the schema. The description adds relational constraints (same-project requirement) but no syntax or format detail beyond the schema; 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?
States a specific verb+resource ('Detach a brand from a segment') that directly and unambiguously distinguishes it from the sibling attach-brand-to-segment-tool. An agent can select it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides concrete preconditions ('both the brand and the segment must belong to the same project') and a hard exclusion ('the own brand is implicit in every segment and cannot be detached'). It does not explicitly route to the attach counterpart, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detach-tag-from-prompt-toolDetach Tag From Prompt ToolADestructiveIdempotentInspect
Detach a tag from a prompt. Idempotent: detaching a tag that is not attached succeeds without change. Both the prompt and the tag must belong to the same project.
| Name | Required | Description | Default |
|---|---|---|---|
| tag_id | Yes | The numeric id of the tag to detach. | |
| prompt_id | Yes | The numeric id of the prompt. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true and destructiveHint=true, yet the description earns credit by elaborating what idempotency means here (detaching an unattached tag succeeds without error) and by adding a precondition not present in structured fields — the same-project scoping requirement. It does not spell out the error surface for cross-project attempts, which keeps it short of a 5.
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 short sentences, front-loaded with the action, then the idempotency guarantee, then the precondition. No filler 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 two-parameter mutation with no output schema and annotations covering the safety profile, the description supplies the operation, the idempotency semantics, and the project constraint. It is nearly complete; only failure behavior for cross-project inputs is left implicit.
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 both prompt_id and tag_id individually documented as numeric ids. The description adds no parameter-level detail beyond what the schema already provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Detach a tag from a prompt") that is inherently distinguishable from its inverse sibling attach-tag-to-prompt-tool. An agent knows exactly what operation this performs without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an implicit precondition (both prompt and tag must belong to the same project), which helps the agent decide when the call is valid. However, it never explicitly names the alternative tool (attach-tag-to-prompt-tool) or states when-not to use this. Usage is implied rather than routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-brand-mention-toolGet Brand Mention ToolARead-onlyIdempotentInspect
Fetch a single brand mention by its numeric id. If you would like to embed the brand it points to, or a deeper parent chain, you may pass include.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Optional comma-separated related resources to include in the response. Whitelisted: `response`, `response.prompt`, `response.monitor`, `response.project`, `brand`, `brand.project`, `brand.project.organization`. | |
| brand_mention_id | Yes | The numeric id of the brand mention to fetch. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds only the notion that `include` can pull in parent chains; it says nothing about what happens when the id is not found or how large the returned payload can become.
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 tightly scoped sentences with the core action front-loaded and no filler. The second sentence is slightly wordy ("If you would like to ... you may pass") but still earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with full schema coverage and annotations covering the safety profile, the description is nearly sufficient. The one gap is that no output shape is described, though the absence of an output schema makes that a minor omission.
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 baseline is 3, but the description adds real meaning by explaining the purpose of `include` (embedding the pointed-to brand or a deeper parent chain) rather than merely restating the whitelist. That rationale goes beyond the schema's enum of allowed values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: "Fetch a single brand mention by its numeric id," which is clearly distinct from list-brand-mentions-tool by the word "single." It does not name the sibling list tool explicitly, so it falls just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives conditional guidance for the optional `include` parameter, but says nothing about when to prefer this over list-brand-mentions-tool or get-response-tool, and offers no exclusions. Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-citation-toolGet Citation ToolARead-onlyIdempotentInspect
Fetch a single citation by its numeric id. Optionally pass include to load parent chains.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Optional comma-separated related resources to include in the response. Whitelisted: `response`, `response.prompt`, `response.monitor`, `response.project`, `source_url`, `source_url.source`, `source_url.source.project`. | |
| citation_id | Yes | The numeric id of the citation to fetch. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world behavior, so the safety profile is fully covered. The description adds only that include 'loads parent chains', which is mild extra context; it says nothing about missing-id errors or auth requirements.
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 short sentences, zero filler, with the primary action (fetch by id) front-loaded before the optional parameter. Every clause 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?
Adequate for a simple get-by-id tool, but with no output schema the description does not describe the returned citation shape, and it omits error behavior when the id does not exist. These gaps are minor but real for a fetch tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including the full whitelist of include values, so the schema carries the parameter documentation. The description only restates include's purpose ('load parent chains'), adding a little meaning but no syntax or format detail.
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?
States a specific verb and resource ('Fetch a single citation by its numeric id'), which cleanly separates it from the sibling list-citations-tool by cardinality. It does not name that sibling explicitly, so an agent must infer the single-vs-list distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'by its numeric id' signals a lookup when you already know the id, and the include clause hints at when to request related data. No alternative tool is named and no condition for choosing this over list-citations-tool is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-monitor-toolGet Monitor ToolARead-onlyIdempotentInspect
Fetch a single monitor by its numeric id. Optionally pass include to load the parent project chain (project, project.organization).
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Optional comma-separated related resources to include in the response. Whitelisted: `project`, `project.organization`. | |
| monitor_id | Yes | The numeric id of the monitor to fetch. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds value beyond that by explaining that `include` expands the payload to load the parent project chain, which tells the agent the operation can change in cost/scope.
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 compact sentences, front-loaded with the primary action and id requirement, followed by the optional expansion. Nothing redundant or padded.
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 2-parameter read tool with a fully documented schema and annotations covering safety, the description tells the agent what it fetches and what include adds. No output schema exists, but the single-monitor return shape is sufficiently implied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already defines both parameters and the include whitelist. The description still adds semantic meaning by stating that `project.organization` loads the parent chain, going slightly beyond the schema's flat enumeration.
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?
Clear verb+resource ('Fetch a single monitor') with the key constraint (by its numeric id) that distinguishes it from list-monitors-tool. It does not name a sibling explicitly, but the 'single' vs. listable distinction is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: use this when you have a monitor id and want one record. The description never states when to prefer list-monitors-tool or when this tool should not be used, so an agent must infer the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-organization-toolGet Organization ToolBRead-onlyIdempotentInspect
Fetch a single organization by its numeric id.
| Name | Required | Description | Default |
|---|---|---|---|
| organization_id | Yes | The numeric id of the organization to fetch. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds nothing beyond that – no behavior on a missing/nonexistent id, no permission requirements, no note on what a returned organization contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence with the verb and lookup key front-loaded and zero filler. It is appropriately sized for a trivial single-entity read, though it provides no structure beyond the one clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with complete schema coverage and full annotation coverage, the definition is workable but thin: it says nothing about failure/not-found behavior and, with no output schema present, nothing about what the fetched organization yields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter is documented in the schema as "The numeric id of the organization to fetch." The description's "numeric id" merely restates it, adding no format, range, or sourcing guidance.
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?
Names a specific verb ("Fetch") and resource ("a single organization") plus the key (numeric id), which cleanly separates it from list-organizations-tool, update-organization-tool, and delete-organization-tool. It does not explicitly name any sibling as the alternative, so it falls just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the phrase "by its numeric id" signals that this is the tool to reach for when the id is already known and the list tool would be wasteful. There are no explicit when-to-use/when-not statements, no mention of list-organizations-tool as the alternative, and no prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-position-time-series-toolGet Position Time Series ToolARead-onlyIdempotentInspect
Average position of each tracked brand within the answers that mention it, per bucket. Position counts brands in the order they appear in an answer, so a lower number is more prominent and 1 is the first brand named. Scope by brand_id for one line; by segments for that segment's brands; otherwise top top_n by mention count (default 20, max 50). Per-bucket value is null when the brand had no mentions in that bucket.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tag IDs (prompt classifiers) to limit responses by. Optional. | |
| top_n | No | Cap on series count when no brand/segments scope is set (default 20, max 50). | |
| brand_id | No | Optional brand to scope the chart to (single-brand line). Must belong to the project. | |
| end_date | Yes | Inclusive UTC end of the analytics window. Must be on or after `start_date` and on or before today. | |
| interval | No | Bucket granularity for time-series tools. One of: day, week, month, year. Required for time-series tools, ignored for aggregate tools. | |
| monitors | No | Monitor IDs in the active project. Optional. | |
| segments | No | Segment IDs (brand groupings) to slice analytics by. Optional. | |
| countries | No | ISO-3166-1 alpha-2 country codes to include. Optional. | |
| platforms | No | AI platforms to include. Optional. Values: chatgpt, perplexity, gemini, grok, copilot, claude, google_ai_mode, google_ai_overview. | |
| project_id | Yes | Project to compute analytics for. | |
| start_date | Yes | Inclusive UTC start of the analytics window. ISO 8601 date (YYYY-MM-DD). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: the null-per-bucket rule for brands without mentions in a bucket, the default 20 / max 50 cap, and the ordering semantics that explain how values are produced.
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 tight sentences, front-loaded with what the metric is before covering scoping and edge cases. No filler, no restatement of the tool name, and 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?
With no output schema, the description does the work of explaining the returned shape (a per-bucket value per brand series, null when no mentions), which is what an agent needs. The interval parameter is documented only in the schema, and the description never mentions the temporal bucketing that is central to a time-series tool, which is a modest gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description still adds meaning the schema does not, by explaining how brand_id, segments, and top_n interact (mutually exclusive scoping modes and fallback behavior). Default and max values for top_n are restated, which is mildly redundant with 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 names the specific metric ('average position of each tracked brand ... per bucket') and defines what position means (brand order in an answer, lower = more prominent, 1 = first named). This clearly separates it from the other time-series siblings by resource. It stops short of explicitly contrasting itself with get-visibility-time-series-tool or get-share-of-voice-time-series-tool, which is the only thing keeping it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scoping sentence ('Scope by `brand_id` for one line; by `segments` ...; otherwise top `top_n`') is genuinely useful mode-selection guidance. However, it never says when to reach for this tool over the sibling time-series tools (sentiment, share of voice, visibility), so routing guidance is implied at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-project-toolGet Project ToolARead-onlyIdempotentInspect
Fetch a single project by its numeric id. Optionally pass include to load the parent organization.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Optional comma-separated related resources to include in the response. Whitelisted: `organization`. | |
| project_id | Yes | The numeric id of the project to fetch. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is fully covered. The description adds only one behavioral detail beyond that – that include pulls in the parent organization – and says nothing about permissions, error behavior, or response shape.
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 short sentences, front-loaded with the core action, with zero filler. Every clause carries information an agent can use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with full annotation coverage, a complete schema, and no output schema to explain, the description is sufficient to invoke it correctly. Slightly more context on the include semantics or failure modes would make it airtight.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the schema, including the whitelist for include. The description largely restates that include loads the parent organization, adding little beyond the structured data.
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?
States a specific verb (fetch) and resource (a single project) and scopes it with 'by its numeric id', which implicitly separates it from list-projects-tool. It does not explicitly name the sibling, but the singular framing makes the distinction clear without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'a single project' versus the list counterpart tells the agent when this tool is appropriate. There is no explicit when-to-use/when-not statement and no mention of alternatives such as list-projects-tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-prompt-toolGet Prompt ToolARead-onlyIdempotentInspect
Fetch a single prompt by its numeric id. Optionally pass include to load the parent monitor/project/organization chain.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Optional comma-separated related resources to include in the response. Whitelisted: `monitor`, `monitor.project`, `monitor.project.organization`. | |
| prompt_id | Yes | The numeric id of the prompt to fetch. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds the notable behavior that `include` expands the parent monitor/project/organization chain, but says nothing about error behavior for a missing id or the response shape otherwise.
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 short sentences with the fetch action front-loaded and zero filler. The optional include behavior is correctly relegated to the second sentence.
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 2-param read with no output schema, the description covers the input behavior but does not describe what a fetched prompt looks like or what happens when the id does not exist. Annotations carry the safety profile, so the gap is moderate rather than severe.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the schema, including the whitelisted `include` values. The description restates the include-expansion effect without adding syntax or format detail beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
'Fetch a single prompt by its numeric id' pairs a specific verb with a specific resource and implies the singular-fetch role against the list-prompts-tool sibling. It stops short of explicitly naming or contrasting that sibling, so it lands at clear-but-undifferentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by 'single prompt' – an agent can infer you call this when you already have an id rather than when browsing. No explicit when-to-use, prerequisites, or when-to-prefer-list-prompts-tool is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-response-toolGet Response ToolARead-onlyIdempotentInspect
Fetch a single AI response by its numeric id. Optionally pass include to load parent chains. Brand mentions and citations are not embedded; query /v1/brand-mentions and /v1/citations separately.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Optional comma-separated related resources to include in the response. Whitelisted: `prompt`, `prompt.monitor`, `prompt.monitor.project`, `prompt.monitor.project.organization`, `monitor`, `monitor.project`, `monitor.project.organization`, `project`, `project.organization`. | |
| response_id | Yes | The numeric id of the response to fetch. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds genuinely useful behavior: `include` pulls parent chains, and brand mentions/citations are deliberately absent from the payload, which is exactly the kind of omission an agent would otherwise discover by failure.
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 short sentences, zero filler, and the core fetch semantics are front-loaded before the two caveats. Every sentence carries information the agent needs.
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 exists, so the description carries some of the return-shape burden, and it does address that partially by disclosing what is not embedded. It stops short of describing the response envelope or pagination, but for a two-parameter single-fetch tool with full schema coverage this is nearly 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 description coverage is 100%, so the baseline is 3. The description goes slightly beyond the schema's enumeration by characterizing `include` as loading 'parent chains' — explaining the intent of the whitelisted traversal rather than just listing resource names.
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?
Specific verb (fetch) plus resource (a single AI response) and a stated key (numeric id). It is clearly the singular counterpart to the sibling list-responses-tool, so the agent can distinguish them without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states when to use `include` (to load parent chains) and explicitly routes brand mentions and citations to `/v1/brand-mentions` and `/v1/citations` rather than this tool. That is real routing guidance, though it never states the condition for choosing this tool over list-responses-tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-segment-toolGet Segment ToolARead-onlyIdempotentInspect
Fetch a single segment by its numeric id. Optionally pass include to load the parent project chain.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Optional comma-separated related resources to include in the response. Whitelisted: `project`, `project.organization`. | |
| segment_id | Yes | The numeric id of the segment to fetch. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered. The description adds the mild behavioral note that `include` expands the response with the parent project chain, but says nothing about error behavior or auth needs; with annotations bearing the load, a 3 is appropriate.
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 short sentences, zero waste, with the core fetch action front-loaded before the optional parameter note. 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?
For a simple single-resource read with full annotation coverage, a complete schema, and no output schema requirement, the description supplies what an agent needs to invoke it correctly. Only minor gaps remain, such as not explaining the shape of the expanded 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 description coverage is 100% and both parameters are documented in the schema itself, including the whitelisted `include` values. The description restates the `include` effect ('load the parent project chain') at a high level, adding only marginal meaning over the schema. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Fetch a single segment by its numeric id'), clearly separating it from list-segments-tool and the mutation tools. It does not explicitly name a sibling to route the agent, but the singular scope plus id requirement makes the intent unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It mentions that `include` may be optionally passed to load the parent project chain, which implies one usage pattern, but there is no guidance on when to prefer this tool over list-segments-tool or when `include` is worth the extra payload. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-sentiment-time-series-toolGet Sentiment Time Series ToolARead-onlyIdempotentInspect
Average sentiment score (0-100) of each tracked brand's mentions per bucket. Scope by brand_id for one line; by segments for that segment's brands; otherwise top top_n by mention count (default 20, max 50). Per-bucket value is null when the brand had no mentions in that bucket.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tag IDs (prompt classifiers) to limit responses by. Optional. | |
| top_n | No | Cap on series count when no brand/segments scope is set (default 20, max 50). | |
| brand_id | No | Optional brand to scope the chart to (single-brand line). Must belong to the project. | |
| end_date | Yes | Inclusive UTC end of the analytics window. Must be on or after `start_date` and on or before today. | |
| interval | No | Bucket granularity for time-series tools. One of: day, week, month, year. Required for time-series tools, ignored for aggregate tools. | |
| monitors | No | Monitor IDs in the active project. Optional. | |
| segments | No | Segment IDs (brand groupings) to slice analytics by. Optional. | |
| countries | No | ISO-3166-1 alpha-2 country codes to include. Optional. | |
| platforms | No | AI platforms to include. Optional. Values: chatgpt, perplexity, gemini, grok, copilot, claude, google_ai_mode, google_ai_overview. | |
| project_id | Yes | Project to compute analytics for. | |
| start_date | Yes | Inclusive UTC start of the analytics window. ISO 8601 date (YYYY-MM-DD). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety bar is low. The description still adds real behavioral context beyond them: the null value for brands with no mentions in a bucket, plus the top_n default (20) and cap (50).
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 dense sentences, zero filler, with the metric and scope front-loaded before the fallback rules and the null edge case. 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?
With no output schema, the description must describe the return: it gives the metric's unit range and the per-bucket null convention. It omits the required interval granularity and the overall list-of-series shape, minor gaps against a 100%-covered schema and full annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds the interaction semantics the schema lacks: how brand_id, segments, and top_n compete as scoping mechanisms and which wins when unset. It does not add detail on tags/monitors/countries/platforms, which the schema already covers.
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?
States a precise metric and scope: 'Average sentiment score (0-100) of each tracked brand's mentions per bucket.' The verb/resource (sentiment per bucket) inherently distinguishes it from the position, share-of-voice, and visibility time-series siblings, so an agent can select it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly defines the three scoping modes: brand_id for a single line, segments for a segment's brands, otherwise top_n by mention count. This tells the agent how to drive the tool, though it names no alternative tool and gives no when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-source-toolGet Source ToolARead-onlyIdempotentInspect
Fetch a single source by its numeric id. Optionally pass include to load the parent project chain.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Optional comma-separated related resources to include in the response. Whitelisted: `project`, `project.organization`. | |
| source_id | Yes | The numeric id of the source to fetch. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a read-only, idempotent, non-destructive operation, lowering the bar. The description contributes by explaining that `include` traverses the parent project chain, but it omits what happens on a missing/invalid id or what the response shape looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero waste; the core action is front-loaded before the optional parameter note.
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 single-record read with full schema coverage and safety annotations, the description is nearly sufficient. A note on behavior when the id is absent would complete it, but nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters including the include whitelist. The description adds only marginal framing ('load the parent project chain'), so it earns the baseline 3 rather than more.
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?
States a specific verb (Fetch) and resource (a single source) scoped by numeric id, which implicitly contrasts with the list-sources sibling. It does not explicitly name list-sources-tool or get-project-tool, so differentiation relies on inference.
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 single-record framing implies the appropriate context (fetch one source when you have its id), but there is no explicit when-to-use-vs-alternative guidance, no mention of when to prefer list-sources-tool, and no prerequisites stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-source-type-analytics-toolGet Source Type Analytics ToolARead-onlyIdempotentInspect
Citation breakdown by source-type classification (e.g. blog, news, forum). Unpaginated: one row per source-type enum value. Cannot be scoped by segment.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tag IDs (prompt classifiers) to limit responses by. Optional. | |
| end_date | Yes | Inclusive UTC end of the analytics window. Must be on or after `start_date` and on or before today. | |
| interval | No | Bucket granularity for time-series tools. One of: day, week, month, year. Required for time-series tools, ignored for aggregate tools. | |
| monitors | No | Monitor IDs in the active project. Optional. | |
| countries | No | ISO-3166-1 alpha-2 country codes to include. Optional. | |
| platforms | No | AI platforms to include. Optional. Values: chatgpt, perplexity, gemini, grok, copilot, claude, google_ai_mode, google_ai_overview. | |
| project_id | Yes | Project to compute analytics for. | |
| start_date | Yes | Inclusive UTC start of the analytics window. ISO 8601 date (YYYY-MM-DD). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description adds real behavioral value beyond that: unbounded (non-paginated) output and a one-row-per-enum-value result shape, which tells the agent what volume/format to expect. It does not mention auth or rate limits, but those are not implied needs here.
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 short clauses, front-loaded with what the tool returns, then the pagination behavior, then the scoping limit. Zero 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 an aggregate analytics tool with no output schema, it discloses the shape and cardinality of results and a key scoping restriction. It stops short of stating that this is an aggregate (not time-series) tool, which the interval parameter's 'ignored for aggregate tools' note leaves slightly ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 8 parameters including the required date range and filters. The description adds only the segment-scoping caveat, which is informative but not parameter syntax; 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?
States a specific verb and resource: citation breakdown by source-type classification, with examples (blog, news, forum). It is clearly distinguishable from sibling list-source-analytics-tool and get-source-url-type-analytics-tool in spirit, though it does not name them explicitly.
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 one exclusion ('Cannot be scoped by segment'), which is genuine when-not guidance, but names no alternative tools and gives no positive trigger for choosing this over the sibling source/url-type analytics tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-source-url-type-analytics-toolGet Source Url Type Analytics ToolARead-onlyIdempotentInspect
Citation breakdown by URL-type classification (e.g. article, documentation, product_page). Unpaginated: one row per URL-type enum value. Cannot be scoped by segment.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tag IDs (prompt classifiers) to limit responses by. Optional. | |
| end_date | Yes | Inclusive UTC end of the analytics window. Must be on or after `start_date` and on or before today. | |
| interval | No | Bucket granularity for time-series tools. One of: day, week, month, year. Required for time-series tools, ignored for aggregate tools. | |
| monitors | No | Monitor IDs in the active project. Optional. | |
| countries | No | ISO-3166-1 alpha-2 country codes to include. Optional. | |
| platforms | No | AI platforms to include. Optional. Values: chatgpt, perplexity, gemini, grok, copilot, claude, google_ai_mode, google_ai_overview. | |
| project_id | Yes | Project to compute analytics for. | |
| start_date | Yes | Inclusive UTC start of the analytics window. ISO 8601 date (YYYY-MM-DD). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), so the bar is lower. The description adds genuinely useful behavior beyond them: the result is unpaginated with exactly one row per URL-type enum value, and segment scoping is unsupported. It stops short of describing the metrics/fields returned.
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 tight sentences with zero filler, front-loading what the tool computes before the two operational constraints. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter aggregate tool with full schema coverage and a strong annotation set, the description supplies the key return-shape and scoping facts an agent needs. The only meaningful gap is the lack of routing guidance relative to the similarly-named source-type and source-url analytics siblings.
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 every parameter is already documented in the schema and the baseline is 3. The description adds no syntax, format, or default details about parameters (it never references tags, monitors, platforms, interval, etc.), so it does not exceed the schema's contribution.
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?
States a specific verb and resource: 'Citation breakdown by URL-type classification,' with concrete examples of the classification values (article, documentation, product_page). It is clear what the tool returns, but it never differentiates itself from the closely-named sibling get-source-type-analytics-tool or from list-source-url-analytics-tool, which an agent must disambiguate on its own.
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 constraints ('Unpaginated', 'Cannot be scoped by segment') that imply when this tool is and isn't appropriate, but it never names an alternative or states the positive condition under which an agent should pick this over the sibling source-type or source-url analytics tools. Usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-source-url-usage-time-series-toolGet Source Url Usage Time Series ToolBRead-onlyIdempotentInspect
For each top URL, the percentage of analyzed responses in the bucket that cited that exact URL. Capped to the top top_n URLs (default 20, max 50).
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tag IDs (prompt classifiers) to limit responses by. Optional. | |
| top_n | No | Cap on series count (default 20, max 50). | |
| end_date | Yes | Inclusive UTC end of the analytics window. Must be on or after `start_date` and on or before today. | |
| interval | No | Bucket granularity for time-series tools. One of: day, week, month, year. Required for time-series tools, ignored for aggregate tools. | |
| monitors | No | Monitor IDs in the active project. Optional. | |
| countries | No | ISO-3166-1 alpha-2 country codes to include. Optional. | |
| platforms | No | AI platforms to include. Optional. Values: chatgpt, perplexity, gemini, grok, copilot, claude, google_ai_mode, google_ai_overview. | |
| project_id | Yes | Project to compute analytics for. | |
| start_date | Yes | Inclusive UTC start of the analytics window. ISO 8601 date (YYYY-MM-DD). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds the useful behavioral detail that output is bucketed time-series data capped to top_n URLs (default 20, max 50), but says nothing about the required interval granularity or result shape.
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 tight sentences that front-load the metric definition before the cap constraint. No filler, though the second sentence largely duplicates schema content already stated in top_n's description.
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 9-parameter, time-series analytics tool with no output schema, the description covers the metric and the cap but omits the bucketing/interval requirement, sibling differentiation, and any note on filters (tags, monitors, countries, platforms). Annotations carry the safety profile, but the functional description is thinner than the tool's complexity warrants.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 9 parameters including top_n's default/max and interval's allowed values. The description only restates the top_n cap, adding no meaning beyond the schema, so the 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 names a specific metric ('percentage of analyzed responses that cited that exact URL') per top URL over time buckets, which is a clear verb+resource definition. However, it does not distinguish itself from close siblings like get-source-usage-time-series-tool or get-source-url-type-analytics-tool, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no conditions that select this tool over the many sibling time-series/analytics tools, and no note that interval is required for time-series results. The only usage-flavored content is the top_n cap, which is parameter documentation rather than routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-source-usage-time-series-toolGet Source Usage Time Series ToolARead-onlyIdempotentInspect
For each top source, the percentage of analyzed responses in the bucket that cited any URL from that source. Capped to the top top_n sources (default 20, max 50).
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tag IDs (prompt classifiers) to limit responses by. Optional. | |
| top_n | No | Cap on series count (default 20, max 50). | |
| end_date | Yes | Inclusive UTC end of the analytics window. Must be on or after `start_date` and on or before today. | |
| interval | No | Bucket granularity for time-series tools. One of: day, week, month, year. Required for time-series tools, ignored for aggregate tools. | |
| monitors | No | Monitor IDs in the active project. Optional. | |
| countries | No | ISO-3166-1 alpha-2 country codes to include. Optional. | |
| platforms | No | AI platforms to include. Optional. Values: chatgpt, perplexity, gemini, grok, copilot, claude, google_ai_mode, google_ai_overview. | |
| project_id | Yes | Project to compute analytics for. | |
| start_date | Yes | Inclusive UTC start of the analytics window. ISO 8601 date (YYYY-MM-DD). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds the capping behavior (top_n default 20, max 50), which is useful, but says nothing about auth requirements, rate limits, or pagination. Modest added value over the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no waste, and the core metric definition is front-loaded ahead of the top_n cap detail. Efficient and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description helpfully explains what each datapoint represents (percentage of analyzed responses citing a source per bucket). It does not explain the interval requirement or return structure more fully, but it is adequate for a read-only analytics tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all nine parameters thoroughly. The description only restates the top_n cap, adding no syntax or format detail beyond the schema. Baseline 3 is appropriate when the schema carries the load.
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?
States a specific computed metric: the percentage of analyzed responses per bucket that cited any URL from each top source. Verb/resource/scope are clear, and it is distinguishable from get-source-url-usage-time-series-tool (per-source vs per-URL). It stops short of naming that sibling explicitly, so it's a 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not guidance, and it never mentions alternatives like the URL-level or analytics (non-time-series) siblings. Usage is only implied by the time-series framing and the 'bucket' language; the interval requirement is stated in the schema, not the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-tag-toolGet Tag ToolARead-onlyIdempotentInspect
Fetch a single tag by its numeric id. Optionally pass include to load the parent project chain.
| Name | Required | Description | Default |
|---|---|---|---|
| tag_id | Yes | The numeric id of the tag to fetch. | |
| include | No | Optional comma-separated related resources to include in the response. Whitelisted: `project`, `project.organization`. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds one behavioral detail beyond that — that include expands the response to the parent project chain — but says nothing about behavior when the id does not resolve or about response shape.
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 short sentences with the core operation front-loaded and no filler; the optional parameter is mentioned second, matching its lower priority.
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 read-only single-fetch tool with a fully described two-parameter schema and annotations covering safety, the description is essentially complete; there is no output schema to explain. Only error/not-found behavior is unaddressed, a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so tag_id and the include whitelist are already documented in the schema. The description restates include's intent ('load the parent project chain'), adding only mild extra meaning over the schema's own wording, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Fetch a single tag') plus the lookup key ('by its numeric id'), which cleanly separates it from list-tags-tool without needing to open either schema. An agent can identify the operation at a glance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the phrasing ('pass include to load the parent project chain'), which gives a reason to use the optional parameter, but there is no explicit when-to-use vs when-to-use-list guidance or prerequisite/permission context. Adequate but leaves the agent to infer the selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-visibility-time-series-toolGet Visibility Time Series ToolARead-onlyIdempotentInspect
Returns the share of analyzed responses that mention each tracked brand, bucketed by interval (day/week/month/year). Scope by brand_id for one line; by segments for that segment's brands; otherwise top top_n by mention count (default 20, max 50).
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tag IDs (prompt classifiers) to limit responses by. Optional. | |
| top_n | No | Cap on series count when no brand/segments scope is set (default 20, max 50). | |
| brand_id | No | Optional brand to scope the chart to (single-brand line). Must belong to the project. | |
| end_date | Yes | Inclusive UTC end of the analytics window. Must be on or after `start_date` and on or before today. | |
| interval | No | Bucket granularity for time-series tools. One of: day, week, month, year. Required for time-series tools, ignored for aggregate tools. | |
| monitors | No | Monitor IDs in the active project. Optional. | |
| segments | No | Segment IDs (brand groupings) to slice analytics by. Optional. | |
| countries | No | ISO-3166-1 alpha-2 country codes to include. Optional. | |
| platforms | No | AI platforms to include. Optional. Values: chatgpt, perplexity, gemini, grok, copilot, claude, google_ai_mode, google_ai_overview. | |
| project_id | Yes | Project to compute analytics for. | |
| start_date | Yes | Inclusive UTC start of the analytics window. ISO 8601 date (YYYY-MM-DD). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive, so safety is covered. The description adds genuine behavioral context the annotations don't: the computed metric is a mention share per brand and the output is bucketed by interval, plus the default/max on top_n. It stops short of describing return shape or empty-result behavior.
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 dense sentences with no filler, front-loading the core metric before the scoping rules. Every clause carries information about either computation or parameter behavior.
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 11 params at full schema coverage and capped top_n, the structured data carries most detail. The description covers the core metric and scoping logic, and no output schema exists to defer to, but it omits any indication of the returned series format. Acceptable but not exhaustive for an analytics endpoint.
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 baseline is 3. The description earns above that by explaining the interaction between brand_id, segments and top_n – a mutually-exclusive scoping priority that the individual schema descriptions do not express on their own.
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?
States a specific verb and resource – the share of analyzed responses mentioning each tracked brand, bucketed by interval. However, despite close siblings such as get-share-of-voice-time-series-tool and get-brand-mention-tool, it offers no explicit differentiation, so an agent cannot cleanly separate this from its near-neighbors.
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 explains how scoping works (brand_id for one line, segments for segment brands, otherwise top_n), which implies intended usage, but never states when to choose this tool over the sibling time-series analytics tools. Usage is inferable rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-brand-analytics-toolList Brand Analytics ToolARead-onlyIdempotentInspect
Per-brand aggregates over the filter window: visibility, share-of-voice, average sentiment, and average position. Returns one row for every tracked brand in scope; brands with no mentions in the window appear with zero visibility and share-of-voice and a null sentiment and position. Paginated.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-indexed page number. Defaults to 1. | |
| tags | No | Tag IDs (prompt classifiers) to limit responses by. Optional. | |
| sort_by | No | Sort key. One of: visibility, share_of_voice, sentiment, position. Defaults to visibility. | |
| end_date | Yes | Inclusive UTC end of the analytics window. Must be on or after `start_date` and on or before today. | |
| interval | No | Bucket granularity for time-series tools. One of: day, week, month, year. Required for time-series tools, ignored for aggregate tools. | |
| monitors | No | Monitor IDs in the active project. Optional. | |
| per_page | No | Page size, 1-100. Defaults to 25. | |
| segments | No | Segment IDs (brand groupings) to slice analytics by. Optional. | |
| sort_dir | No | asc or desc. Defaults to desc. | |
| countries | No | ISO-3166-1 alpha-2 country codes to include. Optional. | |
| platforms | No | AI platforms to include. Optional. Values: chatgpt, perplexity, gemini, grok, copilot, claude, google_ai_mode, google_ai_overview. | |
| project_id | Yes | Project to compute analytics for. | |
| start_date | Yes | Inclusive UTC start of the analytics window. ISO 8601 date (YYYY-MM-DD). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description's added value is the row semantics: one row per tracked brand, zero-filled visibility/share-of-voice for brands with no mentions, and null sentiment/position. This is real behavioral detail beyond the annotations, though pagination is only gestured at ('Paginated') without cursor/page mechanics.
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 tight sentences: metric set first, then row semantics, then pagination. No filler, and the most decision-relevant information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter read-only aggregate tool with a fully documented schema and no output schema, the description covers the metric set, per-row behavior, and null/zero handling well. The main gap is filter-interaction guidance (how segments/tags/countries narrow the aggregates) and concrete pagination behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so every one of the 13 parameters is already documented in the schema; the description adds only the vague notion of a 'filter window'. It does not clarify how filters like segments, tags, or monitors combine, so it is baseline-level for a high-coverage 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?
States a specific verb (per-brand aggregates) and resource (brands), and enumerates the metrics returned: visibility, share-of-voice, sentiment, position. It implicitly separates itself from the time-series and monitor/prompt/source analytics siblings via the 'per-brand' framing, but never names an alternative, so an agent must infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives despite many adjacent analytics siblings (list-monitor-analytics-tool, list-prompt-analytics-tool, get-*-time-series-tool). The reader must infer that aggregate-per-brand is wanted rather than a time series or a different entity dimension.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-brand-mentions-toolList Brand Mentions ToolARead-onlyIdempotentInspect
List the brand mentions detected across a project, newest first. Returns up to 50 per page; follow nextCursor to fetch additional pages. Optionally pass include to load parent chains (response, brand, project, organization).
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | Opaque pagination cursor. Omit on the first call; pass the `nextCursor` value from the previous response to fetch the next page. | |
| include | No | Optional comma-separated related resources to include in the response. Whitelisted: `response`, `response.prompt`, `response.monitor`, `response.project`, `brand`, `brand.project`, `brand.project.organization`. | |
| brand_id | No | Optional filter. Only return brand mentions for this brand. | |
| project_id | Yes | The numeric id of the project whose brand mentions should be listed. | |
| response_id | No | Optional filter. Only return brand mentions on this response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, so the safety profile is covered. The description adds genuinely useful behavior beyond that: newest-first ordering, a hard page-size cap of 50, cursor-following semantics, and that `include` triggers loading of parent chains — details the annotations cannot express.
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 short sentences, each carrying distinct information (scope/ordering, pagination contract, optional expansion), with the core action front-loaded. No filler or restated title 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?
There is no output schema, so the description carries the burden of return-value context; it does cover the page size and the nextCursor contract, but says nothing about the shape or fields of an individual brand mention. For a five-parameter, one-required list tool the coverage is good but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents cursor, include, brand_id, project_id and response_id. The description only restates the include behavior at a high level ('load parent chains (response, brand, project, organization)'), adding marginal meaning over the schema's whitelist. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (brand mentions) scoped to a project, and adds ordering (newest first). This clearly separates it from the singular get-brand-mention-tool and from other list-* siblings such as list-citations-tool and list-responses-tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives real procedural guidance — paginate via nextCursor, optionally pass include to expand parent chains — but never states when to choose this tool over alternatives (e.g. get-brand-mention-tool for a single mention, or list-citations-tool for sources). Usage is implied from the resource name rather than stated with conditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-brands-toolList Brands ToolARead-onlyIdempotentInspect
List the brands configured for a project, newest first. Returns up to 50 per page; follow nextCursor to fetch additional pages. Optionally pass include to load the parent project chain.
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | Opaque pagination cursor. Omit on the first call; pass the `nextCursor` value from the previous response to fetch the next page. | |
| include | No | Optional comma-separated related resources to include in the response. Whitelisted: `project`, `project.organization`. | |
| project_id | Yes | The numeric id of the project whose brands should be listed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the read-only, idempotent, non-destructive profile, so the safety burden is lifted. The description adds real value beyond that: ordering (newest first), a hard page cap of 50, and the `include` expansion behavior for the parent project chain.
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 tight sentences with zero filler; the core scope and ordering lead, followed immediately by pagination and the optional expansion. 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?
With no output schema, the description usefully covers return size and pagination mechanics, and the annotations carry the safety profile. It does not describe the brand object fields returned, which is a minor gap for a list endpoint.
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 all three parameters are already documented in the schema. The description reinforces `include`'s purpose (loading the parent project chain) but adds no syntax or format detail the schema lacks, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with scope ("List the brands configured for a project"), which is enough to distinguish it from sibling list-brand-analytics-tool and list-brand-mentions-tool by resource meaning. It stops short of explicitly naming or excluding those siblings, so it lands just under a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives operational guidance for pagination (omit `cursor` initially, follow `nextCursor`) but says nothing about when to choose this tool over the brand-analytics or brand-mention siblings. Usage is implied by the required `project_id` rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-citations-toolList Citations ToolARead-onlyIdempotentInspect
List the citations collected across a project, newest first. Each citation carries the URL the platform linked plus its domain. Returns up to 50 per page; follow nextCursor to fetch additional pages. Optionally pass include to load parent chains (response, source_url, source, project).
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | Opaque pagination cursor. Omit on the first call; pass the `nextCursor` value from the previous response to fetch the next page. | |
| include | No | Optional comma-separated related resources to include in the response. Whitelisted: `response`, `response.prompt`, `response.monitor`, `response.project`, `source_url`, `source_url.source`, `source_url.source.project`. | |
| project_id | Yes | The numeric id of the project whose citations should be listed. | |
| response_id | No | Optional filter. Only return citations from this response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower, and the description still adds real behavioral facts: newest-first ordering, a hard 50-per-page cap, and cursor-based continuation. It stops short of stating whether a total count or empty-page signal exists, so not a 5.
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 tight sentences with zero filler; the core purpose, ordering and pagination constraints come first, and the optional include behavior is deferred to the end where it belongs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully covers the return payload (URL plus domain per citation) and pagination mechanics, which is the key missing structure. It omits any mention of the response_id filter, a slight gap for a four-parameter tool, but everything needed to call it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents cursor, include, project_id and response_id, and the description largely echoes that (include loading parent chains, nextCursor as the continuation token). It adds no syntax or format detail beyond the schema, so the 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?
States a specific verb and resource ('List the citations collected across a project') plus scope (whole project) and ordering ('newest first'). An agent can distinguish it from get-citation-tool purely from the description, and knows it returns citations rather than aggregate analytics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the project-scoped framing and the pagination instruction ('follow nextCursor to fetch additional pages'), which is actionable procedural guidance. However, it names no alternative (e.g., get-citation-tool for one citation) and gives no when-not-to-use condition or prerequisite for having a valid project_id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-monitor-analytics-toolList Monitor Analytics ToolBRead-onlyIdempotentInspect
Per-monitor aggregates (visibility, share-of-voice, sentiment, position) scoped to a single brand. Paginated.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-indexed page number. Defaults to 1. | |
| tags | No | Tag IDs (prompt classifiers) to limit responses by. Optional. | |
| sort_by | No | Sort key. One of: visibility, share_of_voice, sentiment, position. Defaults to visibility. | |
| brand_id | Yes | Numeric ID of the brand to scope per-monitor metrics to. Must belong to the project. | |
| end_date | Yes | Inclusive UTC end of the analytics window. Must be on or after `start_date` and on or before today. | |
| interval | No | Bucket granularity for time-series tools. One of: day, week, month, year. Required for time-series tools, ignored for aggregate tools. | |
| monitors | No | Monitor IDs in the active project. Optional. | |
| per_page | No | Page size, 1-100. Defaults to 25. | |
| segments | No | Segment IDs (brand groupings) to slice analytics by. Optional. | |
| sort_dir | No | asc or desc. Defaults to desc. | |
| countries | No | ISO-3166-1 alpha-2 country codes to include. Optional. | |
| platforms | No | AI platforms to include. Optional. Values: chatgpt, perplexity, gemini, grok, copilot, claude, google_ai_mode, google_ai_overview. | |
| project_id | Yes | Project to compute analytics for. | |
| start_date | Yes | Inclusive UTC start of the analytics window. ISO 8601 date (YYYY-MM-DD). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only 'Paginated' as behavioral context, which is genuinely useful but modest. No mention of rate limits, aggregation windows, or empty-result behavior.
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 terse sentences, zero filler, with the resource/scope front-loaded before the pagination note. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only aggregate tool with no output schema, the description conveys resource, scope, metrics, and pagination, and the schema carries all 14 parameters. The main gap is the absence of routing guidance against the many sibling analytics tools, which matters in a tool set this large.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with 14 fully documented parameters, so the baseline is 3. The description's mention of visibility/share-of-voice/sentiment/position mirrors the schema's sort_by values but adds no syntax or format detail 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?
States a specific verb+resource ('per-monitor aggregates') and names the four metrics returned, plus the brand scoping. 'Per-monitor' distinguishes it from the sibling per-brand/per-platform/per-prompt analytics tools. It stops short of naming those siblings explicitly, so it earns 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a scope ('scoped to a single brand') but gives no when-to-use guidance and never names alternatives like list-brand-analytics-tool or the get-*-time-series-tools. An agent must infer from the name alone when this aggregate tool is preferable to a time-series tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-monitors-toolList Monitors ToolARead-onlyIdempotentInspect
List the monitors configured for a project, newest first. Returns up to 50 per page; follow nextCursor to fetch additional pages. Optionally pass include to load the parent project chain (project, project.organization).
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | Opaque pagination cursor. Omit on the first call; pass the `nextCursor` value from the previous response to fetch the next page. | |
| include | No | Optional comma-separated related resources to include in the response. Whitelisted: `project`, `project.organization`. | |
| project_id | Yes | The numeric id of the project whose monitors should be listed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds real behavioral context beyond that: page size of 50, the nextCursor follow-up loop, and that `include` expands the parent project chain. It stops short of describing the monitor object or total/result-count behavior, which matters since no output schema exists.
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 earning its place: scope, pagination contract, optional expansion. The most important information (what is listed, and for what resource) is front-loaded with no 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?
For a read-only list tool with full schema coverage and annotations covering safety, the description supplies the missing pagination and expansion contract that the absent output schema would otherwise have to carry. Only the shape of an individual monitor record is left unstated, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so cursor, include and project_id are already fully documented. The description's mention of `include` loading 'project, project.organization' restates the schema whitelist rather than adding meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List the monitors') scoped to a project, plus an ordering guarantee ('newest first'). This cleanly separates it from get-monitor-tool (single monitor) and list-monitor-analytics-tool (aggregate metrics), so an agent can select it without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when the tool applies (listing configured monitors for a known project) and gives pagination mechanics, but never names an alternative or states when NOT to use it, e.g. versus get-monitor-tool or list-monitor-analytics-tool. Usage is inferable rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-organizations-toolList Organizations ToolARead-onlyIdempotentInspect
List the organizations you belong to, newest first. Returns up to 50 per page; follow nextCursor to fetch additional pages. Each item includes the organization's id, name, and the user's role. Use this as the entry point to discover ids for other tools.
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | Opaque pagination cursor. Omit on the first call; pass the `nextCursor` value from the previous response to fetch the next page. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds real behavioral context beyond that: a hard 50-item page cap, cursor-based continuation, result ordering, and the fields present in each item. That is meaningful disclosure for a read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: what it lists and ordering first, then pagination mechanics, then the role it plays in the workflow. Nothing is redundant and the most important routing hint is placed last as an actionable instruction.
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?
There is no output schema, yet the description names the returned fields (id, name, user role) and explains the pagination contract, which is exactly the information needed to consume results. For a one-parameter read tool this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single `cursor` param is fully documented in the schema. The description restates the continuation flow ('follow nextCursor'), which is mildly useful but adds no syntax or format detail beyond what the schema already supplies, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List the organizations you belong to') plus a scope qualifier ('you belong to', newest-first ordering). An agent can distinguish it from get-organization-tool, create-organization-tool, and delete-organization-tool without consulting schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly frames the tool as the entry point for discovering ids needed by other tools, which is genuine routing guidance in a 60+ sibling environment. It stops short of naming a specific alternative or an exclusion, so it misses the top band.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-platform-analytics-toolList Platform Analytics ToolARead-onlyIdempotentInspect
Per-AI-platform aggregates (visibility, share-of-voice, sentiment, position, used_count) scoped to a single brand. One row per platform present in the filtered response set; sorted by visibility desc.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tag IDs (prompt classifiers) to limit responses by. Optional. | |
| brand_id | Yes | Numeric ID of the brand to scope per-platform metrics to. Must belong to the project. | |
| end_date | Yes | Inclusive UTC end of the analytics window. Must be on or after `start_date` and on or before today. | |
| interval | No | Bucket granularity for time-series tools. One of: day, week, month, year. Required for time-series tools, ignored for aggregate tools. | |
| monitors | No | Monitor IDs in the active project. Optional. | |
| segments | No | Segment IDs (brand groupings) to slice analytics by. Optional. | |
| countries | No | ISO-3166-1 alpha-2 country codes to include. Optional. | |
| platforms | No | AI platforms to include. Optional. Values: chatgpt, perplexity, gemini, grok, copilot, claude, google_ai_mode, google_ai_overview. | |
| project_id | Yes | Project to compute analytics for. | |
| start_date | Yes | Inclusive UTC start of the analytics window. ISO 8601 date (YYYY-MM-DD). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe read-only, idempotent, closed-world profile. The description adds genuine behavioral context beyond that: the return shape (one row per platform present in the filtered response set) and the ordering (sorted by visibility desc). It omits pagination/limits, which keeps it short of a 5.
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 dense sentences, front-loaded with the resource scope and followed by the row/sort semantics. Every clause carries information; nothing is repeated from the name or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully covers the return value (per-platform rows with named metrics, sorted by visibility). Annotations handle safety and the 10-param schema is fully documented. The only real gap is the absence of any routing guidance among the many analytics siblings.
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 every parameter (tags, monitors, segments, countries, platforms, dates, interval) is already documented in the schema. The description's 'filtered response set' hints that the optional filters apply, but adds no syntax or semantics beyond what the schema supplies. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: 'Per-AI-platform aggregates' with an explicit metric list (visibility, share-of-voice, sentiment, position, used_count) scoped to a single brand. The 'per-AI-platform' framing distinguishes it from the other list-*-analytics siblings, though it never names an alternative directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is provided. The agent is not told how this differs from list-brand-analytics-tool, list-monitor-analytics-tool, list-prompt-analytics-tool, or the get-*-time-series tools, nor when this aggregate view is preferred over them. Only the 'aggregate' framing implicitly signals non-time-series usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-projects-toolList Projects ToolARead-onlyIdempotentInspect
List the projects within an organization, newest first. Returns up to 50 per page; follow nextCursor to fetch additional pages. Optionally pass include to load the parent organization.
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | Opaque pagination cursor. Omit on the first call; pass the `nextCursor` value from the previous response to fetch the next page. | |
| include | No | Optional comma-separated related resources to include in the response. Whitelisted: `organization`. | |
| organization_id | Yes | The numeric id of the organization whose projects should be listed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuinely new behavioral detail beyond that: result ordering (newest first), a hard page size cap (50), and the cursor-following protocol. It stops short of describing what happens when the organization has no projects or how the included organization is embedded.
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 filler. The core purpose and ordering come first, pagination mechanics second, and the optional parameter last — a clean front-loaded 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?
For a three-parameter read-only list tool with no output schema, the description covers what an agent needs: scope, ordering, page size, how to continue paging, and the optional expansion. Nothing required to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented in the schema, including the `include` whitelist and the cursor protocol. The description's mention of `include` ('load the parent organization') largely restates the schema's 'Whitelisted: organization' and adds no format or syntax detail. 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?
States a specific verb and resource ('List the projects'), scopes it ('within an organization'), and adds an ordering guarantee ('newest first'). An agent can immediately distinguish this from get-project-tool (single project) and list-organizations-tool (different resource) without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational usage for pagination (omit cursor on first call, follow nextCursor) and notes `include` is optional, which is helpful context. However, it never states when to choose this tool over siblings such as get-project-tool for a single project, nor any prerequisites or exclusions. Usage is implied rather than guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-prompt-analytics-toolList Prompt Analytics ToolARead-onlyIdempotentInspect
Per-prompt aggregates (visibility, share-of-voice, sentiment, position) scoped to a single brand, plus the distinct tracked brands mentioned in each prompt's responses during the window. Paginated. To fetch more rows, request the next page; the envelope reports the total under meta.last_page.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-indexed page number. Defaults to 1. | |
| tags | No | Tag IDs (prompt classifiers) to limit responses by. Optional. | |
| sort_by | No | Sort key. One of: visibility, share_of_voice, sentiment, position. Defaults to visibility. | |
| brand_id | Yes | Numeric ID of the brand to scope per-prompt metrics to. Must belong to the project. | |
| end_date | Yes | Inclusive UTC end of the analytics window. Must be on or after `start_date` and on or before today. | |
| interval | No | Bucket granularity for time-series tools. One of: day, week, month, year. Required for time-series tools, ignored for aggregate tools. | |
| monitors | No | Monitor IDs in the active project. Optional. | |
| per_page | No | Page size, 1-100. Defaults to 25. | |
| segments | No | Segment IDs (brand groupings) to slice analytics by. Optional. | |
| sort_dir | No | asc or desc. Defaults to desc. | |
| countries | No | ISO-3166-1 alpha-2 country codes to include. Optional. | |
| platforms | No | AI platforms to include. Optional. Values: chatgpt, perplexity, gemini, grok, copilot, claude, google_ai_mode, google_ai_overview. | |
| project_id | Yes | Project to compute analytics for. | |
| start_date | Yes | Inclusive UTC start of the analytics window. ISO 8601 date (YYYY-MM-DD). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe read-only, idempotent, non-destructive profile, so the description is free to add value elsewhere — and it does, disclosing the pagination contract ('request the next page', total under meta.last_page) and an extra return element (distinct tracked brands mentioned per prompt). With no output schema, that return-shape disclosure is genuinely useful; only rate limits or result-size caveats are absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with what the tool returns and then with the pagination mechanics; nothing is wasted. The standalone fragment 'Paginated.' and the following sentence both cover pagination, a minor redundancy that costs it a point.
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 14-parameter, read-only analytics tool with no output schema, the description covers the essential gaps: what is returned, that results are paginated, and how to advance pages and read totals. Annotations carry the safety profile, and parameters are fully documented in the schema, so nothing needed to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 14 parameters, including defaults, formats, and allowed sort keys. The description only reinforces the brand scoping implied by the required brand_id; it adds no syntax or format detail beyond the schema, which is the expected baseline here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (per-prompt aggregates) and enumerates the four metrics returned, plus the scope (single brand). It does not explicitly differentiate itself from the many sibling analytics tools (list-brand-analytics-tool, list-monitor-analytics-tool, list-platform-analytics-tool, list-source-url-prompt-analytics-tool), so an agent must infer the grain from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the described content — the per-prompt grain is stated, so an agent can guess when it applies — but there is no explicit when-to-use, when-not-to-use, or named alternative among the sibling analytics tools. The only procedural guidance offered is pagination.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-prompts-toolList Prompts ToolARead-onlyIdempotentInspect
List the prompts configured for a monitor, newest first. Returns up to 50 per page; follow nextCursor to fetch additional pages. Optionally pass include to load the parent monitor/project/organization chain.
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | Opaque pagination cursor. Omit on the first call; pass the `nextCursor` value from the previous response to fetch the next page. | |
| include | No | Optional comma-separated related resources to include in the response. Whitelisted: `monitor`, `monitor.project`, `monitor.project.organization`. | |
| monitor_id | Yes | The numeric id of the monitor whose prompts should be listed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world). The description adds genuinely useful behavioral traits beyond them: newest-first ordering and a hard 50-per-page cap with nextCursor paging. It stops short of describing response shape, but these details materially help an agent call it correctly.
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 tight sentences, front-loaded with the purpose, then pagination, then the optional parameter. No filler and nothing buried.
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 paginated list tool with no output schema, the description covers purpose, page size, cursor mechanics, and the optional include expansion. Combined with the safety annotations and fully documented schema, an agent has everything needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description goes slightly beyond by explaining the intent of `include` (loading the parent monitor/project/organization chain) and the cursor flow, which enriches the raw whitelist 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?
States a specific verb and resource with scope: 'List the prompts configured for a monitor.' This distinguishes it from analytics-style siblings but never explicitly names an alternative like list-prompt-analytics-tool or get-prompt-tool, so differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the purpose (listing prompts under a monitor), but there is no explicit when-to-use guidance, no conditions, and no exclusions relative to sibling list/get tools. The pagination instructions describe how to call it, not when to choose it over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-responses-toolList Responses ToolARead-onlyIdempotentInspect
List the AI responses collected for a project, newest first. Returns up to 50 per page; follow nextCursor to fetch additional pages. Optionally pass prompt_id to return only the responses for a single prompt, or source_url_id to return only the responses that cite a given source URL. Pass include to load parent chains (prompt, monitor, project, organization). Brand mentions and citations are not embedded; query /v1/brand-mentions and /v1/citations separately.
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | Opaque pagination cursor. Omit on the first call; pass the `nextCursor` value from the previous response to fetch the next page. | |
| include | No | Optional comma-separated related resources to include in the response. Whitelisted: `prompt`, `prompt.monitor`, `prompt.monitor.project`, `prompt.monitor.project.organization`, `monitor`, `monitor.project`, `monitor.project.organization`, `project`, `project.organization`. | |
| prompt_id | No | Optional filter. Only return responses for this prompt. | |
| project_id | Yes | The numeric id of the project whose responses should be listed. | |
| source_url_id | No | Optional filter. Only return responses that cite this source URL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description is freed to add runtime behavior: newest-first ordering, a 50-per-page cap, and the `nextCursor` follow-up mechanism. It also discloses what is NOT returned inline (brand mentions, citations). 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?
Front-loaded with the primary action and ordering, then pagination, then filters, then the cross-reference caveat. Every sentence carries distinct information 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?
For a read-only list tool with no output schema, the description covers ordering, page size, pagination continuation, filter options, include semantics, and cross-resource redirection. It is nearly complete, though it could note whether responses include citation/brand-mention ids to link back to the separate endpoints.
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 baseline is 3, but the description adds meaning beyond it: it clarifies that `prompt_id` and `source_url_id` are filters, and that `include` loads parent chains (prompt, monitor, project, organization). That parent-chain explanation enriches the include parameter beyond the schema's enum-style list.
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?
States a specific verb and resource ("List the AI responses collected for a project") plus the default ordering (newest first), which distinguishes it from the singular get-response-tool. It also explicitly separates itself from list-brand-mentions-tool and list-citations-tool by noting those resources are not embedded.
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?
Gives clear conditional guidance: pass `prompt_id` for a single prompt's responses, `source_url_id` for responses citing a URL, and query the brand-mentions/citations endpoints for those related resources. No explicit "when not to use" or pointer to get-response-tool for single fetches, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-segments-toolList Segments ToolARead-onlyIdempotentInspect
List the segments configured for a project, newest first. Returns up to 50 per page; follow nextCursor to fetch additional pages. Optionally pass include to load the parent project chain.
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | Opaque pagination cursor. Omit on the first call; pass the `nextCursor` value from the previous response to fetch the next page. | |
| include | No | Optional comma-separated related resources to include in the response. Whitelisted: `project`, `project.organization`. | |
| project_id | Yes | The numeric id of the project whose segments should be listed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world, non-destructive, so the safety profile is covered. The description adds genuinely new behavior: page size cap of 50, the nextCursor paging contract, newest-first ordering, and that `include` expands the parent project chain.
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 short sentences, no filler, with the core purpose front-loaded and pagination details following. Every sentence carries distinct 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?
There is no output schema, so the description correctly compensates by describing the paginated return shape (50 per page, nextCursor) and the include-driven response expansion. An agent can call this correctly without further guessing.
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 baseline is 3, but the description adds meaning beyond the schema by characterizing the output ordering and clarifying that `include` loads the parent chain rather than just naming resources. The cursor explanation largely duplicates 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?
States a specific verb and resource ('List the segments configured for a project') plus a scope detail (newest first), which cleanly separates it from get-segment-tool and the create/update/delete siblings. It stops short of naming the alternative list tools explicitly, so it's clear but not sibling-differentiating in the strongest sense.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives practical calling guidance (up to 50 per page, follow `nextCursor` for more) and marks `include` as optional, which is implied usage context. It never states when to prefer this over get-segment-tool for a single segment or list-projects for the parent chain, so exclusions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-source-analytics-toolList Source Analytics ToolBRead-onlyIdempotentInspect
Per-source aggregates: the percentage of analyzed responses in the window that cited each domain, and the average number of citations from each domain per analyzed response. Paginated.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-indexed page number. Defaults to 1. | |
| tags | No | Tag IDs (prompt classifiers) to limit responses by. Optional. | |
| sort_by | No | Sort key. One of: used_percentage, average_citations. Defaults to used_percentage. | |
| end_date | Yes | Inclusive UTC end of the analytics window. Must be on or after `start_date` and on or before today. | |
| interval | No | Bucket granularity for time-series tools. One of: day, week, month, year. Required for time-series tools, ignored for aggregate tools. | |
| monitors | No | Monitor IDs in the active project. Optional. | |
| per_page | No | Page size, 1-100. Defaults to 25. | |
| sort_dir | No | asc or desc. Defaults to desc. | |
| countries | No | ISO-3166-1 alpha-2 country codes to include. Optional. | |
| platforms | No | AI platforms to include. Optional. Values: chatgpt, perplexity, gemini, grok, copilot, claude, google_ai_mode, google_ai_overview. | |
| project_id | Yes | Project to compute analytics for. | |
| start_date | Yes | Inclusive UTC start of the analytics window. ISO 8601 date (YYYY-MM-DD). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds that results are windowed aggregates and paginated, which is useful, but it does not state ordering behavior, default sort, or how empty windows are handled.
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 core computation and closed with the pagination trait. No filler and nothing misplaced.
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 12-parameter, read-only aggregate tool with full schema coverage, no output schema, and complete annotations, the description explains what the returned rows represent (per-domain citation percentage and average citations), which is the key missing piece absent an output schema. It omits any mention of the filtering dimensions, but those are fully documented in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 12 parameters, so the schema already documents dates, pagination, sort keys, and filters. The description only echoes the date window ('in the window') and pagination, adding no syntax or semantics beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific computation: per-domain citation share (percentage of analyzed responses citing each domain) and average citations per response. This is a clear verb+resource. However, it does not distinguish itself from the crowded analytics siblings (list-source-url-analytics-tool, get-source-type-analytics-tool, list-brand-analytics-tool), which an agent could easily confuse it 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?
There is no when-to-use or when-not-to-use guidance. With roughly a dozen sibling analytics tools that group the same underlying responses by different dimensions (source, source URL, source type, platform, prompt, brand, monitor), the description gives the agent no signal for choosing this tool over the alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-sources-toolList Sources ToolARead-onlyIdempotentInspect
List the sources cited by AI platforms when responding to a project's prompts, ordered by domain. Returns up to 50 per page; follow nextCursor to fetch additional pages. Optionally pass include to load the parent project chain.
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | Opaque pagination cursor. Omit on the first call; pass the `nextCursor` value from the previous response to fetch the next page. | |
| include | No | Optional comma-separated related resources to include in the response. Whitelisted: `project`, `project.organization`. | |
| project_id | Yes | The numeric id of the project whose sources should be listed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, closed-world, so the safety bar is low. The description still adds real behavioral context beyond them: a 50-item page cap, the nextCursor follow-up loop, and the fact that `include` loads the parent project chain. It does not describe failure or auth behavior, keeping it out of 5 territory.
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 short sentences, zero filler, with the core purpose front-loaded before pagination and the optional include parameter. Every sentence carries information an agent needs to call the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries return-value burden and does so partially: it names the returned entity (cited sources) and ordering (by domain) plus pagination. An agent knows what comes back and how to page, though richer result-shape detail is absent.
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 all three parameters (cursor, include, project_id) are already documented in the schema — baseline is 3. The description reinforces nextCursor and include but adds no syntax or meaning the schema lacks.
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?
States a specific verb ('List') and resource ('sources cited by AI platforms when responding to a project's prompts') with an explicit ordering ('by domain'). Clear on its own, but does not distinguish itself from close siblings like list-citations-tool or list-source-analytics-tool, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the scope phrase ('sources cited by AI platforms when responding to a project's prompts') and the optional `include` for the parent project chain, but there is no explicit when-to-use/when-not guidance and no naming of alternatives in a sibling set dense with other list-* source tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-source-url-analytics-toolList Source Url Analytics ToolBRead-onlyIdempotentInspect
Per-URL aggregates: the percentage of analyzed responses in the window that cited each URL, and the average citation count for each URL per analyzed response. Paginated.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-indexed page number. Defaults to 1. | |
| tags | No | Tag IDs (prompt classifiers) to limit responses by. Optional. | |
| sort_by | No | Sort key. One of: used_percentage, average_citations. Defaults to used_percentage. | |
| end_date | Yes | Inclusive UTC end of the analytics window. Must be on or after `start_date` and on or before today. | |
| interval | No | Bucket granularity for time-series tools. One of: day, week, month, year. Required for time-series tools, ignored for aggregate tools. | |
| monitors | No | Monitor IDs in the active project. Optional. | |
| per_page | No | Page size, 1-100. Defaults to 25. | |
| sort_dir | No | asc or desc. Defaults to desc. | |
| countries | No | ISO-3166-1 alpha-2 country codes to include. Optional. | |
| platforms | No | AI platforms to include. Optional. Values: chatgpt, perplexity, gemini, grok, copilot, claude, google_ai_mode, google_ai_overview. | |
| project_id | Yes | Project to compute analytics for. | |
| start_date | Yes | Inclusive UTC start of the analytics window. ISO 8601 date (YYYY-MM-DD). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish that this is a read-only, idempotent, non-destructive operation. The description adds useful behavioral context by stating that results are paginated and by defining the aggregate metrics, but it does not disclose authentication requirements, rate limits, or other operational constraints.
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 short sentences with no waste. It front-loads the core aggregate definition and then notes pagination, making it efficient and easy to scan.
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 12 parameters, no output schema, and read-only annotations, the description does a good job explaining the returned aggregates and pagination. It remains somewhat incomplete because it does not route the agent among the many source-URL analytics siblings or explain the paginated response shape in more detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% parameter description coverage, so the baseline expectation is a 3. The description mentions the analytics window and pagination, but adds no syntax, default, or filtering semantics beyond what the schema already documents for all 12 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns per-URL citation aggregates, specifically the percentage of analyzed responses citing each URL and the average citation count per response. This is a specific verb/resource description, but it does not distinguish this tool from close siblings such as get-source-url-usage-time-series-tool or list-source-url-prompt-analytics-tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives, nor does it state prerequisites or exclusions. It only implies that the tool is for aggregate, paginated per-URL analytics rather than time-series or prompt-level breakdowns.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-source-url-prompt-analytics-toolList Source Url Prompt Analytics ToolBRead-onlyIdempotentInspect
Per-prompt citation analytics scoped to one source URL: how many distinct analyzed responses on each prompt cited the URL in the window, plus the most recent citation date. Paginated.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-indexed page number. Defaults to 1. | |
| tags | No | Tag IDs (prompt classifiers) to limit responses by. Optional. | |
| sort_by | No | Sort key. One of: citation_count, last_cited_on, prompt, monitor_name. Defaults to citation_count. | |
| end_date | Yes | Inclusive UTC end of the analytics window. Must be on or after `start_date` and on or before today. | |
| interval | No | Bucket granularity for time-series tools. One of: day, week, month, year. Required for time-series tools, ignored for aggregate tools. | |
| monitors | No | Monitor IDs in the active project. Optional. | |
| per_page | No | Page size, 1-100. Defaults to 25. | |
| sort_dir | No | asc or desc. Defaults to desc. | |
| countries | No | ISO-3166-1 alpha-2 country codes to include. Optional. | |
| platforms | No | AI platforms to include. Optional. Values: chatgpt, perplexity, gemini, grok, copilot, claude, google_ai_mode, google_ai_overview. | |
| project_id | Yes | Project to compute analytics for. | |
| start_date | Yes | Inclusive UTC start of the analytics window. ISO 8601 date (YYYY-MM-DD). | |
| source_url_id | Yes | Source URL to scope the analytics to. Must belong to a source in the named project. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, read-only, non-destructive call, so the safety profile is covered. The description adds useful behavioral detail beyond the annotations: the metric definition (distinct analyzed responses that cited the URL), the recency field, and that results are paginated. It stops short of explaining ordering defaults or what the pagination envelope contains.
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 short sentences with no filler; the core metric definition is front-loaded and 'Paginated.' efficiently flags the result shape. The one loose end is the trailing fragment, which is terse but slightly jarring next to the denser first sentence.
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 read-only aggregate with full schema coverage and no output schema, the description supplies the essential missing piece: what the tool actually returns (per-prompt citation counts plus most recent citation date) and that it pages. It lacks only a note on default sort/pagination behavior, which the schema partially covers.
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 all 13 parameters (window, sort_by/sort_dir, page/per_page, tags, monitors, platforms, countries, interval) are documented in the schema itself. The description adds no param-level meaning beyond what the schema provides, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (list) and a precise resource: per-prompt citation analytics scoped to one source URL, with the computed fields (distinct cited responses count and most recent citation date) spelled out. It implicitly separates itself from list-source-url-analytics-tool by being per-prompt rather than per-URL-aggregate, but it never names a sibling to route the agent explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use/when-not guidance and no named alternative despite a dense cluster of sibling analytics tools (list-source-url-analytics-tool, list-prompt-analytics-tool, get-source-url-usage-time-series-tool). An agent must infer from the phrase 'scoped to one source URL' which of the many analytics endpoints to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-tags-toolList Tags ToolARead-onlyIdempotentInspect
List the tags configured for a project, newest first. Returns up to 50 per page; follow nextCursor to fetch additional pages. Optionally pass include to load the parent project chain.
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | Opaque pagination cursor. Omit on the first call; pass the `nextCursor` value from the previous response to fetch the next page. | |
| include | No | Optional comma-separated related resources to include in the response. Whitelisted: `project`, `project.organization`. | |
| project_id | Yes | The numeric id of the project whose tags should be listed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely new behavior: deterministic newest-first ordering, a 50-item page cap, and the nextCursor continuation contract, none of which appear in the annotations or schema.
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 short sentences, front-loaded with the core action and ordering, followed by pagination and expansion details. Every sentence carries distinct information with no 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?
There is no output schema, so the description correctly carries the return contract: ordering, page size, and the nextCursor field name. Combined with the annotated safety profile and fully documented parameters, an agent has everything needed to call this 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%, so the baseline is 3, but the description adds meaning beyond the schema by explaining what 'include' accomplishes ('load the parent project chain') and how 'cursor' is used across calls. That is a modest but real lift over the raw parameter docs.
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?
States a specific verb and resource with scope ('tags configured for a project') plus an ordering guarantee ('newest first'), which is more than a restatement of the name. It does not explicitly distinguish itself from get-tag-tool or other list-* siblings, so it falls just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the pagination flow ('follow nextCursor to fetch additional pages') and the optional 'include' expansion, which tells the agent how to iterate and how to enrich results. However, it never states when to choose this tool over get-tag-tool or when not to use it, so guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-users-toolList Users ToolARead-onlyIdempotentInspect
List the members of an organization, ordered by name. Returns up to 50 per page; follow nextCursor to fetch additional pages.
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | Opaque pagination cursor. Omit on the first call; pass the `nextCursor` value from the previous response to fetch the next page. | |
| organization_id | Yes | The numeric id of the organization whose members should be listed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds genuinely new behavior: a hard page cap of 50 and the nextCursor continuation pattern, which the agent needs to enumerate fully. It stops short of describing error behavior or ordering ties.
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, zero filler, with the core purpose front-loaded and pagination second. Every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly supplies return-shape information (ordering and page size) that would otherwise be missing, which is the right call. A mention of the default page when cursor is omitted or total-count behavior would make it fully 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% and both parameters are fully documented in the schema, including the cursor semantics. The description only echoes the nextCursor concept, adding no format or constraint detail beyond what the schema already 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 states a specific verb and resource ('List the members of an organization') plus an ordering guarantee ('ordered by name'), so the agent knows exactly what it returns. It does not need to differentiate against a confusing sibling since no other tool lists users, but it also makes no explicit sibling reference, keeping it short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, when-not-to-use, or alternative tool named. The only usage-shaped information is the pagination instruction, which is behavioral rather than a routing guideline. The resource scoping hints at the context but the agent must infer it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update-brand-toolUpdate Brand ToolADestructiveIdempotentInspect
Overwrites the given fields; previous values are not kept. Update a brand's display name, aliases, domains, or ignored state. Every field is optional, so send only the fields to change; the aliases and domains lists replace the current ones in full. A brand's kind is derived from context rather than written: pass ignored: true to stop tracking a brand (it is detached from every segment as the mark is set), ignored: false to return an ignored brand to the discovered pool, attach it to a segment to make it a competitor, or designate it through the update-project tool's brand_id to make it the own brand. The own brand cannot be ignored.
| Name | Required | Description | Default |
|---|---|---|---|
| aliases | No | The names Pineprompt matches against when it attributes a mention to the brand. Aliases are stored as sent and compared while ignoring casing and punctuation. On update the list replaces the current one; on create it defaults to the display name. | |
| domains | No | The domains Pineprompt matches against when it attributes a citation to the brand. Full URLs are accepted and reduced to bare lowercase hosts. On update the list replaces the current one. | |
| ignored | No | Pass true to ignore the brand, detaching it from every segment, or false to return an ignored brand to the discovered pool. The own brand cannot be ignored. | |
| brand_id | Yes | The numeric id of the brand to update. | |
| display_name | No | The name the brand is shown under (2 to 255 characters). Display names are unique per project, case-insensitive, and may not collide with an alias of another brand. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: it discloses that prior values are discarded, that aliases/domains lists replace in full, that ignored:true detaches the brand from every segment, and that the own brand cannot be ignored. These side effects and constraints are exactly what the destructiveHint alone would not convey.
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?
Front-loads the destructive 'previous values are not kept' warning, then proceeds logically through fields and kind derivation. It is dense but every sentence carries information; only minor overlap with schema descriptions makes it feel slightly long.
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 mutation tool with no output schema, the description covers the overwrite contract, list-replacement semantics, and all the derived-state/kind rules an agent needs. Nothing essential to calling it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so the baseline is 3, and the description adds real value by explaining that brand kind is derived from context rather than written on the brand, and how ignored maps to pool/competitor/own-brand states. Some replacement semantics duplicate the schema text, capping it below a 5.
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?
States a specific verb+resource (update a brand) plus the exact mutable fields (display name, aliases, domains, ignored state), and the first sentence flags the overwrite behavior. An agent can immediately distinguish this from create-brand-tool and from the list-/get-brand 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?
Gives clear guidance on partial updates ('send only the fields to change') and routes kind changes to alternatives (attach to a segment, or designate via update-project's brand_id). It lacks an explicit 'do not use this to create a brand' exclusion, but the alternatives for the tricky case are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update-monitor-toolUpdate Monitor ToolADestructiveIdempotentInspect
Active prompts are sent daily to third-party AI search engines (for example ChatGPT, Gemini and Perplexity) on Pineprompt's schedule, which uses plan quota. Overwrites the given fields; previous values are not kept. Update an existing monitor. Every field is optional, so send only the fields to change; a field that is omitted keeps its current value. Platforms sent without a country are validated against the monitor's stored country, and a country sent without platforms must be supported by every platform the monitor already runs on.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | A human-readable name for the monitor (max 120 characters). | |
| country | No | ISO 3166-1 alpha-2 country code (2 letters, e.g. "US", "NL"). Must be supported by all selected platforms. | |
| language | No | Language tag (e.g. "en", "nl"), max 10 characters. | |
| is_active | No | Whether the monitor should run on schedule. Pass false for an inactive/paused monitor. | |
| platforms | No | AI platforms to run prompts against. Allowed: chatgpt, perplexity, gemini, grok, copilot, claude, google_ai_mode, google_ai_overview | |
| monitor_id | Yes | The numeric id of the monitor to update. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real context beyond annotations: 'Overwrites the given fields; previous values are not kept' corroborates destructiveHint=true, and the quota note ('uses plan quota') discloses a cost side effect not captured by any annotation. This is genuinely useful behavioral disclosure, though it stops short of return/permission details.
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 core statement ('Update an existing monitor') is buried behind an opening sentence about daily scheduled prompts and plan quota, which is context rather than the operation. The overwrite vs. omitted-keeps-value statements are both present and slightly redundant, diluting a description that could be 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?
For a mutation tool with no output schema, the description covers the partial-update contract and the tricky platforms/country validation rule, which is what an agent needs to call it correctly. It omits error/return behavior, but no output schema exists to lean on.
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?
With 100% schema coverage the baseline is 3, but the description adds cross-field semantics the schema lacks: platforms-without-country are validated against the stored country, and country-without-platforms must be supported by all existing platforms. This is meaningful behavior 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?
States a clear verb+resource ('Update an existing monitor'), and the surrounding sentences establish it operates on monitors with name/country/language/platforms/is_active. It is distinguishable from create/delete-monitor siblings by the explicit 'existing' framing, though it does not name those alternatives directly.
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?
Gives concrete usage guidance: 'Every field is optional, so send only the fields to change; a field that is omitted keeps its current value.' It also explains the conditional validation between platforms and country, telling the agent how to compose valid input. No explicit when-not-to-use or sibling routing, so not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update-organization-toolUpdate Organization ToolBDestructiveIdempotentInspect
Overwrites the given fields; previous values are not kept. Update an existing organization. Every field is optional; a field that is omitted keeps its current value.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | A human-readable name for the organization (max 80 characters). | |
| organization_id | Yes | The numeric id of the organization to update. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is covered. The description adds genuine behavioral value by spelling out the partial-update semantics: named fields are overwritten and lost, while omitted fields retain current values. This clarifies exactly what 'destructive' means here, though it says nothing about permissions or error behavior.
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 short sentences with no wasted words, but the structure is slightly off: it leads with overwrite semantics before identifying the operation, and the third sentence restates what the first already established. Merging the first and third sentences would front-load the purpose more effectively.
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 two-parameter mutation tool with no output schema, the combination of rich annotations (destructive, idempotent), full schema coverage, and the description's partial-update semantics is nearly sufficient. The only shortfall is the absence of any precondition or permission context, which is a minor gap given the annotation coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the schema, which sets the baseline at 3. The description reinforces optionality ('every field is optional; omitted keeps current value') but adds no syntax or format detail beyond what the schema already declares.
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?
States a specific verb (update) and resource (an existing organization), so the agent knows exactly what operation this performs. It does not explicitly name or differentiate itself from sibling update-*-tool variants, but the resource is unambiguous in the name and description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus alternatives such as get-organization-tool, create-organization-tool, or delete-organization-tool. The sentence 'Update an existing organization' implies the pre-existing-record precondition but never states it as a rule or routes the agent to a sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update-project-toolUpdate Project ToolADestructiveIdempotentInspect
Overwrites the given fields; previous values are not kept. Update an existing project. Every field is optional, so send only the fields to change; a field that is omitted keeps its current value. Pass brand_id to designate one of the project's brands as its own brand, the one visibility is anchored against. The own brand is implicit in every segment and is never ignored, so it leaves any segments and sheds any ignored mark as it takes the role; a previous own brand derives back to discovered. Pass null to leave the project without an own brand.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | A human-readable name for the project (max 120 characters). | |
| brand_id | No | The numeric id of one of the project's brands to designate as the own brand, or null to leave the project without one. The brand leaves any segments and sheds any ignored mark as it takes the role. | |
| project_id | Yes | The numeric id of the project to update. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, and the description adds substantial behavior beyond them: overwrite semantics ('previous values are not kept'), the keep-current-value rule for omitted fields, and the full side-effect chain of designating an own brand (leaves segments, sheds ignored marks, previous own brand reverts to discovered, null clears it). That is exactly the kind of destructive side-effect disclosure an agent needs.
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?
Every sentence carries information and the optional-field rule is stated plainly. The lead sentence about overwriting is placed before the identity sentence ('Update an existing project'), which slightly buries the purpose, and the own-brand passage is dense with domain jargon, but there is no 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?
For a 3-parameter mutation tool with no output schema, the description covers purpose, mutation semantics, partial-update behavior, and the tricky brand_id side effects, with annotations covering safety. Only error/failure behavior (e.g. unknown project_id or brand_id) is left unstated, a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds genuine meaning beyond the schema for `brand_id`: the 'own brand' concept, its implicitness in every segment, that it is never ignored, and the null-to-clear behavior. The schema's brand_id text partially overlaps this, which keeps it from a 5, but the added conceptual framing is real 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 states a specific verb and resource ('Update an existing project') and enumerates the mutable fields, so it is unmistakably distinct from create-project-tool, delete-project-tool and get-project-tool. It does not explicitly name a sibling, but the resource/verb combination is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear operational context: 'Every field is optional, so send only the fields to change; a field that is omitted keeps its current value,' which tells the agent exactly how to call it. It also explains when to pass `brand_id` and when to pass null. There is no explicit statement of when NOT to use this tool or which sibling to prefer, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update-prompt-toolUpdate Prompt ToolADestructiveIdempotentInspect
Active prompts are sent daily to third-party AI search engines (for example ChatGPT, Gemini and Perplexity) on Pineprompt's schedule, which uses plan quota. Overwrites the given fields; previous values are not kept. Update an existing prompt. Every field is optional, so send only the fields to change; a field that is omitted keeps its current value. Pass monitor_id to move the prompt to another monitor in the same project (collected responses move with it), or tags to replace the prompt's full set of tag ids.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tag ids that replace the prompt's full tag set. Each tag must belong to the same project as the prompt. Optional; omitted means the tags are left unchanged. | |
| prompt | No | The prompt text to run against the monitor's AI platforms (max 2000 characters). | |
| is_active | No | Whether the prompt should run on schedule. Pass false for an inactive/paused prompt. | |
| prompt_id | Yes | The numeric id of the prompt to update. | |
| monitor_id | No | Move the prompt to this monitor. The monitor must belong to the same project as the prompt; collected responses move with the prompt. Optional; omitted means the prompt keeps its current monitor. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, and the description reinforces this with "Overwrites the given fields; previous values are not kept." It also adds operational context about active prompts consuming plan quota, which goes beyond the annotations. It does not mention auth requirements or rate limits, so it earns a 4 rather than 5.
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 core purpose sentence sits behind a scheduling/quota preamble, so the definition is not front-loaded with the verb+resource. It also re-states schema parameter semantics, adding some redundancy; the content is reasonable but not tightly trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a fully-covered input schema, the description covers what the tool does, its overwrite behavior, and the quota context for active prompts. It omits any indication of what the call returns, which is a minor gap for a mutation 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%, so the schema already documents all five parameters including monitor_id adjustment and tag replacement. The description largely repeats those semantics ("move the prompt to another monitor in the same project", "replace the prompt's full set of tag ids") without adding syntax or format details, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource ("Update an existing prompt") and clarifies mutation semantics, which separates it from create-prompt-tool and delete-prompt-tool. It stops short of naming siblings or explicitly contrasting, so it's clear but not maximally differentiated.
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 gives useful field-level guidance ("send only the fields to change", use monitor_id to move, tags to replace the full set), which implies when fields apply. However there is no explicit when-to-use vs alternatives, no prerequisites, and no when-not guidance, so usage is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update-segment-toolUpdate Segment ToolADestructiveIdempotentInspect
Overwrites the given fields; previous values are not kept. Rename an existing segment. The name is optional, so a call that omits it leaves the segment unchanged. Names are unique per project, case-insensitive, so renaming to a duplicate (in any casing) returns an error.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | The segment label (max 64 characters). Names are unique per project, case-insensitive, so "Direct Competitors" and "direct competitors" collide. | |
| segment_id | Yes | The numeric id of the segment to update. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, but the description adds real substance: 'previous values are not kept' spells out what is destroyed, and the uniqueness/case-insensitivity rule explains a concrete failure mode. It doesn't cover auth requirements or confirm whether partial updates are atomic, but the added context is genuinely 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?
Four short sentences, front-loaded with the destructive overwrite warning before the rename semantics. The uniqueness/error sentence is the main point of interest and lands last, and the case-insensitivity detail is duplicated in the schema, which costs a small amount of economy.
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 two-parameter mutation with rich annotations and no output schema, the description covers destruction semantics, optionality, and the duplicate-name error path — everything the agent needs to call it correctly. Return-value explanation is unnecessary here.
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 documents both parameters, including the 64-character limit and the case-insensitive collision rule. The description's note that name is optional mostly restates the schema's required list, so this is the baseline 3 rather than 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 states a specific verb and resource — 'Rename an existing segment' — and reinforces it with 'Overwrites the given fields.' Sibling tools operate on other resources (brand, tag, prompt), so the agent can distinguish this from create-segment-tool/delete-segment-tool without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'existing segment' signals this is a mutation on an already-created object rather than create-segment-tool, but the description never says when to choose this over siblings or states prerequisites. It does add useful edge-case guidance (omitting name leaves the segment unchanged; duplicates error), which pushes it above a bare 2.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update-tag-toolUpdate Tag ToolADestructiveIdempotentInspect
Overwrites the given fields; previous values are not kept. Update an existing tag's name and color. Every field is optional, so send only the fields to change; a field that is omitted keeps its current value. Names are unique per project, case-insensitive, so renaming to a duplicate (in any casing) returns an error.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | The tag label (max 64 characters). Names are unique per project, case-insensitive, so "Branded" and "branded" collide. | |
| color | No | The tag color. Must be one of: gray, red, orange, amber, green, teal, blue, indigo, violet, pink. | |
| tag_id | Yes | The numeric id of the tag to update. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so safety is partly covered. The description adds genuinely useful context beyond them: overwrite semantics for supplied fields, retention of omitted fields, and the case-insensitive uniqueness error on rename.
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?
Front-loads the overwrite behavior, then layers in the partial-update and uniqueness details, with no wasted sentences. Minor tension between the opening 'previous values are not kept' and the later 'omitted keeps its current value' phrasing costs a point.
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 three-parameter mutation tool with no output schema but full annotation coverage, the description supplies the destructive/overwrite behavior, partial-update semantics, and error condition an agent needs. Nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents tag_id, name, and color fully. The description's notes on optional fields and case-insensitive uniqueness largely restate schema content, adding little beyond the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (update) and resource (tag), and names the mutable fields (name and color). An agent can readily distinguish it from create-tag-tool, delete-tag-tool, and get-tag-tool in the sibling list.
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?
Explains the partial-update contract clearly (send only the fields to change, omitted fields retain current values) and warns about the duplicate-name error. It does not explicitly route to sibling alternatives, but the when-to-use context is well established.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update-user-toolUpdate User ToolADestructiveIdempotentInspect
Overwrites the given fields; previous values are not kept. Change a user's role within an organization. Allowed roles are admin and member; the organization owner's role cannot be changed and users cannot be promoted to owner.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | The new role for the user. Allowed values: admin, member. Promoting to owner is not supported. | |
| user_id | Yes | The numeric id of the user whose role should be changed. | |
| organization_id | Yes | The numeric id of the organization the user is a member of. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, but the description adds real value beyond them: it discloses that the operation overwrites fields and that previous values are not kept, and it documents the owner-role restriction that will reject certain calls.
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 short, dense sentences with no filler. The ordering is slightly awkward (the generic overwrite caveat precedes the statement of what the tool actually does), but everything stated earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-purpose mutation with full annotation coverage and no output schema, the definition covers the destructive semantics and the business-rule restrictions. It omits auth/permission requirements and any error behavior, which are minor gaps given what the annotations already convey.
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 all three parameters (role, user_id, organization_id) are already documented in the schema, including the role enum values and the no-owner restriction. The description restates the role constraints but adds no syntax or format detail 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 names a specific verb and resource: changing a user's role within an organization, plus an explicit field-update statement. It is clearly distinguishable from siblings such as delete-user-tool or list-users-tool, though it does not explicitly contrast with the other update-*-tool 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?
Usage is implied by the constraints stated (allowed roles are admin and member; owner's role cannot be changed; promotion to owner unsupported), which tells the agent when the call will fail. There is no explicit when-to-use vs alternative guidance or routing to a sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
65 tool updates
- First observed
attach-brand-to-segment-tool - First observed
attach-tag-to-prompt-tool - First observed
create-brand-tool - First observed
create-invitation-tool - First observed
create-monitor-tool - First observed
create-organization-tool - First observed
create-project-tool - First observed
create-prompt-tool - First observed
create-segment-tool - First observed
create-tag-tool - First observed
delete-invitation-tool - First observed
delete-monitor-tool - First observed
delete-organization-tool - First observed
delete-project-tool - First observed
delete-prompt-tool - First observed
delete-segment-tool - First observed
delete-tag-tool - First observed
delete-user-tool - First observed
detach-brand-from-segment-tool - First observed
detach-tag-from-prompt-tool - First observed
get-brand-mention-tool - First observed
get-citation-tool - First observed
get-monitor-tool - First observed
get-organization-tool - First observed
get-position-time-series-tool - First observed
get-project-tool - First observed
get-prompt-tool - First observed
get-response-tool - First observed
get-segment-tool - First observed
get-sentiment-time-series-tool - First observed
get-share-of-voice-time-series-tool - First observed
get-source-tool - First observed
get-source-type-analytics-tool - First observed
get-source-url-type-analytics-tool - First observed
get-source-url-usage-time-series-tool - First observed
get-source-usage-time-series-tool - First observed
get-tag-tool - First observed
get-visibility-time-series-tool - First observed
list-brand-analytics-tool - First observed
list-brand-mentions-tool - First observed
list-brands-tool - First observed
list-citations-tool - First observed
list-monitor-analytics-tool - First observed
list-monitors-tool - First observed
list-organizations-tool - First observed
list-platform-analytics-tool - First observed
list-projects-tool - First observed
list-prompt-analytics-tool - First observed
list-prompts-tool - First observed
list-responses-tool - First observed
list-segments-tool - First observed
list-source-analytics-tool - First observed
list-source-url-analytics-tool - First observed
list-source-url-prompt-analytics-tool - First observed
list-sources-tool - First observed
list-tags-tool - First observed
list-users-tool - First observed
update-brand-tool - First observed
update-monitor-tool - First observed
update-organization-tool - First observed
update-project-tool - First observed
update-prompt-tool - First observed
update-segment-tool - First observed
update-tag-tool - First observed
update-user-tool
Publisher details
- Operator
- Height Labs (Pineprompt) · Publisher source
- Operator website
- https://pineprompt.com
- Vendor relationship
- First-party
- Documentation
- https://pineprompt.com/docs
- Trust center
- Not available
- Restrictions
- Requires a paid Pineprompt subscription (Starter plan or higher, no free trial). Sign in with a Pineprompt account via OAuth. · Publisher source
Related MCP Connectors
Track your brand's visibility in ChatGPT, Perplexity, Claude, Gemini, Grok and DeepSeek answers.
Track your brand's visibility in AI search across Claude, ChatGPT, Perplexity, and Gemini.
Track brand visibility across ChatGPT, Claude, Gemini & Perplexity. Scores, competitors, trends.
AI-visibility monitoring for your brand across ChatGPT, Claude, Perplexity & Gemini.
Related MCP Servers
- AlicenseAqualityCmaintenanceTrack brand visibility across ChatGPT, Perplexity, Claude, and Gemini.6101 npm10MIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.164 npm1MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to monitor and analyze a brand's visibility across ChatGPT, Claude, Perplexity, and Google AI Overviews, providing insights, recommendations, and competitive analysis without switching tabs.25335 npm1MIT
- AlicenseAqualityCmaintenanceTrack how your brand appears in AI-generated answers across ChatGPT, Perplexity, and other AI models. Analyze visibility, sentiment, citations, and domain rankings with 31 tools — including analytics reports, chat inspection, query analysis, and full CRUD for brands, prompts, tags, and topics.1739 npm2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.