Vendo AI
Server Details
Autonomous AI sales: agents, signal-based prospecting, outreach, CRM — 149 tools.
- Status
- Unhealthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
149 toolsarchive_campaignArchive a campaignAInspect
Archive a campaign — it stops processing and is hidden from the default views.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses two meaningful behavioral traits: processing stops and the campaign is hidden from default views. However, it omits whether archiving is reversible, whether campaigns can be restored, and any permission requirements, which are relevant for a state-changing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler. The action is front-loaded and the two key consequences are stated compactly, with every word earning 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-parameter tool, the immediate state change is covered, but with no annotations and no output schema, the description should also clarify reversibility and how archiving relates to pause_campaign and delete_campaign. Core details are present, but decision context is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not mention the id parameter or clarify that it identifies the campaign to archive. The parameter is simple and inferable from context, so the ambiguity is low, but the description adds no parameter-level meaning.
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 ('Archive') and resource ('a campaign') and states concrete resulting behavior: stops processing and is hidden from default views. This clearly differentiates it from pause_campaign and delete_campaign.
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 archive is appropriate by describing its effect, but it does not explicitly compare with pause_campaign or delete_campaign, nor does it mention reversibility or prerequisites. Usage context is present but not directly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buy_audience_setBuy an audience setAInspect
SPENDS CREDITS (2 per contact). Purchases the set and snapshots its contacts into the workspace. Only call after the user reviewed preview_buy_audience_set output and explicitly approved the cost.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It clearly warns about credit spending ('SPENDS CREDITS (2 per contact)') and describes the core side effect of purchasing and snapshotting contacts. It could mention reversibility or failure behavior, but the cost warning and prerequisite cover the most critical behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler. The most important information (credit cost) is front-loaded, followed by action and a clear prerequisite. Every phrase 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-parameter purchase action with no output schema, the description covers the essential context: cost, effect, and approval condition. It does not describe the return value or behavior when the set is already purchased, but the low complexity and clear precondition make this 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 describes only an 'id' string with no description. The description hints that the id identifies 'the set' being purchased, which adds some meaning, but it never explicitly states 'id is the audience set identifier.' Since schema coverage is 0%, the description must compensate more fully for parameter 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?
The description uses a specific verb ('Purchases') and resource ('the set'), and clarifies the side effect: 'snapshots its contacts into the workspace.' It also implicitly distinguishes itself from preview_buy_audience_set by framing itself as the actual purchase action. This is unambiguous and easy to differentiate from 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?
Provides explicit when-to-use guidance: only call after the user reviewed preview_buy_audience_set output and explicitly approved the cost. This is a strong precondition that prevents premature or unauthorized spending. It does not explicitly discuss alternatives like launch_audience_set, but the prerequisite is clear and valuable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_google_meetStart the Google Meet OAuth flowAInspect
Returns a Google OAuth URL. The user MUST open this URL in a browser and grant consent — the MCP cannot complete OAuth on its own.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It usefully reveals a non-obvious trait: the tool only returns a URL and cannot complete OAuth autonomously. This is a critical behavioral boundary that prevents the agent from assuming the connection is fully established. It does not cover side effects or state changes, but for a simple OAuth-start tool this is substantial transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler: the first states the core behavior, and the second delivers the essential user-action requirement. The critical instruction is front-loaded and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and the description covers the main flow and the key limitation, but it leaves the 'id' parameter entirely unexplained. There is also no output schema or return-value structure, so the description alone must define how the URL is returned; it only says a URL is returned without clarifying the response shape. This is adequate for basic use but incomplete for fully correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter, 'id', with no description, and schema description coverage is 0%. The tool description never mentions 'id' or explains what value should be supplied (e.g., user id, meeting id, workspace id). An agent cannot correctly determine what to pass for this parameter from any available text.
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: 'Returns a Google OAuth URL.' The title adds 'Google Meet OAuth flow,' which clearly identifies the tool's purpose and differentiates it from the other connect_* siblings such as connect_linkedin_account and connect_telegram_bot. No ambiguity remains about what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly instructs that the returned URL must be opened in a browser and that the MCP cannot complete OAuth on its own, giving the agent immediate next-step guidance. It does not explicitly name alternative tools or exclusion conditions, but the 'Start OAuth flow' title and unique Google Meet scope imply the appropriate context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_linkedin_accountGet a link to connect a LinkedIn accountAInspect
Returns a hosted URL that a HUMAN must open in a browser to authorise a LinkedIn account. This tool cannot complete the connection itself — give the link to the user. No account exists until they finish the flow.
| Name | Required | Description | Default |
|---|---|---|---|
| campaign_id | No | Optionally bind the new account to a campaign |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does it well: it discloses that human interaction is required, that this tool cannot finish the OAuth flow alone, and that no account exists until the user completes the flow. This is essential behavioral context beyond the simple 'returns a URL' summary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences that front-load the core behavior, then add the critical human-in-the-loop caveat. Every sentence earns its place and there is no redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description covers what the tool returns, what the agent should do with it, and the key state limitation (no account until flow completion). Nothing essential is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents campaign_id with 100% coverage, so the description does not need to repeat it. However, the description adds no additional meaning about how the optional campaign binding behaves or what happens when it is omitted. Baseline 3 is appropriate because the schema handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action (returns a hosted authorization URL) and a specific resource (LinkedIn account), clearly distinguishing it from reconnect_linkedin_account and disconnect_linkedin_account. It is explicit that this tool only produces a link and does not complete the connection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear operational guidance: the URL must be opened by a human and the agent must give it to the user, since the tool cannot complete the connection itself. It does not explicitly name alternatives such as reconnect_linkedin_account, but the context makes the usage scenario sufficiently clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_telegram_botConnect a Telegram bot to the agentBInspect
The user creates a bot with @BotFather, gets the HTTP API token, and passes it here. After that, all messages to the bot are answered by the agent.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| bot_token | Yes | Telegram Bot API token from @BotFather |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It does disclose an important behavioral consequence: after connection, all messages to the bot are answered by the agent. However, it does not mention side effects, whether an existing connection is replaced, validation behavior, or failure modes.
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 compact and front-loaded with the setup steps and the resulting behavior. Both sentences earn their place with no filler, though slightly more structure around prerequisites and effects would improve it.
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 connect action, the description covers the main setup flow and the end-state behavior. But with no output schema and no annotations, it would be more complete if it explained what the id parameter represents, what the user should expect as a response, and any constraints such as one bot per agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%: bot_token is documented, but id has no description. The description adds context for bot_token by referencing @BotFather, but it never explains what id refers to, even though it is a required parameter. The description does not compensate for the undocumented id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and outcome: the user passes a BotFather token and afterwards all messages to the bot are answered by the agent. This clearly identifies the tool as the establishment of a Telegram connection, distinguishing it from disconnect_telegram_bot and get_telegram_bot_info, though it does not explicitly name those alternatives.
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 to use it: when the user has a bot token from @BotFather and wants the agent to handle incoming messages. However, it gives no explicit guidance about when not to use it, what to do if a bot is already connected, or how it compares to related tools like get_telegram_bot_info.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_agentCreate a new agentAInspect
Create a new AI sales agent. Costs 1 credit. The agent is created in DRAFT status and does not start contacting anyone — you still need to attach it to a campaign and launch the campaign. Required: name + description. Company info (name/website/description) is required BEFORE generating a sales script, so you can either pass it here OR call set_agent_company later.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Agent's display name (e.g. 'Sales agent for Acme') | |
| description | Yes | A short description of the agent itself (1-2 sentences, what it does) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses a real side effect (costs 1 credit), the DRAFT status, and importantly that the agent does not begin contacting anyone upon creation. This is strong behavioral context; only minor gaps remain, such as return value or failure 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?
The description is dense but not bloated, and it front-loads the core purpose and credit cost before explaining workflow steps. Every sentence adds relevant context, though the company-info sentence is slightly convoluted and could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description richly covers cost, draft behavior, required fields, and next steps, but it undermines itself by saying company info can be passed here when the schema does not allow it. This contradiction could cause an agent to construct an invalid call. The absence of any return-value guidance is also a minor gap since no output schema exists.
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 name and description already have clear parameter descriptions, so the baseline is 3. The description adds useful workflow context about required fields and company info, but it also says company info can be 'passed here' even though the schema has no such parameters and additionalProperties is false, which is misleading.
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 opens with 'Create a new AI sales agent,' naming a specific verb and resource. It is clearly distinct from siblings like create_campaign and set_agent_company, and the 'new' qualifier separates it from update_agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage context: required fields, DRAFT status, the fact that the agent won't contact anyone until attached to a campaign and launched, and the alternative of calling set_agent_company later for company info. This tells the agent exactly when and how to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_campaignCreate a campaign (DRAFT, not launched)AInspect
Create a new campaign in DRAFT status. The campaign is NOT launched — nobody is contacted until you call launch_campaign. Needs an audience id and an agent id.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| agentId | No | ||
| settings | No | ||
| audienceId | Yes | ||
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It clearly states that the campaign is created in DRAFT status and that no one is contacted until launch_campaign is invoked. This is useful side-effect transparency, though it does not mention other behavioral aspects like permissions or persistence.
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 compact: two sentences that front-load the core purpose and then add the critical non-obvious behavior (not launched, no contacts until launch_campaign). Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters, a nested settings object, no annotations, and no output schema, the description is incomplete. It leaves the name and settings parameters undocumented, provides no return-value information, and gives no guidance on errors or follow-up actions beyond mentioning launch_campaign.
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 0%, so the description must compensate, but it only explains the audience id and agent id by name. It does not explain the required 'name' parameter or the 'settings' object, and the statement 'Needs an audience id and an agent id' contrasts with the schema where agentId is optional.
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 the specific verb and resource: 'Create a new campaign in DRAFT status.' It also distinguishes this tool from launch_campaign by explicitly saying the campaign is not launched and nobody is contacted until launch_campaign is called.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: creating a campaign as a draft before launching. It references launch_campaign as the next step and names the required prerequisites (audience id and agent id), though it does not explicitly list exclusion conditions or alternatives such as update_campaign.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_add_commentAdd an internal comment on a leadAInspect
Internal team note on the lead card (not visible to the lead). Supports @mentions via user ids.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the behavioral burden. It discloses that the note is internal, not visible to the lead, and supports @mentions via user ids, which are genuinely useful behavioral traits beyond the fact that it adds a comment. It does not disclose return values or whether mentions notify users, but those are minor gaps for a simple creation 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?
Two sentences with no filler; the core behavior is stated first, and the additional mention feature is added in the second sentence. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation tool with no output schema and no annotations, the description is mostly functional, but it does not explicitly define the id parameter as the lead id or describe the expected response behavior. The internal visibility and mention support help, but the parameter ambiguity and lack of outcome information keep it from being 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 description coverage is 0%, so the description must compensate for the two undocumented parameters. It implies id refers to the lead and body contains the comment text, and mentions of user ids in body are supported, but it never explicitly defines what id and body mean or their expected formats. This is a significant gap even though the parameter names are suggestive.
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 pair: add an internal comment on a lead. It also distinguishes this from sibling communication tools by explicitly stating the comment is not visible to the lead, so an agent can tell it apart from crm_reply_to_lead or similar external-facing tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description communicates the use case clearly: an internal team note on a lead card, not visible to the lead. It does not explicitly name alternative tools or state when not to use it, but the visibility distinction provides enough context for an agent to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_communication_cardsList communication cardsAInspect
One card per campaign and per SDR search, with outbound counters. This is the FULL outbound stream — everyone contacted, whether or not they replied (CRM leads only contains people who answered). Read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden and explicitly states 'Read-only, free,' telling the agent this is a safe, non-mutating call. It also reveals important behavioral scope: results include everyone contacted, not just those who replied. Pagination and rate limits are not mentioned, but these are minor for a parameterless list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences deliver the core definition, the key scope distinction from CRM leads, and the safety/cost profile with no filler. The most important 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 parameterless read-only list tool with no output schema or annotations, the description is complete enough to invoke correctly: it states what is returned, how results are organized, how it differs from an alternative, and that it is free and safe. Minor return-format details could be added but are not necessary for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero properties, so there are no parameter semantics to clarify. The description still adds value by explaining what the returned cards represent and how they are grouped, which meets the zero-parameter baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and resource ('communication cards'), then defines the exact granularity: one card per campaign and per SDR search with outbound counters. It also distinguishes itself from CRM leads by clarifying this is the full outbound stream, not just people who replied.
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 a clear selection context: use this when you need the full outbound stream including non-responders, and it explicitly contrasts CRM leads as containing only people who answered. It does not name a sibling tool directly, but 'CRM leads' clearly maps to crm_list_leads, which is sufficient guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_communication_historyOutbound history for one cardAInspect
Every outbound touch for one campaign or SDR search, filterable by channel, reply status and date. Use crm_communication_cards first to get the id. Read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Campaign id or SDR search id | |
| to | No | ISO date | |
| from | No | ISO date | |
| type | Yes | ||
| limit | No | ||
| offset | No | ||
| channel | No | ||
| replied | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It states the operation is read-only and free, which is valuable safety/cost context. It also implies a list-style return by saying 'every outbound touch', though it does not detail pagination 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?
The description is two compact sentences. The first sentence states the tool's function and filtering capabilities, and the second adds the prerequisite and safety/cost context. There is no wasted wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, the description covers the essential invocation path: scope, filters, and the required preliminary call to crm_communication_cards. It does not describe the return format or pagination defaults, and there is no output schema to fill that gap, but the description is strong enough for correct selection and basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 38%, so the description must compensate. It clarifies the meaning of the core filters: channel, reply status (replied), and date range (to/from), and establishes that the id refers to a campaign or SDR search. However, it does not explain limit/offset semantics, and some parameter meaning is still left to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: every outbound touch for one campaign or SDR search, and lists the filtering dimensions (channel, reply status, date). It distinguishes itself from related tools like crm_communication_cards and crm_communication_thread by specifying this is the outbound-history view for a single campaign/SDR-search id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit prerequisite: use crm_communication_cards first to get the id. This tells the agent the required setup before calling. It does not explicitly name alternatives or when not to use this tool, but the context is clear enough for the main use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_communication_threadFull message thread for one contactBInspect
The complete message thread with one contact inside a card. key comes from a crm_communication_history row (an email address or LinkedIn chat id). Read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| key | Yes | Thread key from crm_communication_history | |
| type | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It does disclose that the operation is read-only and free, which is useful. However, it does not mention output format, pagination, error behavior, or how the id/type parameters affect the result.
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 tight sentences with no filler. The primary purpose is front-loaded, followed by the key source and the read-only/free 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 tool with no annotations, no output schema, and three required parameters, the description leaves important gaps. It does not define what `id` and `type` mean, how they relate to the card, or when to prefer this tool over closely related CRM communication tools. The read-only/free note is helpful but not 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 only 33%, and the description adds meaningful context for `key` by explaining that it comes from a crm_communication_history row and can be an email address or LinkedIn chat id. However, `id` and `type` remain effectively unexplained, leaving two required parameters ambiguous.
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 identifies the resource and scope clearly: the complete message thread with one contact inside a card. It is distinguishable from history/card-list tools because it emphasizes a full thread for one contact, though it lacks an explicit verb like 'retrieves' or 'returns' and does not name sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: to get a full message thread for one contact, using a key taken from a crm_communication_history row. It does not explicitly explain when to choose this over closely related siblings like crm_get_conversation or crm_communication_history, so guidance is partial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_create_calendar_eventCreate a CRM calendar eventAInspect
Add a custom event to the CRM planner. Write operation, no credit cost. Does NOT send invites to anyone — it only records the event on the internal calendar.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | ||
| title | Yes | ||
| all_day | No | ||
| ends_at | No | ISO datetime | |
| starts_at | Yes | ISO datetime |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the full burden of behavioral disclosure and delivers: it flags that this is a write operation, that it incurs no credit cost, and most importantly, that it will not send invites and only writes to the internal calendar. These are non-obvious side-effect characteristics that an agent must know before invoking.
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 are front-loaded with the core purpose and follow with the cost and side-effect caveat; every sentence carries distinct information without redundancy. This is an efficiently sized 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?
Given the moderate complexity of five parameters and the absence of both annotations and an output schema, the description covers purpose, cost, and key side-effect limitations, which is strong. It is slightly incomplete in not stating what the tool returns after creation and not specifying any required credentials or permissions, though the schema covers required parameters.
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 only 40% (only starts_at and ends_at have 'ISO datetime' descriptions), yet the description adds no parameter-level meaning—title, notes, and all_day remain unexplained. The tool description doesn't mention any of the five parameters, so it fails to compensate for the schema's gaps.
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 opens with the specific verb-resource pairing 'Add a custom event to the CRM planner,' which clearly names the action, the object, and the destination. It also sets the tool apart from sibling update/delete/list calendar tools by framing this as a creation action, and the no-invite caveat differentiates it from meeting/connect tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when this tool is appropriate: creating an internal CRM calendar event, and it explicitly excludes the use case of sending invitations ('Does NOT send invites to anyone'). No alternative sibling is named, so the guidance is strong but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_create_leadCreate a lead manuallyAInspect
Add a lead card to the New stage. ALL fields optional — provide whatever is known (at least one non-empty). Side-effect: a card appears on the customer board.
| Name | Required | Description | Default |
|---|---|---|---|
| No | |||
| phone | No | ||
| title | No | ||
| last_name | No | ||
| first_name | No | ||
| company_name | No | ||
| linkedin_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It explicitly discloses the visible side effect of creating a card on the customer board and notes that all fields are optional but at least one must be non-empty. It could add return-value or duplicate-handling details, but the key mutating behavior is clearly stated.
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 worded sentences: the first states the action and target stage, the second gives the input rule and the side effect. No filler or repetition; essential 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 simple creation tool with seven optional string parameters, no annotations, and no output schema, the description covers the main needs: what will be created, where it appears, and the minimum input requirement. Minor gaps such as the exact return payload or duplicate policy are acceptable for this 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 0%, so the description must compensate. It adds a global constraint (all fields optional, at least one non-empty), which is valuable, but it does not clarify ambiguous fields such as 'title' or acceptable formats. Parameter names like email, phone, first_name, and company_name are mostly self-explanatory.
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 the specific action 'Add a lead card to the New stage' and the resource, clearly distinguishing it from sibling tools like crm_update_lead, crm_move_lead, or delete_crm_lead. The title reinforces the manual-creation intent.
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?
Clear context: this is the tool for initially creating a lead card in the New stage, with a practical rule that at least one non-empty field is required. It does not explicitly name alternatives or when-not-to-use conditions, but the use case is evident relative to update/move/delete siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_create_stageCreate a pipeline stageAInspect
Add a custom kanban column (name, optional hex color). Inserted before the terminal stages (Won/Lost).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| color | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It usefully discloses that the new stage is inserted before the terminal Won/Lost stages, which goes beyond the schema. However, it omits mutation side effects, permission requirements, idempotency, and what the tool 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 short sentences with no filler. The first sentence front-loads the action and object, and the second adds placement context. Every word contributes.
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 low-complexity tool with only two scalar parameters and no output schema, the description supplies the essential context: what is created, what parameters mean, and where it will appear. It lacks return-value and caveat details, but the overall invocation intet is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains 'name' as the kanban column label and clarifies that 'color' is an optional hex color, which adds format meaning beyond the plain string type. It does not state constraints like valid hex format details, but for two simple parameters this is adequate.
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 ('Add') and resource ('custom kanban column') with concrete details: name, optional hex color, and placement before Won/Lost. This clearly distinguishes it from siblings like crm_update_stage and delete_crm_stage.
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 verb 'Add' and the description imply this is the tool for creating a new pipeline stage, and the placement note gives useful context. However, it does not explicitly compare against crm_update_stage, delete_crm_stage, or crm_list_stages, nor state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_delete_calendar_eventDelete a CRM calendar eventAInspect
Remove a custom calendar event. Unlike deleting a lead or a stage this destroys no history and needs no preview step, but it cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it discloses key behavioral traits: the operation destroys no history, needs no preview step, and cannot be undone. This is meaningful beyond the schema, though it omits details like success/error behavior or permission 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 tight sentences with no filler. The core action is front-loaded, and the second sentence adds high-value contrasts (no history, no preview, irreversible) without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter delete operation, the description covers the essential behavioral context and the important warning about irreversibility. It does not specify return values or error states, but the lack of an output schema and the simplicity of the tool make the definition reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage and the description does not explain the 'id' parameter. The resource name implies id refers to the calendar event, but no explicit meaning, format, or example is provided, so the description fails to compensate for the missing schema documentation.
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 ('Remove') and resource ('custom calendar event'), and immediately contrasts itself with deleting a lead or stage. This clearly differentiates crm_delete_calendar_event from the many delete/preview-delete siblings in the tool 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?
The description conveys when this direct delete path is appropriate: unlike deleting a lead/stage, no preview step is needed. It does not explicitly name or contrast all alternatives (e.g., crm_update_calendar_event) but gives enough context for an agent to select this over preview-based deletion tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_enrich_from_linkedinEnrich a person from a LinkedIn URLAInspect
Fetch name / title / current employer / avatar / location for a linkedin.com/in/... URL (same lookup the SDR hunters use). May also suggest an email as an UNVERIFIED pattern guess (email_confidence=pattern_guess). Costs one profile view from the workspace's shared daily LinkedIn budget — do not loop over big lists.
| Name | Required | Description | Default |
|---|---|---|---|
| linkedin_url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With zero annotations, the description carries the full disclosure burden and does so thoroughly: it reveals the cost side effect (one profile view from the shared daily budget), the data-quality caveat that emails are UNVERIFIED pattern guesses with email_confidence=pattern_guess, and the scope of returned data. This is rich behavioral context for an agent deciding whether to invoke the 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 sentences front-load the core behavior, then layer the email caveat and cost warning, with each clause carrying operational weight. The parenthetical 'same lookup the SDR hunters use' is mild color rather than hard information, keeping this just short of zero-waste.
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 tool with no annotations or output schema, the description covers inputs (URL format), outputs (five fields plus optional unverified email), and operational impact (budget cost). It omits the prerequisite that a LinkedIn account must be connected (a gap given siblings connect_linkedin_account/list_linkedin_accounts) and any failure behavior when the budget is exhausted or the profile is not found.
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 0% and the lone linkedin_url parameter has no schema documentation, so the description must compensate — and it does by specifying the expected format (a linkedin.com/in/... URL). It stops short of stating validation/error behavior for malformed URLs, but the format constraint is the essential semantic for correct invocation.
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 ('Fetch') with a concrete resource (a linkedin.com/in/... URL) and enumerates the exact fields returned (name/title/current employer/avatar/location), making the tool's function unmistakable. It doesn't explicitly name a sibling to differentiate from, though the LinkedIn-URL input makes it inherently distinct from CRM and SDR siblings like sdr_get_person_detail or crm_get_lead.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear operational context and an explicit exclusion: it costs one profile view from the shared daily LinkedIn budget and 'do not loop over big lists.' However, it never names an alternative tool for cases the agent might confuse (e.g., sdr_get_person_detail or crm_get_lead), so routing guidance is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_get_conversationGet lead conversation threadAInspect
The full message thread with this lead on their source channel (LinkedIn / email / widget / telegram / phone transcript). Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the key trait 'Read-only,' which signals a safe, non-mutating operation, and it clarifies the scope of returned data by listing the channel types. It omits edge-case behavior (e.g., missing lead, empty thread) and return format, but the central safety-relevant trait is covered.
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 totaling about twenty words, with the core function front-loaded in the first sentence and the behavioral note in the second. Every word earns its place and there is zero 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 one-parameter getter with no output schema and no annotations, the description adequately covers what is returned, the scope, and the read-only nature. The remaining gaps are the implicit id semantics and the lack of any distinguishing guidance against the similarly named sibling crm_communication_thread, which an agent would benefit from.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter `id` has no schema description (0% coverage), so the description must compensate. The phrase 'with this lead' implies that id refers to a lead, which is a useful hint, but it never explicitly states 'id is the CRM lead ID' and leaves ambiguity between a lead identifier and a conversation identifier.
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 resource ('the full message thread with this lead on their source channel') and enumerates the channel types (LinkedIn / email / widget / telegram / phone transcript), which clearly identifies what the tool returns. The title supplies the verb 'Get.' However, it does not differentiate from sibling crm_communication_thread, which by name could plausibly return the same thing, so it falls short of full sibling 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?
The phrase 'full message thread with this lead' implies the use case: retrieve the complete source-channel conversation for a single lead when you need full context. But there is no explicit when-to-use versus when-not-to-use guidance, and no alternatives are named despite the closely related siblings crm_communication_thread and crm_communication_history.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_get_leadGet one CRM lead (full detail)AInspect
Full lead card: identity, source ("why is this person here"), company enrichment, activities, comments, assignments. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden and it does state 'Read-only' plus the data categories returned. This covers the most important behavioral trait for a get tool, though it does not discuss not-found behavior or response formatting.
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 compact sentences, front-loaded with 'Full lead card' and a concise field list. The parenthetical clarifying source as 'why is this person here' adds meaningful context without unnecessary length.
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 read-only tool with no output schema, the description gives a useful summary of the returned lead-card sections and explicitly indicates safety. It could be more complete with error or missing-record behavior, but it is adequate for this level of complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never explains the `id` parameter, its format, or its relationship to the CRM lead. The schema's required `id` is self-explanatory by name, but the description adds no parameter meaning to compensate for the missing schema-level descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: retrieving one CRM lead with full detail, and lists the exact sections returned (identity, source, company enrichment, activities, comments, assignments). The 'Read-only' qualifier and 'full detail' wording help distinguish it from list, update, and delete 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 phrase 'Full lead card' implies this is the single-lead detail getter, contrasting with list-style tools like crm_list_leads, and 'Read-only' signals it is not a mutation tool. However, there is no explicit statement of when to use it instead of alternatives or when not to use it, so the guidance remains implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_get_settingsGet CRM settingsAInspect
Read CRM settings, including the notify_* toggles that control which events send an email/notification. Read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden and explicitly discloses the operation is read-only and free. This covers side effects and cost, though it does not mention authentication or rate limits—minor gaps for a zero-parameter getter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the core purpose and then add the most decision-relevant details: the notify_* toggles and the free/read-only nature. There is 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 simple, zero-parameter read operation, the description provides enough context: what resource is read, what notable settings are included, and the side-effect/cost profile. It does not describe the exact return shape, but no output schema exists and the tool name makes the return obvious.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the empty schema already fully documents the input surface. The description adds no parameter-specific detail, but none is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads CRM settings and even specifies the notify_* toggles as part of what is exposed. The verb 'Read' cleanly distinguishes it from the sibling crm_update_settings and other CRM getters.
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 read/write distinction is clear from the description, making it obvious when to call this versus crm_update_settings. 'Read-only, free' also signals that this is the safe, no-cost option, though it does not explicitly name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_list_calendar_eventsList CRM calendar eventsAInspect
List custom calendar events (meetings, reminders) in the CRM planner for a date range. Note: SDR sending windows also appear in the UI calendar but are derived from the search schedule — read those via sdr_get_search. Read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ISO date, end of range | |
| from | No | ISO date, start of range |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure and does so by stating 'Read-only, free.' It also clarifies data scope: only custom CRM events, not derived SDR schedule entries. It does not describe return format or pagination, but for a simple read-only list this is solid.
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 filler. The main action is front-loaded, and the disambiguation note about SDR windows 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 low-complexity tool with two flat parameters and no output schema, the description covers event type, date range, read-only/free status, and the key sibling distinction. It could clarify default behavior when optional `from`/`to` are omitted, but overall it is complete enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both `from` and `to` already have clear ISO date descriptions. The description's 'date range' phrasing adds no new parameter-level meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: 'List custom calendar events (meetings, reminders) in the CRM planner for a date range.' It also distinguishes this from SDR-derived UI calendar entries, so an agent can tell it apart from related calendar 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?
It explicitly warns that SDR sending windows appear in the same UI calendar but are not the domain of this tool, directing the agent to `sdr_get_search` for those. This is a clear when-to-use and alternative mapping.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_list_leadsList CRM leadsAInspect
List leads in the CRM pipeline. Filters: stage (stage id), source (e.g. linkedin_outreach_reply, email_reply_real, widget_chat, manual), q (name/company/email search), range (24h|7d|30d|90d|180d|1y|all), limit/offset. Read-only. Great first call for "who replied to me?".
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| range | No | ||
| stage | No | ||
| offset | No | ||
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explicitly states 'Read-only' and details filter semantics, including source examples and allowable range values, which is meaningful context for a list tool. It stops short of describing ordering, pagination 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?
The description is compact and well-structured: the action is front-loaded, followed by a tight filter list and a practical use-case note. Every sentence carries useful 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?
It covers all parameters, the read-only nature, and a concrete use case, which is strong for a first-call list tool. However, with no output schema, it omits what the response contains, default ordering, and default range, leaving minor uncertainty for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description fully compensates by explaining every parameter: stage as a stage id, source with concrete examples, q as name/company/email search, range with allowed values, and limit/offset for pagination. This adds substantial meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'List leads in the CRM pipeline.' It is easily distinguished from sibling tools such as crm_get_lead (single lead), crm_list_stages, and other CRM operations, and the filter list reinforces its scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a concrete use case: 'Great first call for "who replied to me?"' and emphasizes that it is read-only. However, it does not explicitly name alternatives or state when-not-to-use it, leaving some routing decisions to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_list_linkedin_accountsList connected LinkedIn accountsAInspect
List the LinkedIn accounts connected to this workspace, as shown in the CRM. Useful to see which account owns a conversation. Read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It explicitly states the operation is read-only and free, and it clarifies the scope as workspace-level accounts. It does not describe auth requirements, return format, or pagination, but for a zero-parameter list operation the key behavioral traits are covered.
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 adding value: the action, a practical use case, and the safety/cost note. The description is front-loaded with the verb and resource and contains 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 simple zero-parameter, read-only tool with no output schema, the description adequately covers scope, use case, and behavioral traits. It does not detail the exact fields returned by the account list, but that is a minor gap given the operation's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. There is no parameter documentation needed, and the description does not need to compensate for missing schema details.
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 LinkedIn accounts connected to the workspace as shown in the CRM. This clearly identifies the tool's purpose. It does not explicitly differentiate from the sibling 'list_linkedin_accounts', relying on the 'crm_' prefix and 'as shown in the CRM' phrasing to imply 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?
The description offers a concrete use case—'useful to see which account owns a conversation'—which implies when an agent should call it. However, it provides no explicit guidance on when not to use it or how it compares to similar tools like list_linkedin_accounts, leaving the routing decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_list_notificationsList CRM notificationsBInspect
List CRM notifications (new lead, new reply, stage change). Read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| unread_only | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It does state 'Read-only, free,' which is useful and directly addresses side effects and cost. But it does not mention return shape, ordering, pagination, or any other runtime behavior beyond the fact that it lists notifications.
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 exceptionally concise: one core action, useful examples in parentheses, and a two-word behavioral note. No filler, no redundant schema repetition, and the most important 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 simple list operation with two optional parameters and no output schema, the description covers the core purpose and safety profile. However, it lacks parameter explanations and sibling differentiation, so an agent still has to make assumptions about unread_only behavior and how this tool fits among notification-related 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 0%, and the description does not explain 'limit' or 'unread_only'. The agent must infer their meaning entirely from names and types, so the description adds no value beyond the bare input 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 states a specific verb and resource: 'List CRM notifications', and enriches it with concrete notification types ('new lead, new reply, stage change'). This distinguishes it from siblings like crm_list_leads or crm_mark_notification_read without needing to open 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 phrase 'Read-only, free' gives some selection context, implying this is a safe, non-mutating retrieval. However, it does not explicitly contrast this tool with crm_mark_notification_read or crm_mark_all_notifications_read, and it does not state when to use this over other CRM list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_list_stagesList pipeline stagesAInspect
Ordered kanban columns for this workspace (id, name, color, is_terminal). Read-only. Call before moving leads.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It states that the call is 'Read-only', that results are ordered, and enumerates the returned fields. It does not mention edge cases or pagination, but for a simple workspace-level list this is adequate.
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 carry purpose, scope, output fields, ordering, read-only status, and usage guidance with no filler. The key info is front-loaded and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only list with no output schema, the description supplies everything needed to invoke it correctly: what it returns, in what order, for which scope, and why an agent should call it before moving leads. No critical context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema confirms this with an empty properties object. Per the baseline for parameterless tools, this is a 4; the description adds no parameter semantics because none exist, and its field list refers to return values rather than inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('List pipeline stages') and clarifies it returns 'ordered kanban columns for this workspace' with the exact fields (id, name, color, is_terminal). This clearly distinguishes it from sibling tools that create, update, or delete stages.
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 explicit usage directive: 'Call before moving leads.' This ties the tool directly to crm_move_lead and makes when-to-use unambiguous. It also marks the call as read-only, reinforcing the safe, preparatory role.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_list_workspace_agentsList agents visible in CRMAInspect
List the AI agents in this workspace that CRM leads can be attributed to. Read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the safety burden and explicitly states 'Read-only, free.' This tells the agent the operation has no side effects and no credit cost. It could add more about response shape, but for a simple list operation this is solid behavioral disclosure.
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 wasted words. The core purpose is front-loaded, and the behavioral note 'Read-only, free' is compact and valuable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list tool, the description provides all essential context: what is listed, the workspace scope, the CRM attribution semantic, and the side-effect/cost profile. No output schema exists, but the return value is naturally inferable as a list of agents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline for parameter semantics is 4. The description adds meaningful context about what the returned agents are used for, though no parameter-level detail is needed.
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 AI agents in this workspace that CRM leads can be attributed to.' This clearly distinguishes it from generic sibling tools like list_agents and list_agents_with_stats by scoping it to CRM-attributable agents.
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 intended use context is clear: use this tool when you need the set of workspace agents eligible for CRM lead attribution. It does not explicitly name alternatives or exclusions, but the CRM-specific scope makes the appropriate selection obvious among sibling list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_list_workspace_membersList workspace membersAInspect
List the people in this workspace who can own a CRM lead. Use before reassign_crm_lead to get valid owner ids. Read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states 'Read-only, free,' which adds some behavioral context beyond the input schema (which has no annotations). However, it doesn't disclose details like what the output format is, whether it returns full member profiles or just IDs, or any rate limits. The 'free' claim is useful but not fully transparent about the returned data.
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 earning its place: what it lists, when to use it, and its read-only no-cost nature. Extremely efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only list tool, the description is nearly complete. The main missing piece is the output shape — the agent knows it gets valid owner IDs but not whether the response includes names, emails, or other fields. Still, given the tool's simplicity, this 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?
The tool has zero parameters, so there is no parameter semantics to explain. The description's scoping phrase ('people in this workspace who can own a CRM lead') adds meaning about what the returned list contains, which compensates for the lack of any schema detail. Baseline 4 for zero-param tools is appropriate here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action (List) and resource (people in this workspace who can own a CRM lead), which immediately distinguishes it from the many sibling list tools like crm_list_leads or list_agents. The title is also clear and consistent with the 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?
Explicitly tells the agent when to use it: 'Use before reassign_crm_lead to get valid owner ids.' This is direct usage guidance that links to a sibling tool and provides a concrete workflow context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_mark_all_notifications_readMark all notifications as readAInspect
Clear the CRM notification badge by marking everything read.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It clearly discloses the primary behavioral effect: all notifications are marked read and the badge is cleared. It does not discuss irreversibility or response behavior, but for this simple state-change operation the stated effect is the core 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?
One sentence with no filler. It front-loads the action ('Clear the CRM notification badge') and immediately provides the mechanism ('marking everything read'), making it efficient and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema operation, the description is complete: it states purpose, scope, and effect. Nothing essential is missing for an agent to decide 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?
The input schema has zero parameters and 100% schema description coverage, so there are no parameter details to clarify. The rubric baseline for zero-parameter tools applies, and the description introduces no misleading parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb and resource: 'marking everything read' to 'Clear the CRM notification badge.' The name and description emphasize 'all' vs. the sibling crm_mark_notification_read, so an agent can tell them apart without extra context.
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 use case is implied by the title and description: use this when you want to clear the whole badge rather than mark a single notification read. However, there is no explicit mention of when-not-to-use or a direct pointer to crm_mark_notification_read as the alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_mark_notification_readMark one notification as readAInspect
Mark a single CRM notification as read. Write operation, no credit cost.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explicitly discloses that this is a 'Write operation' and that there is 'no credit cost,' which are important behavioral traits. It does not detail idempotence, return values, or error behavior, but for this simple state-changing operation the disclosure is reasonably complete.
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 consists of two short sentences with no filler. The operation is stated first, and the relevant behavioral notes (write, no credit cost) follow concisely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (one required parameter, no output schema, no nested objects), the description provides enough information for an agent to invoke the tool correctly. It omits return-value details and prerequisites, but these are unlikely to be essential for a straightforward mark-as-read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must compensate. It does so by identifying the object as a 'CRM notification,' making it clear that the required 'id' parameter refers to a notification ID. This adds meaning beyond the bare schema definition of 'id' as a string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Mark') and a specific resource ('a single CRM notification'), with the end state 'as read'. The qualifier 'single' distinguishes it from the sibling crm_mark_all_notifications_read, so an agent can tell them apart.
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 word 'single' implies this tool is for one notification at a time, contrasting with the sibling crm_mark_all_notifications_read, but it does not explicitly name alternatives or state when not to use this tool. The usage context is clear enough to infer, but the guidance is not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_move_leadMove lead to another stageAInspect
Drag-and-drop equivalent: move a lead to a different pipeline stage by stage_id (get ids from crm_list_stages). Reversible.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| stage_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It usefully discloses that the operation is reversible and analogous to a drag-and-drop UI action, but it does not mention required permissions, behavior on invalid stage_id, or whether any data 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?
The description is a single, front-loaded sentence with no filler. Every clause carries information: the action, the target, the ID source, and reversibility. The em-dash structure puts the core action first.
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 low-complexity two-parameter operation, the description covers purpose, stage_id sourcing, and reversibility. However, the absence of annotations and an output schema means the description should also convey success/return behavior and confirm what 'id' refers to; these are not explicitly addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has two bare string parameters with 0% description coverage. The description adds meaning for stage_id by directing the agent to crm_list_stages for valid IDs, but it does not explicitly identify 'id' as the lead identifier or its source. Inference from the tool name and sentence covers this partially, so a mid score 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 specifies the exact action ('move'), the resource ('a lead'), the target ('a different pipeline stage'), and the mechanism ('by stage_id'). It also invokes a familiar 'drag-and-drop equivalent' semantic and names the relevant sibling crm_list_stages for id discovery, making it distinguishable from broader tools like crm_update_lead or reassignment operations.
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 provides clear usage context: use this tool when a lead should be moved between pipeline stages, and it explicitly instructs the agent to get stage IDs from crm_list_stages. It stops short of naming exclusions or alternatives such as crm_update_lead or reassign_crm_lead, so it does not reach a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_reply_to_leadSend a reply to a lead (REAL outbound message)AInspect
Sends a REAL LinkedIn message or email reply to the lead on their source channel, from the customer's own account. Also moves the lead to the "Manager Dialog" stage. ALWAYS show the drafted text to the human and get approval BEFORE calling this.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral burden. It discloses that this sends a real external message from the customer's own account and also moves the lead to a specific stage, plus the required human-approval step. These are material behavioral traits that go well beyond the 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?
The description is compact, front-loads the core action, and uses a clear imperative warning. Every sentence contributes meaningful information 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 two-parameter tool with no output schema and no annotations, the description covers the main concerns: real message, source channel, sender identity, stage update, and human approval. It is somewhat thin on return values or failure behavior, but those are not critical for invoking this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain either parameter in terms of expected values or formats. The 'text' parameter is indirectly referenced as 'drafted text,' but 'id' is never clarified as the lead identifier or how it should be resolved, leaving the agent to infer from the tool name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action, sends a REAL LinkedIn message or email reply to the lead on their source channel from the customer's account, and also notes the stage change. It clearly distinguishes this from sibling tools like crm_add_comment or crm_move_lead by emphasizing the real outbound nature and source-channel behavior.
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 a clear safety directive that the drafted text must be shown to a human and approved before calling. It establishes the appropriate context for use but does not explicitly name alternatives or state when not to use this tool versus other CRM communication tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_statsCRM pipeline statsAInspect
Counts per stage, new today/this week, stale leads. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations at all, so the description carries the full burden of behavioral disclosure. It explicitly states 'Read-only,' which is valuable side-effect information, and clarifies the kinds of counts returned. It does not define 'stale,' but for a simple no-parameter stats endpoint the added transparency is sufficient.
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 extremely compact: one sentence containing the key metrics and a read-only warning. Every phrase adds information, and the most distinctive output ('Counts per stage') 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 zero-parameter, read-only stats tool, the description covers the essential context: what the tool counts and that it has no side effects. It does not define the 'stale' threshold or timezone semantics, but these are minor gaps for such a simple tool and no output schema exists to provide more structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing for the description to document. The baseline of 4 applies here because no parameter semantics are needed and the description correctly focuses on the tool's output rather than nonexistent inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('CRM pipeline stats') and specifies exactly what it produces: counts per stage, new leads today/this week, and stale leads. This is specific enough to distinguish crm_stats from crm_list_leads, crm_list_stages, and other CRM listing tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The read-only, aggregate nature of the tool makes its intended use reasonably clear: get pipeline summary counts rather than individual lead details. However, it does not explicitly state when to prefer this over sibling tools like crm_list_leads or crm_list_stages, nor does it mention any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_update_calendar_eventUpdate a CRM calendar eventAInspect
Edit an existing custom calendar event. Write operation, no credit cost.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| notes | No | ||
| title | No | ||
| all_day | No | ||
| ends_at | No | ||
| starts_at | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It does disclose that this is a write operation and that there is no credit cost, which is useful safety/billing context. It does not mention partial-update semantics, whether unspecified fields are preserved, or any permission requirements, but the core mutation behavior is clear.
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 filler. The primary action is front-loaded, and the additional behavioral notes ('Write operation, no credit cost') are both relevant and efficiently stated.
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 update tool, this is adequate but not complete. It does not explain whether omitted optional fields are left unchanged or cleared, nor does it describe what the tool returns in the absence of an output schema. An agent can likely proceed, but some behavior would need to be inferred.
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 0% and there are six parameters, yet the description provides no detail about id, notes, title, all_day, starts_at, or ends_at. The schema's names and types carry all parameter meaning, and the description does not compensate for the lack of datetime formats, constraints, or update 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?
The description states a specific verb and resource: 'Edit an existing custom calendar event.' It clearly differentiates from sibling tools like crm_create_calendar_event and crm_delete_calendar_event by emphasizing 'existing,' so an agent can identify the intended 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 phrase 'Edit an existing' provides clear context that this tool is for modifying already-created events, not for creating new ones. However, it does not explicitly name alternatives like crm_create_calendar_event or state when-not-to-use, so it stops short of a fully explicit routing guide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_update_leadUpdate lead fieldsCInspect
Patch lead attributes (name, company, title, email, phone, notes, tags, deal_value). Reversible.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| No | |||
| notes | No | ||
| phone | No | ||
| title | No | ||
| last_name | No | ||
| deal_value | No | ||
| first_name | No | ||
| company_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It does add a useful 'Reversible' note and implies a partial update via 'Patch', but it omits critical traits like required id, side effects, and return values. Worse, it lists 'tags' as a patchable attribute while the schema has additionalProperties: false, and 'name'/'company' don't cleanly map to first_name/last_name/company_name, making the behavior somewhat misleading.
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 appropriately brief and front-loaded: the core verb and resource appear immediately, and 'Reversible' is a distinct, useful behavioral note. The brevity is a strength, though the inaccurate field list slightly undermines the clarity that conciseness is supposed to provide.
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 9 parameters, 0% schema descriptions, no annotations, and no output schema, this description is far from complete. An agent cannot determine the exact accepted fields, the requirement of id, how field aliases map to schema properties, or what a successful patch returns. The description provides a high-level summary but not enough to invoke the tool correctly without external knowledge.
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 0%, so the description must compensate by explaining parameters. It names several fields but doesn't cover all nine schema properties, doesn't indicate that id is required, and introduces unsupported fields like 'tags'. The mapping between 'name' and first_name/last_name, or 'company' and company_name, is ambiguous, leaving agents unable to construct a correct request confidently.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb (Patch/Update) and resource (lead), and enumerates target attributes, which separates it from tools like crm_create_lead or crm_get_lead. However, it doesn't explicitly distinguish itself from other lead-related mutation tools like crm_move_lead or reassign_crm_lead, and some listed attributes ('name', 'company', 'tags') don't match the schema's actual field names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as crm_create_lead, crm_move_lead, reassign_crm_lead, or delete_crm_lead. No prerequisites, exclusions, or contextual conditions are provided; the description simply states the operation without situating it among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_update_settingsUpdate CRM settingsAInspect
Change CRM settings — e.g. mute new-lead or new-reply notifications while an integration drives the CRM itself. Write operation, no credit cost. Turning notifications off means the human stops being alerted, so confirm with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| notify_new_lead | No | ||
| notify_new_reply | No | ||
| notify_stage_change | No | ||
| analytics_emails_enabled | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that this is a write operation, that it has no credit cost, and that turning notifications off has a real human consequence. This is meaningful behavioral context beyond the 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 sentences, all earning their place: what it does, cost/safety context, and a user-confirmation warning. Front-loaded with the action and examples.
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 4-boolean settings tool with no output schema, the description covers the key operational concerns: what changes, cost, and human impact. It doesn't document all parameters, but the schema provides names and types, and the description gives enough context for the main use case.
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 0%, so the description must compensate. It names two of the four parameters (notify_new_lead, notify_new_reply) and gives them meaning, but it doesn't explain notify_stage_change or analytics_emails_enabled. The description adds some value but leaves half the parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Change') and resource ('CRM settings') and gives concrete examples (mute new-lead or new-reply notifications). It is distinguishable from siblings like crm_get_settings and crm_update_lead, though it doesn't explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a concrete use case ('while an integration drives the CRM itself') and a clear caution ('confirm with the user first'). It doesn't explicitly say when to use an alternative, but the context is clear enough for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crm_update_stageRename / recolor a pipeline stageAInspect
Rename or recolor a stage. System stages (New, Manager Dialog) cannot be renamed.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| name | No | ||
| color | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure. It adds a useful restriction: 'System stages (New, Manager Dialog) cannot be renamed.' However, it omits other behavior such as color format, reversibility, permission needs, or effects on leads/workflows.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler; the core action comes first and the critical system-stage constraint follows immediately. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple update tool, the core operation and a key restriction are present. However, without annotations or an output schema, an agent still misses details such as accepted color format, whether at least one update field is expected, and what the response will be.
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 0%, so the description must compensate. It maps 'rename' to name and 'recolor' to color and implies id identifies the target stage, but it does not explain color format, optionality, or constraints on id/name values beyond the bare 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 opens with the exact verb and resource ('Rename or recolor a stage'), clearly identifying an update operation on an existing pipeline stage. This contrasts with sibling tools like crm_create_stage, crm_delete_stage, and crm_list_stages, so an agent can distinguish it by intent.
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 intended use is implied: use this when a stage needs renaming or recoloring. The description does not name alternatives or explicitly say not to use it for creating/deleting stages, though it does note that system stages cannot be renamed as a limitation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deep_scan_agentDeep-scan an agent (15 credits, 60-180s)AInspect
Crawl 15+ pages of the agent's company website, extract people, contacts, pricing, social links. Saves to the agent. Costs 15 credits. Only call after preview_deep_scan and user approval.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| company_name | Yes | ||
| company_website | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses that the operation mutates state ('Saves to the agent'), costs 15 credits, takes 60-180 seconds, and requires prior approval. This is strong behavioral transparency for a paid write operation, though it could further clarify whether existing saved scan data is overwritten.
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 compact and front-loaded, covering scope, side effect, cost, and precondition in two dense sentences. Every sentence adds operational value, and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paid, state-mutating operation with no annotations and no output schema, the description covers the most important operational concerns: prerequisites, cost, duration, and persistence. However, it leaves the three required parameters under-specified and does not describe what happens after the scan completes or what return value the agent should expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, and the description does not explain the meaning of 'id', 'company_name', or 'company_website' as distinct parameters. It implies company_website is the site to crawl, but leaves 'id' and 'company_name' ambiguous, which is a significant gap given the agent must provide all three required fields.
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 action ('Crawl 15+ pages'), a specific resource ('the agent's company website'), and specific outputs ('people, contacts, pricing, social links'). It also states the side effect of saving to the agent, which clearly distinguishes it from preview-only or quick-scan sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides a precondition: 'Only call after preview_deep_scan and user approval.' This tells the agent exactly when it is appropriate to invoke this tool and references the sibling that must precede it, leaving no ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_agentDelete an agent (irreversible)AInspect
Permanently delete an agent. NOT reversible. Only call after the user has reviewed preview_delete_agent output and explicitly approved.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It explicitly states 'Permanently delete' and 'NOT reversible,' which are critical behavioral facts. It also adds the approval prerequisite. It does not describe cascading effects or permissions, but for a single-resource delete this is adequately transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences deliver the core action, irreversibility, and the required approval step. No filler or repetition; the most important safety 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 one-parameter destructive operation with no output schema, the description covers the essential context: what is deleted, that it is irreversible, and the prerequisite preview/approval flow. It could mention what happens to related data or the return response, but those are minor given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description does not explicitly document the `id` parameter. However, with only one required `id` property and a tool named delete_agent, the parameter's meaning is reasonably inferable. The description adds no format, source, or validation detail, so it only partially compensates for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Permanently delete an agent.' It also distinguishes the tool from its preview sibling by naming `preview_delete_agent`, and the resource differs clearly from delete_campaign and other deletion tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit invocation condition: only call after the user has reviewed `preview_delete_agent` output and explicitly approved. This is a clear when-to-use gate and helps the agent avoid destructive action without confirmation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_campaignDelete a campaign (irreversible)AInspect
Permanently delete a campaign. NOT reversible. Only call after the user has reviewed preview_delete_campaign output and explicitly approved.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the critical irreversible, destructive nature ('Permanently delete', 'NOT reversible') and the required human approval gate. This is exactly the kind of high-risk behavioral context an agent needs before invoking a deletion tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. The primary action is front-loaded, followed immediately by the irreversible warning and the approval prerequisite. 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 one-parameter deletion tool with no annotations and no output schema, the description provides everything needed to call it correctly: what it does, the destructive consequence, and the required precondition. It even points to the relevant preview tool for the approval workflow.
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 provides 0% property descriptions, so the description must compensate. The single `id` parameter is reasonably inferable as the campaign identifier from the tool name and title, but the description adds no explicit detail about the id's format, source, or meaning beyond what the schema name alone implies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Permanently delete a campaign.' It clearly distinguishes this destructive action from previewing deletion, and the title's 'irreversible' adds a strong scope cue. An agent can immediately tell this is the actual deletion tool, not a preview or archive operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit when-to-call condition: only after the user has reviewed `preview_delete_campaign` output and explicitly approved. It does not explicitly name alternatives like `archive_campaign` for reversible actions, but the prerequisite and warning are clear enough to prevent premature invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_crm_leadDelete a CRM lead (soft)AInspect
Soft-delete a lead — it disappears from the pipeline (restorable by support only). Only call after the user reviewed preview_delete_crm_lead output and explicitly approved.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full disclosure burden. It clearly reveals the soft-delete behavior, immediate effect on the pipeline, and that restoration is possible only by support. It does not mention side effects on associated data or response details, but the core safety-critical behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundant words. The action is front-loaded, the consequence is stated, and the approval gate is explicit. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides all essential safety-related context: the soft-delete nature, restorability constraint, and the required preview/approval workflow. It omits the return value or confirmation behavior and does not define the id format, but for a single-parameter delete operation, the critical information 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 coverage is 0% and the only parameter 'id' has no description. The tool description implies the id identifies the lead, but it does not explicitly state that. Since there is only one obvious parameter, the ambiguity is minimal, but the description does not compensate for the empty 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: 'Soft-delete a lead' with immediate consequence 'it disappears from the pipeline'. Clearly distinguishes this from the preview sibling by labeling it a soft delete and from other delete tools by targeting leads specifically.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the precondition: 'Only call after the user reviewed `preview_delete_crm_lead` output and explicitly approved.' This tells the agent exactly when to invoke this tool and implies the preview tool must be called first, preventing accidental destructive actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_crm_stageDelete a pipeline stageAInspect
Delete an EMPTY, non-system pipeline stage. Only call after the user reviewed preview_delete_crm_stage and explicitly approved.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It discloses that the operation is destructive, applies only to empty/non-system stages, and requires explicit user approval. This is meaningful safety context, though it doesn't explicitly mention irreversibility or error conditions.
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 filler. The core action and constraints are front-loaded, and the approval precondition follows logically. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter destructive tool with no output schema and no annotations, this description covers the essential context: what can be deleted, under what constraints, and the required approval step. Nothing critical is missing for an agent 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?
The schema has no description for the sole `id` parameter (0% coverage), and the description doesn't explain that `id` is the stage identifier or specify the expected value format. The tool name and context imply it, but the description adds no explicit parameter 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?
The description states a specific verb ('Delete'), a resource ('pipeline stage'), and two explicit constraints ('EMPTY, non-system'). This distinguishes it from the sibling preview_delete_crm_stage (preview vs. actual deletion) and update_crm_stage (modify vs. delete).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to call: only after the user reviewed `preview_delete_crm_stage` and explicitly approved. This gives a clear precondition and implicitly routes the agent to the preview sibling for the approval flow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
disconnect_google_meetDisconnect Google MeetAInspect
Revoke Google Meet for this agent. Existing meetings stay in the user's calendar.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It does add a useful side-effect ('Existing meetings stay in the user's calendar') beyond the title, but it does not explain reversibility, permissions, or what revoking affects beyond this one reassurance.
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 action is front-loaded and the clarifying side-effect is expressed economically.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple one-parameter tool, but the missing parameter semantics and lack of any guidance on what happens to the connection beyond the calendar note leave a modest completeness 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 0% and the description does not explicitly explain that 'id' identifies the agent whose Google Meet connection should be revoked. The phrase 'for this agent' hints at it, but the parameter semantics are left mostly to inference.
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 ('Revoke') and resource ('Google Meet for this agent'), clearly distinguishing it from connect_google_meet and other sibling tools. It also clarifies the relationship to meetings by stating they remain in the calendar.
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 intended use is implied by the verb 'Revoke' and the contrast with connect_google_meet among siblings, but no alternative is named and no explicit when-to-use or when-not-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
disconnect_linkedin_accountDisconnect a LinkedIn accountAInspect
Remove a LinkedIn account from the workspace. Any campaign or SDR search sending from it stops immediately and daily capacity drops. Only call after the user reviewed preview_disconnect_linkedin_account and explicitly approved.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It clearly discloses immediate effects: campaigns/SDR searches stop and daily capacity drops. It does not mention reversibility or idempotency, but the key operational consequences are transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, each carrying essential information: core action, immediate consequences, and the critical precondition. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple destructive tool with one parameter and no annotations or output schema, the description covers the key prerequisites and effects. It could be improved by specifying the id source, but the explicit reference to the preview step gives the agent enough context to identify the right account.
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 one required 'id' string with no description, and schema coverage is 0%. The description never explains what id refers to or where the agent should obtain it. While 'LinkedIn account id' is inferable, the description adds no parameter-specific meaning.
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: 'Remove a LinkedIn account from the workspace.' This clearly distinguishes it from related siblings like connect_linkedin_account, reconnect_linkedin_account, and preview_disconnect_linkedin_account.
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 explicit precondition: 'Only call after the user reviewed preview_disconnect_linkedin_account and explicitly approved.' This tells the agent exactly when the tool should be invoked and names the prerequisite sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
disconnect_telegram_botDisconnect Telegram botBInspect
Detach the bot from this agent. Bot keeps existing in Telegram but stops responding.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure. It does add a useful detail: 'Bot keeps existing in Telegram but stops responding', which clarifies that the bot is not deleted. However, it omits other traits that would be valuable for a mutation tool, such as permission requirements, reversibility, or impact on other agents. The disclosure is minimal but non-trivial.
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, front-loaded with the action ('Detach the bot from this agent') followed by the key behavioral note. Every word earns its place; nothing is redundant or extraneous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one required parameter, the description is incomplete because it does not explain what 'id' refers to, which is essential for correct invocation. The effect is described, but the missing parameter semantics leaves the agent unable to confidently call the tool. The lack of an output schema is not critical here, but the parameter gap is.
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 a single required 'id' parameter with 0% coverage (no description). The tool description does not mention 'id' at all, so the agent has no clue what the id represents (e.g., bot id, chat id, integration id). This is a critical gap given the facilitator's expectation that the description compensates when schema coverage is low.
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 'Detach' and the resource 'the bot from this agent', and adds the effect (stops responding). It clearly implies the inverse of connecting a Telegram bot, but does not explicitly name or contrast with sibling tools like connect_telegram_bot. This is clear but just short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implied: use this when you want to disconnect a Telegram bot from the agent. However, there is no explicit guidance on when not to use it, nor any mention of alternative tools (e.g., disconnect_google_meet, disconnect_linkedin_account). The context is inferred but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
duplicate_agentDuplicate an agentAInspect
Create a copy of an existing agent (new id, same config). Counts toward agent capacity.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It openly states a key side effect ('Counts toward agent capacity') and clarifies the copy's relationship to the original ('new id, same config'). It does not mention permissions or reversibility, but for a simple non-destructive duplication this is reasonably transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences carry all essential information with no filler. The core mechanism is front-loaded, and the capacity side effect is a separate, deliberate 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 one-parameter agent duplication action, the description covers the input semantics, the behavioral effect, and a quota-relevant consequence. It does not describe the return value, but with no output schema that is a minor omission rather than a blocking 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 0%, so the description must compensate. It does so by tying the lone id parameter to 'an existing agent,' which clarifies that id identifies the source agent to duplicate. Formatting or additional constraints are not needed for a single string parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific action ('Create a copy'), resource ('existing agent'), and unique semantics ('new id, same config'), clearly distinguishing it from create_agent and update_agent. The parenthetical compresses the core behavior into one precise clause.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'existing agent' plus 'copy' establishes clear context: use this when duplicating an already-created agent rather than building one from scratch. It does not explicitly name create_agent or update_agent as alternatives, 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.
generate_agent_descriptionGenerate company description from websiteBInspect
Use AI to draft a 2-3 paragraph company description. Costs 1 credit. Requires company_website already set.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It mentions cost and the prerequisite, but does not disclose what happens after generation — whether the description is returned, stored on the agent, or shown to the user — nor what the id parameter refers to.
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 that conveys the action, output length, cost, and prerequisite with no filler. Very efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description leaves out essential invocation details: what id should be, what the output looks like, and whether the generated description is persisted. For a tool with no output schema, this is too incomplete for an agent to use confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only defines id as a string, and the description gives zero explanation of what id means or how it relates to the agent. Schema coverage is 0%, so the description was expected to compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: draft a 2-3 paragraph company description using AI, and the title clarifies the source is a website. This distinguishes it from sibling tools like generate_agent_script or scan_website_quick, though it does not explicitly name alternatives.
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 a clear precondition: company_website must already be set, plus a cost warning of 1 credit. This tells an agent when the call is valid and set expectations, though it does not spell out when to prefer this over related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_agent_scriptGenerate sales / support / info scriptAInspect
Generate the agent's full sales script (8 stages) and email_script (for email/LinkedIn channels). Requires company_name AND company_description already set on the agent — call set_agent_company first. Costs 1 credit. Re-running OVERWRITES the existing script.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| purpose | No | ||
| script_style | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does well: it discloses that re-running overwrites the existing script, that it costs 1 credit, and that it requires company data to be present. It does not explain error behavior if the prerequisite is unmet or what the return value is, but the main mutation and cost effects are transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences deliver the output, the prerequisite, and the side effects with no wasted words. The main result is front-loaded, 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?
The description covers prerequisites, cost, overwrite behavior, and the two artifacts generated, which is solid context for a mutation tool. However, with no output schema and zero schema-level parameter descriptions, leaving id, purpose, and script_style unexplained means the context is not fully complete for a correct call.
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 0%, so the description needed to explain id, purpose, and script_style, but it does not. The title hints at sales/support/info and the schema enums are self-descriptive, yet nothing in the description maps parameters to outputs or explains what id refers to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates the agent's sales script and email_script, which is a specific verb plus resource and distinguishes it from generate_agent_description. However, it only mentions the sales variant in the body while the title and schema include support and info purposes, leaving a minor ambiguity about whether purpose selects the script type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly gives a prerequisite and a required sequence: company_name and company_description must already be set, and set_agent_company should be called first. It also warns about cost and overwrite behavior. It does not explicitly contrast this tool with alternatives like generate_agent_description, so it misses full when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_agentGet an agentAInspect
Fetch the full details of a single agent by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The agent UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. 'Fetch' clearly signals a read-only operation with no side effects, which is the core behavioral disclosure. It does not discuss not-found behavior or permissions, but for a simple fetch-by-id tool this is adequate.
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, well-structured sentence that front-loads the action, resource, and scoping condition. Every word contributes meaning 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 one-parameter read tool, the description plus schema is nearly complete. It clearly indicates the input and the expected scope of output ('full details'). The lack of an output schema and any note about invalid/missing ids is a minor gap but not critical for simple retrieval.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully documents the only parameter as 'The agent UUID' with 100% coverage. The description adds no further parameter meaning beyond restating that retrieval is by id, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Fetch'), a resource ('agent'), and a clear scope ('a single agent by id'). It distinguishes itself from list_agents and get_agent_plan_limits by emphasizing single-agent full-detail retrieval.
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 clearly implies when to use it: when you need full details for one specific agent by id. However, it does not explicitly mention alternatives or conditions for prefering a different tool, leaving some routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_agent_plan_limitsGet agent capacityAInspect
How many agents can the user create (base plan + purchased extra slots) vs how many they have. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses 'Read-only' which is a key behavioral trait, confirming it has no side effects. However, it does not mention any other behavioral aspects such as authentication requirements, rate limits, or whether the response is just a count or includes additional details. Given the tool's simplicity, the single disclosure may be adequate, but it falls short of fully explaining what happens during the 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?
The description is a single, concise sentence that front-loads the core purpose and includes the read-only trait. There is no wasted wording. Every word contributes meaning, and it is easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there are no parameters, no output schema, and the tool is a simple read-only query, the description is complete. It clearly explains what the tool returns (capacity vs. current usage) and that it is read-only. An agent can invoke it without needing additional context, and the description is sufficient for understanding its behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% (empty schema). The description does not need to explain any parameters because there are none. Per the rubric, a baseline of 4 is appropriate for zero-parameter tools, and the description does not claim anything contradictory.
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 what the tool does: returns the number of agents the user can create (base plan + purchased slots) versus how many they have. It uses a specific verb ('get') and resource ('agent plan limits', implied by the tool name and description). It distinguishes itself from sibling tools like get_agent, list_agents, and get_subscription_limits by focusing on capacity/availability. The purpose 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 gives context by noting it is read-only and implies it is for checking capacity, but it does not explicitly say when to use this tool versus alternatives. There is no mention of situations where one would prefer get_subscription_limits or list_agents, nor any exclusion criteria. The usage is implied but not stated explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_audienceGet one saved audienceAInspect
Read one saved audience with its filters and contact count. Read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It explicitly discloses 'Read-only, free,' which is valuable safety and cost information beyond what the title or schema shows. It also states the return contents (filters and contact count), adding meaningful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every phrase adds value: what it reads, what it returns, and behavioral safety/cost notes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read operation with no output schema, the description covers the key return contents (filters, contact count) and safety profile (read-only, free). It is slightly short on explicit parameter guidance, but the overall context is sufficient for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explicitly explain that the required 'id' parameter identifies the saved audience to read. The semantic is inferable from the tool name and title, but the description itself adds no direct guidance about the parameter's meaning, format, or source.
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: 'Read one saved audience' with its filters and contact count. It clearly differentiates from list_audiences (one vs. all) and get_audience_set (audience vs. audience set), so an agent can select it correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for reading a single saved audience by ID, but it does not explicitly state when to prefer it over alternatives like list_audiences or search_audience, nor does it mention any exclusions. Usage context is implied rather than directly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_audience_setGet one audience setAInspect
Details of one marketplace set by slug: size, description, freshness. Use the contact count here to work out the purchase cost (2 credits per contact). Read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Human-readable slug, not a UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It explicitly states 'Read-only, free,' and adds pricing context ('2 credits per contact'). This is strong for a simple read operation, though it doesn't describe response format 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?
Two sentences with no filler. The key details are front-loaded, and every clause adds value: scope, slug, returned fields, and cost calculation.
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-only tool with no output schema, the description is complete. It names the main return fields (size, description, freshness) and explains the cost-relevant contact count. Enough for an agent to call it correctly and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents the single slug parameter with a helpful note that it is a human-readable slug, not a UUID. The description adds that the slug identifies a 'marketplace set,' which is useful, but the schema already covers the parameter's core meaning, so this is baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Details of one marketplace set'), a specific resource ('by slug'), and names the returned fields (size, description, freshness). This clearly differentiates from siblings like list_audience_sets and get_audience_set_contacts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use this to view details of a single marketplace audience set and to compute purchase cost from the contact count. It does not explicitly name alternatives or exclusion conditions, but the marketplace-set framing and cost guidance make the intended use apparent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_audience_set_contactsPreview contacts in an audience setAInspect
Paginated preview of the contacts inside a marketplace set. Contact details stay masked until the set is purchased. Read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It says the operation is read-only, free, paginated, and that contact details remain masked until purchase. This meaningfully informs an agent about side effects and cost, which is strong for a simple 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?
Two short sentences deliver the core purpose, pagination behavior, masking caveat, and read-only/free status. Every clause earns its place, and the main action 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 simple three-parameter read tool, the description covers purpose, behavior, cost, and the key masking caveat. It does not describe the returned payload shape, but given the absence of an output schema and the simplicity of the operation, the definition is still adequately 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 0%, so the description must compensate, but it only says 'paginated,' which indirectly maps to limit and offset. It does not explain that slug identifies the marketplace set or describe parameter formats, defaults, or constraints. The tool name helps, but individual parameters are largely undocumented.
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 opens with a specific verb-resource pair: 'Paginated preview of the contacts inside a marketplace set.' This clearly distinguishes it from sibling tools like get_audience_set (set-level info) and buy_audience_set (purchasing), and the tool name reinforces the target resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear contextual guidance: this is for previewing contacts before purchase, and the masking note ('until the set is purchased') implies when it is appropriate. It does not explicitly name alternative tools or state when not to use it, but the pre-purchase preview purpose is evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_balanceGet credit balanceAInspect
Get the current credit balance for the account. Read-only, no side-effects, no cost.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It explicitly discloses that the operation is read-only, has no side-effects, and incurs no cost, which is valuable for an agent deciding safe execution.
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, front-loads the core action, and adds only the essential behavioral qualifier. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless read-only balance query, the description is largely complete. It does not describe the return format or whether the balance is live or cached, but the absence of an output schema makes this a minor gap for such a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and 100% schema coverage, so there is nothing for the description to add at the parameter level. The baseline of 4 applies because no parameter documentation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb and resource: get the current credit balance for the account. It is distinct enough from the broader credit-usage and transaction tools, though it does not explicitly differentiate itself from the closely named sibling get_balance_full.
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 guidance about when to use this tool versus alternatives such as get_balance_full, get_credit_transactions, or get_credit_usage_by_agent. An agent is left to infer the intended scope from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_balance_fullGet full billing balance + plan summaryAInspect
Richer than get_balance — returns balance, total subscription credits, total purchased, total spent, free-trial credits, email/workspace info.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It reveals that the tool returns balance, credits, spent amounts, free-trial credits, and email/workspace info, which gives a reasonable sense of its read-only nature and data scope. However, it does not mention any potential side effects, response format, or limits, and the phrase 'email/workspace info' is vague. The description does not contradict any annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence. It front-loads the key differentiator ('Richer than get_balance') and then lists the specific data points returned. Every word contributes value, with no redundant phrasing.
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 there is no output schema, the description should fully explain what the tool returns. It lists the main fields but leaves 'email/workspace info' vague and does not specify the exact structure or any limitations. While the tool is simple (no parameters), the description does not fully cover the output details an agent might need to trust its suitability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description need not explain parameter semantics. According to the rubric, a baseline of 4 is appropriate for 0 params. The description focuses on output rather than inputs, which is sufficient given the empty input 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 states a clear verb and resource ('returns balance, total subscription credits...') and explicitly differentiates from the sibling tool `get_balance` by calling itself 'Richer than get_balance'. This makes the tool's purpose unambiguous and distinct from its closest alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a clear context for when to use this tool versus `get_balance` by stating it is 'Richer than get_balance', implying the need for more detailed billing data. However, it does not explicitly name other alternatives like `get_credit_transactions` or `get_subscription`, nor does it describe when not to use those, so guidance is not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_campaignGet a campaignAInspect
Fetch full details of a single campaign: status, sequence, channel paused flags, today stats.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. 'Fetch' effectively communicates a read-only operation, but the description does not mention error handling, authorization needs, or what happens for invalid IDs. This is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the action and resource, then lists the specific fields returned. Every word contributes, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get-by-id tool with no output schema and no annotations, the description gives enough to call it correctly: what it does, the resource, and the kind of data returned. It could mention error or permission behavior, but that is a minor gap for this tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not explicitly define the 'id' parameter. However, with only one parameter named 'id' and the tool being get_campaign, its meaning is easily inferred. The description adds little semantic value beyond that inference.
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 ('Fetch'), identifies the resource ('a single campaign'), and lists distinctive content ('status, sequence, channel paused flags, today stats'). This clearly differentiates it from sibling tools like list_campaigns or update_campaign.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'single campaign' implies use when you need detailed data for one campaign rather than a list, but it does not explicitly name alternatives or state when not to use the tool. Usage context is implied, not direct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_credit_transactionsGet credit transaction historyAInspect
Credit deductions + grants, newest first. Optional filters: type (e.g. EMAIL_SENT, LINKEDIN_INVITE, SDR_CONTACT), date range, pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ISO date, e.g. 2026-06-30 | |
| from | No | ISO date, e.g. 2026-06-01 | |
| type | No | ||
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It adds useful details: the result set is restricted to deductions and grants, and the ordering is newest-first. However, it doesn't describe the return record fields, default pagination behavior, or any edge-case behavior, leaving some important behavior implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence with no filler. The core behavior is front-loaded, and the optional filters are listed compactly without repeating schema details unnecessarily.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with five optional parameters and no output schema, the description covers the essential inputs and the ordering behavior. But it omits the response shape, default limits, and whether the date range is inclusive, so an agent must infer some conventions. It is adequate but not fully complete for a tool with no annotations or 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 only 40%, but the description compensates by grouping the parameters into type, date range, and pagination, and by giving concrete type examples like EMAIL_SENT, LINKEDIN_INVITE, and SDR_CONTACT. This adds semantics beyond the schema's bare string type for the 'type' parameter and clarifies the purpose of the other 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 identifies the resource as credit transaction history, specifies the scope as 'deductions + grants,' and adds the 'newest first' ordering, which is specific enough to distinguish it from balance or aggregate usage endpoints among the credit-related siblings. It lacks an explicit verb, but the tool name supplies 'get,' so intent is clear.
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 intended use is implied by 'Credit deductions + grants' and the optional filters, but there is no explicit 'use when' or 'instead use' guidance. Given the many credit/usage siblings like get_balance, get_credit_usage_by_agent, and get_credit_usage_by_type, the description doesn't proactively route agents to the right tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_credit_usage_by_agentGet credit spend per agentAInspect
Total credit spend per agent in the workspace. Identifies the most expensive agents.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It makes clear this is a read/aggregation operation returning total spend per agent and that it can rank expensive agents. Yet it omits details such as the time period covered, whether results are sorted or limited, and any authentication or rate-limit considerations.
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, front-loaded sentences with no filler. The first states the core result, and the second adds a practical purpose. Every sentence earns its place, even though the opening sentence closely mirrors the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only aggregate tool, the description is nearly adequate: it names the output and the main use case. However, with no output schema and no annotations, it should more explicitly state the time period and ordering or limit behavior, especially given the cluster of closely related credit-usage tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty with 100% coverage, so the baseline of 4 applies. The description's 'in the workspace' clarifies the implicit scope of the aggregate, which is all the schema can convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation (get), resource (credit spend), and aggregation level (per agent in the workspace). It adds an analytic purpose ('Identifies the most expensive agents') that goes beyond the name. However, it does not explicitly distinguish itself from closely named siblings like get_credit_usage_for_agent, get_credit_usage_by_type, or get_credit_usage_monthly, so some clarity is left to 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?
'Identifies the most expensive agents' implies a clear use case: cost analysis across agents. But the description never says when to choose this over the many similar credit-usage tools in the sibling list, nor does it provide exclusions or alternatives. Usage is implied but not explicitly routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_credit_usage_by_typeGet credit spend by type / sessionBInspect
Per-session credit spend grouped by connection type (email_outreach, linkedin_outreach, phone_call, widget, sdr_contact, etc.). Useful for analytics.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| from | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description itself carries the burden. It discloses the output shape (spend grouped by connection type) and the read-only nature is implied by 'get' and 'credit spend.' However, it says nothing about time-window behavior, response format, or any grouping limitations, leaving some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with useful examples and the core grouping concept front-loaded. 'Useful for analytics' is somewhat generic but not harmful; no wording is redundant.
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 annotations, no output schema, and undocumented parameters, this description is too incomplete for an agent to reliably construct a correct request. It explains what the result is grouped by but not what the parameters mean, what range they cover, or how this report differs from the many other credit-usage tools.
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 0% description coverage and the description adds no parameter meaning. The two parameters, 'to' and 'from,' are likely a date range, but this is never stated, and no guidance is given on formatting, required values, or how they affect the grouping.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (per-session credit spend) and the exact grouping dimension (connection type), reinforced with concrete examples. This distinguishes it from sibling tools like get_credit_usage_by_agent or get_credit_usage_monthly even without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage hint is 'Useful for analytics,' which is vague and does not explain when to choose this tool over the many closely related credit-reporting siblings. No when-to-use or when-not-to-use guidance is provided, and no alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_credit_usage_for_agentGet credit spend for a single agentCInspect
Total credits spent by one specific agent.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only restates the result ('total credits spent') and does not mention whether the total is all-time or date-bounded, whether the operation is read-only, or how missing or invalid agent IDs 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?
The description is one short, front-loaded sentence with no filler, making it efficient and easy to parse. However, it is arguably under-specified; the conciseness is a strength, but the minimalism sacrifices useful guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description leaves unclear what the response looks like (e.g., raw number, formatted string, credits vs. currency) and what time period the total covers. The abundance of credit-related sibling tools makes the lack of differentiation and usage guidance a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no description for agent_id and parameter coverage is 0%, so the description must compensate. It never clarifies that agent_id is the identifier of the agent whose spend is returned, what format it should take, or how to obtain it, leaving semantics mostly to the parameter name.
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 that the tool returns the total credits spent by one agent, which names a specific resource and metric. However, it does not distinguish this tool from the similarly named sibling get_credit_usage_by_agent, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as get_credit_usage_by_type, get_credit_usage_monthly, or get_credit_usage_by_agent. The phrase 'one specific agent' implies a use case, but no explicit conditions, exclusions, or alternatives are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_credit_usage_for_agent_connectionsGet credit spend by connection for an agentAInspect
Per-channel credit spend (widget, telegram, phone, etc.) for one agent. Identifies the costliest channels.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the returned data type ('per-channel credit spend') but does not state read-only behavior, time period covered, result ordering, authentication needs, or what happens when agent_id is invalid. This is a notable gap for an unannotated 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?
Two short sentences with no filler. The first sentence states the core behavior and the second adds decision-relevant value by explaining the tool identifies the costliest channels. 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?
Adequate for a simple single-parameter read operation, but it lacks a time period (e.g., monthly, all-time) and does not describe the output shape despite there being no output schema. Among many credit-related sibling tools, the exact distinction could be sharper, though the core purpose is understandable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single agent_id parameter has zero schema description, but the description says the data is 'for one agent,' which clarifies that agent_id identifies the agent whose channel spend should be returned. With only one obvious parameter, this modest context is sufficient compensation for the 0% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb-resource pair ('credit spend by connection') and clearly scopes it to 'Per-channel credit spend ... for one agent.' The concrete examples (widget, telegram, phone) and the 'per-channel' framing distinguish it from sibling tools like get_credit_usage_for_agent or get_credit_usage_by_type, even without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when you need per-channel credit spend and want to identify costliest channels. However, it does not explicitly state when not to use it or name alternative sibling tools, so an agent has to infer the selection logic from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_credit_usage_monthlyGet credit spend per monthBInspect
Calendar-month breakdown of credit spend across all categories.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral transparency burden. It discloses that the output is aggregated by calendar month and spans all categories, but it does not describe return format, date coverage, or whether this is a pure read operation. This is adequate for a zero-parameter query but not richly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is efficient and front-loaded. It loses a point because 'Calendar-month' duplicates 'monthly' from the title and 'credit spend' is repeated, though the 'across all categories' addition 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 zero-parameter, no-output-schema tool, the description is nearly sufficient: it names the aggregation period and scope. It does not spell out the exact return values or whether the data covers a specific range, but the simplicity of invocation lowers the burden.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the baseline is 4. The description correctly does not invent parameter details, and there is nothing beyond the empty schema to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear resource and aggregation: a calendar-month breakdown of credit spend across all categories. It goes beyond the title by specifying the 'across all categories' scope, which helps distinguish it from per-agent or per-type credit usage tools. It lacks an explicit verb 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?
The description gives no guidance on when to prefer this tool over sibling credit tools such as get_credit_usage_by_type or get_credit_usage_by_agent. It implies a monthly reporting use case but does not state exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_invoicesGet Stripe invoicesAInspect
List of Stripe invoices (paid + open). Optional year/month scope.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| month | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the disclosure burden. It clearly indicates a read-only list operation and limits results to paid and open invoices, which is useful. But it does not mention pagination, ordering, or any authentication or Stripe-specific 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?
Two short sentences, no filler, and the core purpose is front-loaded. The optional-filter information is placed right after the main purpose, making it easy to parse quickly.
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 low-complexity read-only tool with two optional parameters and no output schema, the description is serviceable: it states the result type and the available filter. However, it omits details about the return shape, pagination, and the exact filtering semantics, so it is not 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 description coverage is 0%, so the description is the only source of param meaning. It correctly identifies year and month as an optional scope filter, but it does not clarify what date the filter applies to, whether month depends on year, or any default behavior.
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 operation and resource: it lists Stripe invoices and explicitly scopes them to paid + open statuses. This makes it easily distinguishable from the many other get_* and list_* sibling tools without needing to inspect schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: call this when you need Stripe invoices, optionally filtered by year and month. However, it does not explicitly mention alternatives or when-not-to-use it, so some routing burden remains on the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_narrator_analyticsGet presentation/narrator analyticsCInspect
Views, sessions, conversion to lead, drop-off by slide.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It offers a hint about the nature of returned data (views, sessions, conversion, drop-off) but omits behavioral details such as read-only status, error handling, or response format. The mention of per-slide drop-off is a slight positive, but overall disclosure is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, which earns conciseness points, but it is a fragmented list of metrics rather than a structured sentence. It sacrifices clarity and does not articulate a complete action or resource context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and an undocumented parameter, the description is severely incomplete. It omits essential information such as return format, pagination, and the meaning of the ID – making reliable invocation impossible.
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 a single required string parameter 'id' with zero description coverage. The description does not clarify what the ID represents (presentation, narrator, campaign?), leaving the agent unable to construct a correct call.
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 lists output metrics (Views, sessions, conversion to lead, drop-off by slide) but never explicitly states that the tool fetches analytics for a given presentation or narrator ID. The title implies 'get analytics', but the operation's resource is only inferable from the 'id' parameter, which is not explained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus other analytics tools (e.g., get_telegram_analytics) or any other context. It does not mention prerequisites, alternatives, or excluded scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pricingGet public pricing catalogueAInspect
List of public plans + add-ons (Extra Agent Slot, SDR sender pair, etc.) with prices in user currency.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden. It reveals relevant behavioral context: the catalogue is public and prices are localized to the user's currency, suggesting a read-only, user-scoped operation. However, it does not clarify authentication requirements, whether the result is a complete list, or any side effects (though 'List' strongly implies none).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the key information: the list type, examples, and currency behavior. Every element earns its place, with no fluff or repetition of the title.
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 there is no output schema, the description should explain the return content, and it does: a list of public plans and add-ons with prices in the user's currency. It could be more precise about field structure or whether the list is exhaustive, but for a simple catalogue with zero parameters, it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is empty and the baseline is 4. The description adds meaningful context about the implicit output scope (public plans, add-ons, user currency) even though there are no parameters to document. This satisfies the semantic need without any parameter-specific elaboration.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('List') and a specific resource ('public plans + add-ons') with concrete examples (Extra Agent Slot, SDR sender pair) and pricing in user currency. It does not explicitly differentiate from sibling tools like get_subscription_limits or get_agent_plan_limits, but 'public pricing catalogue' makes the purpose distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_subscription, get_subscription_limits, or get_balance. The word 'public' implies it is for browsing catalogue pricing, but there is no explicit when/when-not or reference to sibling tools, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sdr_email_capacityGet Vendo SDR managed-sender capacityAInspect
How many SDR sender email addresses the account has (included + purchased extras) and the estimated daily email throughput. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the behavioral burden and it does disclose that the call is read-only, which is the key behavioral trait. It also clarifies the semantic meaning of the returned numbers (included + purchased extras and estimated throughput), going beyond a simple 'returns capacity.' It does not mention auth/rate-limit concerns, but those are standard and not critical for this read-only getter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the core meaning and appends 'Read-only' as a crisp safety signal. Every phrase earns its place; there is no fluff or repetition of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-input, read-only tool the description conveys the two essential result concepts and marks the operation as safe. It is not a 5 because there is no output schema and the exact return shape/field names are not described, so an agent cannot predict the response structure beyond the high-level values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and 100% schema description coverage, so the baseline is 4; there are no parameter semantics for the description to clarify. The description appropriately focuses on the returned data instead.
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 precisely identifies the resource (SDR sender email addresses/capacity) and the two data points returned (included + purchased extras, estimated daily throughput). It clearly differentiates from sibling getters like get_agent_plan_limits or get_subscription_limits by naming the specific SDR capacity concept.
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 consumption as a capacity lookup for the account's SDR email sending, but it never explicitly states when an agent should choose this tool over sibling tools or when not to use it. For a zero-parameter read-only getter the implication is enough to avoid severe errors, but it lacks explicit alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_subscriptionGet current subscriptionBInspect
Plan, status (ACTIVE/CANCELLED/PAST_DUE/EXPIRED/TRIALING), period dates, currency, amount, Stripe IDs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only enumerates return fields and does not state that the operation is read-only, whether authentication is required, what happens if there is no active subscription, or how errors are reported. The word 'current' hints at state, but not 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?
The description is a compact, front-loaded field list with no filler words. It could be improved by being a full sentence with a verb, but it effectively communicates the payload in minimal space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool, the field list covers return values reasonably well, especially with no output schema present. However, it omits behavioral context such as read-only guarantees, authentication expectations, and edge cases like a missing or no subscription, leaving the description only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and 100% schema coverage, so there are no parameter meanings to clarify. The description instead adds value by indicating what the response will contain, which is the relevant semantic information for a no-input tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description lists the returned subscription attributes (plan, status, period dates, currency, amount, Stripe IDs), making the tool's resource and output clear. It does not explicitly restate a full verb phrase like 'Returns the current subscription,' but the name/title supplies that, and the field list distinguishes it from related billing tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus related sibling tools such as get_subscription_limits, get_agent_plan_limits, or get_invoices. The field list implies 'use this for subscription details,' but there are no exclusions, alternatives, or contextual conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_subscription_limitsGet plan limits (max agents, extra slots)AInspect
Base + purchased extra agent slots. Useful to check "can I create another agent?" before calling create_agent.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It adds one useful behavioral detail — the limit is a composite of base allowance plus purchased slots — which clarifies the returned value's semantics. But it does not disclose the return shape, whether the value is total capacity or remaining availability, or any other behavior. Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, zero filler, with the core semantic (base + purchased slots) front-loaded and the use case right after. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 0-parameter getter, the description covers what the tool returns and when to call it. Minor gaps remain: no output schema exists, so the return format is only hinted at, and the boundary with the similarly named get_agent_plan_limits is unaddressed. Still, an agent has enough 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?
The tool has zero parameters, so the schema needs no documentation and the description rightly spends no space on params. Per the baseline for 0-param tools, this is a 4; there is nothing missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb+resource: getting plan limits composed of 'Base + purchased extra agent slots.' The title reinforces the resource ('max agents, extra slots'). However, it fails to differentiate from the near-namesake sibling get_agent_plan_limits, so it scores below 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?
Provides concrete when-to-use context: check 'can I create another agent?' before calling create_agent. This is clear and actionable, but it gives no when-not-to-use guidance or explicit alternatives, such as why this over get_agent_plan_limits or get_subscription.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_telegram_analyticsGet Telegram analytics for this agentBInspect
Read-only stats: chats, messages, voice-call duration.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly labels the operation as 'Read-only', which is a useful behavioral disclosure, especially since no annotations are provided. However, it does not explain what the required 'id' refers to, what the return shape is, whether any authorization is needed, or whether results are scoped by time.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence with no filler, and the 'Read-only' safety signal is front-loaded. It is concise and well structured, though it sacrifices parameter/return details that other dimensions penalize.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description should explain enough to invoke it correctly, but it leaves the meaning of the required 'id' ambiguous and does not describe the response format. The listed metric categories provide some value, but critical invocation details are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a single required 'id' property with no description (0% schema_description_coverage), and the tool description does not explain what 'id' represents. The phrase 'for this agent' hints that it may be an agent identifier, but this is not explicit enough for an agent to confidently supply the correct 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 uses a specific verb ('Get') and clearly identifies the resource ('Telegram analytics for this agent') plus the metric categories it returns (chats, messages, voice-call duration). This is enough to distinguish it from unrelated tools like crm_stats or get_balance, though it does not explicitly contrast with get_narrator_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?
The phrase 'Telegram analytics' and the listed metric types imply when this tool should be used: when an agent needs read-only Telegram statistics. However, it provides no explicit guidance on when not to use it or which sibling tool might be a better fit for similar analytics needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_telegram_bot_infoGet current Telegram bot infoCInspect
See the connected bot username + settings.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior itself; it indicates read-only intent ('See') and names the returned data (username + settings), but it does not mention what id refers to, error cases, or whether a bot must already be connected. The minimal detail leaves the tool's operation largely unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler and the main payload ('username + settings') is front-loaded. It earns conciseness, though it sacrifices informative content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with no output schema and no annotations, the description should at least explain the required id and enumerate the settings returned. It covers neither, so an agent cannot reliably invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions the required 'id' parameter. The agent is given no clue what value to supply.
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 clear verb ('See') and identifies the resource: the connected bot's username and settings. This distinguishes it from connect/disconnect siblings, though it does not explicitly differentiate from get_telegram_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?
No guidance is given about when to call this tool versus alternatives like get_telegram_analytics or the connect/disconnect bot tools. The phrase 'connected bot' implies a prerequisite but the description leaves the condition implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_widget_embed_codeGet the widget embed codeBInspect
Get the HTML snippet to embed the agent's website widget on a customer's site.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only says 'Get' the snippet, with no mention of authentication needs, error behavior, or whether the returned snippet is a full HTML page or a script fragment. No side effects or prerequisites are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, front-loading the core action and object. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description is under-specified. It leaves the agent to infer what 'id' refers to, what the HTML snippet contains, and how to use the result. The description is not complete enough for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one 'id' parameter with 0% description coverage. The phrase 'agent's website widget' hints that the id likely identifies the agent, but the description never explicitly maps the parameter to an agent ID or explains what value to pass.
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 ('Get') and resource ('HTML snippet to embed the agent's website widget'), clearly identifying what the tool returns. This distinguishes it from sibling getters like get_agent or generate_agent_script.
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 use this tool versus alternatives. The description only states what it returns; it does not mention exclusions, prerequisites, or conditions that would route an agent to this tool over similar ones.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
launch_audience_setBuy a set and launch outreachAInspect
SPENDS CREDITS and STARTS REAL OUTREACH to real people: buys the snapshot, then runs a campaign against it. The most consequential tool in this list. Only call after the user reviewed preview_launch_audience_set and explicitly approved.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing side effects, and it does so strongly: it explicitly warns that it SPENDS CREDITS, STARTS REAL OUTREACH, and is the most consequential tool. It also reveals the internal sequence of buying the snapshot then running a campaign, which is genuinely useful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three dense sentences with all critical warnings front-loaded. Every sentence adds value: the action, the side effects, the consequentiality, and the approval precondition. There is no filler or repetition of schema details.
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 such a consequential tool, it covers the essential behavioral context: credit cost, real outreach, the buy-then-launch sequence, and the mandatory user approval gate. However, it does not explain the meaning of the 'id' parameter or what a successful call returns, leaving a small but important gap for an agent selecting arguments.
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 0%, so the description must compensate by explaining what 'id' refers to, but it never does. The only parameter is a bare string 'id', and the description does not clarify that this is the audience set ID obtained from preview_launch_audience_set. This creates a real invocation ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb-resource relationship: it buys the audience-set snapshot and then launches outreach against it. It distinguishes this combined action from single-step siblings like buy_audience_set and launch_campaign, and it is specific about the consequential scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit precondition: only call after the user has reviewed preview_launch_audience_set and explicitly approved. It does not name alternative tools or when-not-to-use cases beyond 'only after approval', but the precondition is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
launch_campaignLaunch a campaign (sends real outreach)AInspect
Launch the campaign — contacts will start receiving outreach immediately. SPENDS CREDITS continuously while the campaign runs. Only call AFTER the user has reviewed preview_launch_campaign output and explicitly approved the recipient count and channels.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it warns that outreach goes out immediately and that credits are spent continuously while the campaign runs. These are the key side effects an agent must know before invoking.
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 filler. The most important behavior is front-loaded, and the approval precondition is clearly separated from the side-effect warning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter launch action with no output schema, the description covers the essential context: what happens, the ongoing cost, and the required approval step. 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 0%, yet the description never explains what `id` refers to beyond the tool name's implication of a campaign ID. The description adds no meaning to the single `id` parameter, which is required and otherwise undocumented.
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: "Launch the campaign" with the immediate consequence that contacts receive outreach. This clearly distinguishes it from create_campaign, update_campaign, preview_launch_campaign, and archive_campaign.
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 specifies when to call: only after the user reviews `preview_launch_campaign` output and explicitly approves recipient count and channels. This gives a clear precondition and routes the agent away from premature invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_agent_connectionsList an agent's connections (channels)BInspect
See every channel attached to this agent: widgets, telegram, phone, presentations, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It clearly indicates this is a read-only listing operation ('See every channel'), which is a safe assumption. However, it does not disclose any edge cases, such as behavior when the agent has no connections, whether the response includes status or configuration details, or if there are any permission requirements. The phrase 'every channel' implies completeness, which is useful, but other behavioral aspects remain unspoken.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately states the primary function and gives concrete examples of channel types. There is no extraneous information, and the tone is direct and actionable. The structure is ideal for quick parsing by an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema, the description is too sparse. It does not explain the meaning of the 'id' parameter, nor does it describe the structure or content of the returned list. Even though this is a simple listing operation, an agent would benefit from knowing whether the response includes channel names, statuses, or configuration details. The absence of this information makes the tool harder to use correctly without external knowledge.
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 one required parameter 'id' with no description, and the schema description coverage is 0%. The tool description mentions 'this agent' but never explicitly links that to the 'id' parameter. An agent is left to infer that 'id' must be the agent's identifier, which is risky given the ambiguity. Since the description does not compensate for the missing schema documentation, it fails to add the meaning required for a parameter with nonexistent schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('See every channel') and the resource ('attached to this agent'), and lists concrete channel types (widgets, telegram, phone, presentations). This distinguishes it from connection mutation tools like connect_telegram_bot or pause_channel, which perform different operations. The tool's name and title also reinforce the purpose without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its use case: if you want to see all channels for an agent, this is the tool. However, it does not explicitly mention alternatives or when not to use it. For instance, there is no guidance that get_telegram_bot_info is for a specific channel's details, or that set_agent_contact_channels modifies them. The context is inferable but not stated, so it falls short of the explicit guidance expected for a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_agent_presentationsList presentations attached to the agentAInspect
Each agent can host one or more interactive presentations. Read-only list.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses 'Read-only list,' which is a useful behavioral signal especially since no annotations are provided. It does not mention pagination, ordering, or return format, but for a simple read-only listing tool this is a reasonable level of transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. The core purpose is front-loaded, and the read-only note adds useful behavioral context without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one required parameter and no output schema, and the description covers the basic resource and read-only nature. However, it does not explicitly define what 'id' refers to or describe the shape of the returned list, so an agent may still need to infer details from the tool name.
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 0%, so the description must compensate. The text implies the required 'id' refers to an agent, since it describes presentations as hosted by an agent. It does not explicitly state that 'id' is the agent id, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'list' presentations attached to the agent. The title reinforces this. It is specific enough to distinguish from most sibling tools, though it does not explicitly differentiate itself from other list-like tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Each agent can host one or more interactive presentations' implies this tool is used when you need to retrieve presentations belonging to a particular agent. However, it gives no explicit when-to-use guidance, exclusions, or alternatives among the many listing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_agentsList agentsAInspect
List all AI agents in the account. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries the behavioral burden, and 'Read-only' clearly communicates that the call has no side effects. 'List all AI agents in the account' also states the operational scope. It does not mention response shape or pagination, but for a zero-parameter list tool this is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences convey purpose, scope, and safety with no filler. The information is front-loaded and every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and low complexity, the description is sufficiently complete: it identifies what is listed, at what scope, and that it is read-only. A small gap is the absence of any return-value detail, but the tool name and 'List' strongly imply a list result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing for the description to explain beyond what the empty schema already conveys. This matches the baseline for no-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List'), a concrete resource ('all AI agents in the account'), and explicitly notes the operation is read-only. It is unambiguous about what the tool does, though it does not explicitly contrast itself with siblings like list_agents_with_stats or get_agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to choose this tool instead of closely related siblings such as list_agents_with_stats, get_agent, or crm_list_workspace_agents. The read-only nature and account scope imply some context, but no exclusions or alternative conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_agents_with_statsList agents with usage statsAInspect
Same as list_agents but includes per-agent stats (connections, credits spent, status).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the main behavioral output (per-agent stats including connections, credits spent, status) and implies a read-only listing operation, but it does not describe response format, pagination, ordering, or potential caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately names the core action, the resource, the differentiator from the sibling, and the specific stats included. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema listing tool, the description is practical and sufficiently complete: it tells the agent what the tool returns (agents with stats) and how it differs from `list_agents`. Minor omissions like exact response shape or pagination are non-critical for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema description coverage is 100%, so there are no parameter semantics to explain. A baseline of 4 is appropriate because no parameter information is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists agents and includes per-agent usage stats (connections, credits, status). It explicitly distinguishes itself from the sibling tool `list_agents` by saying it is 'Same as list_agents' but with stats.
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 names the alternative `list_agents` and explains the differentiator: users who want plain agent lists can use `list_agents`, while those who want stats should use this tool. It does not explicitly state exclusions, but the guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_audiencesList saved audiencesAInspect
List the audiences saved in this workspace. Read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It does state 'Read-only, free', which is useful side-effect and cost information, but it omits details like pagination or response format for a list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely compact, front-loads the action and resource, and includes only a short safety/cost note. Every part earns its place with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list operation, the description explains what is listed and the workspace scope, while the read-only/free note covers practical concerns. It does not describe the output shape or distinguish from list_audience_sets, but these are minor for such a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty with 0 parameters, so the description has no parameter burden. The baseline for 0 params is 4, and the description appropriately adds no parameter-related noise.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and resource ('audiences saved in this workspace'), making the core operation clear. However, it does not explicitly differentiate from the closely named sibling list_audience_sets, so it falls short of full sibling 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 guidance about when to use this tool versus alternatives such as list_audience_sets or search_audience. 'Read-only, free' describes properties of the call but does not help an agent choose among similar listing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_audience_setsBrowse the Audience Sets marketplaceAInspect
Browse pre-built, ready-to-use audiences available for purchase, plus their categories. Browsing is free; buying costs credits. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly states 'Read-only' and that browsing is free (no credit cost), which are critical safety and cost behaviors. It does not detail return structure or pagination, but for a simple list tool the key side-effect information is present.
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 precise sentences: the first front-loads the action and scope, the second adds cost and safety clarifiers. There is no filler, repetition of the tool name, or redundant 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 zero-parameter, read-only marketplace listing with no output schema, the description covers what the tool does, what it returns (audiences and categories), and its safety/cost profile. 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?
The input schema is empty with zero parameters, so the baseline is 4. The description adds no parameter specifics because none exist, but it clarifies that the output includes audiences and their categories, which is the only relevant semantic information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Browse') and resource ('pre-built, ready-to-use audiences available for purchase'), and notes that categories are included. It clearly separates this tool from buy_audience_set by emphasizing browsing over purchasing, and from list_audiences by the marketplace scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Browsing is free; buying costs credits' establishes that this tool is for non-destructive browsing and implies purchase actions belong elsewhere, such as buy_audience_set. It does not explicitly name the alternative tool or provide a when-not condition beyond cost, so it falls short of fully explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_campaignsList campaignsAInspect
List all campaigns in the account, with current status and live stats.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. 'List' strongly implies a read-only operation, and 'current status and live stats' tells the agent what kind of data to expect. However, it does not explicitly state side effects, pagination, ordering, or response shape. Since no destructive behavior is suggested, this is adequate but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence with no filler. Every word adds meaning: 'List' defines the action, 'all campaigns in the account' defines the scope, and 'current status and live stats' defines the returned 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?
The tool is simple with no parameters and a clear account-wide listing purpose. The description names the key result fields, making it complete enough for an agent to invoke correctly even without an output schema or annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, and the description confirms the operation's full scope ('all campaigns in the account'), leaving no parameter ambiguity. The baseline of 4 for a no-parameter tool is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('List') and resource ('all campaigns in the account'), and specifies what is included ('current status and live stats'). This distinguishes it from single-campaign tools like get_campaign and mutating campaign tools like update_campaign or pause_campaign.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'List all campaigns in the account' provides clear context for when to use this tool: when an account-wide overview of campaigns is needed. It does not explicitly mention alternatives or exclusions, but the scope is unambiguous enough for an agent to select it over get_campaign or campaign mutation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_google_meet_meetingsList Google Meet meetings booked by this agentAInspect
Read-only list of meetings the agent has scheduled. Requires Google Meet connected first.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden, and it does disclose read-only semantics and a connection prerequisite. It doesn't explain error behavior or output format, but for a simple read-only list this is adequate with gaps.
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 purpose and prerequisite, no filler. The description is appropriately compact.
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, but no output schema exists and the only required parameter is completely undocumented. The description should at least clarify the id parameter and ideally the return shape, so the definition is not complete enough.
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 a required 'id' with no description, and schema coverage is 0%; the description never says what 'id' refers to (agent id? meeting id?). This is a critical gap because the agent cannot know what value to supply.
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 resource ('Google Meet meetings'), a clear action ('list'), and a scope ('booked by this agent'), which distinguishes it from generic calendar tools like crm_list_calendar_events. The read-only qualifier also signals a safe lookup.
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 a clear prerequisite: Google Meet must be connected first. It doesn't name alternatives or exclusion criteria, but the context is enough for an agent to know when this tool is relevant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_linkedin_accountsList connected LinkedIn accountsAInspect
List the LinkedIn accounts connected to this workspace and their status. Each healthy account adds roughly 70–80 invites/day of capacity — check here first when asked why invite volume is low. Read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the safety burden itself by stating 'Read-only, free.' It also discloses that accounts have health statuses and that capacity depends on healthy accounts. This is sufficient for a simple list tool, though status values and output shape are not described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences with no filler: purpose, usage trigger with capacity context, and read-only/free tag. Every sentence adds value and the key 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 zero-parameter, read-only list tool, the description is nearly complete. It tells the agent what is returned, why to call it, and that it is safe and free. A minor gap is the lack of status values or output format, but that is not essential for selecting and invoking this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is empty, so there are no parameter semantics to explain. The description correctly focuses on the output and usage context, earning the baseline score for parameterless tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and resource ('LinkedIn accounts connected to this workspace'), and adds the status dimension. It is clear and actionable, though it does not differentiate from the very similar sibling tool crm_list_linkedin_accounts.
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 explicit trigger: check here first when asked why invite volume is low, and provides useful capacity context. However, it does not specify when not to use it or mention alternatives like crm_list_linkedin_accounts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_narrator_leadsList leads captured by the agent's presentationsCInspect
Anonymized lead list from CTA forms in presentations.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears the full burden of behavioral disclosure. It states leads are 'Anonymized,' which is a behavior, but it doesn't disclose whether the operation is read-only, what the return format is, whether it consumes credits, or any side effects. The description is far too sparse to convey the behavioral profile adequately.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single fragment, which is concise but not structured. Key information about the parameter and usage is missing. It under-specifies rather than being efficiently concise, so it fails the conciseness test.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one required parameter, no output schema, and no annotations, the description should clarify everything the agent needs. It explains neither the parameter nor the output, and offers no context about the 'presentations' or 'CTA forms' in relation to the ID. This is completely inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the 'id' parameter, but it provides no mention of it. The description adds zero meaning about what 'id' refers to or how it should be used. This is a critical gap.
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 'Anonymized lead list from CTA forms in presentations' indicates the tool returns leads from presentation CTAs, but it's a noun phrase rather than an explicit verb statement. The title clarifies it lists leads, but the description itself is vague about scope and doesn't distinguish from sibling tools like crm_list_leads. Purpose is partially clear but lacks specific action and context.
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 usage guidance is provided. The description doesn't mention when to use this tool over siblings like crm_list_leads or list_agent_presentations, nor any prerequisites or context. An agent has no way to know the appropriate scenario for this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_retell_voicesList available Retell voicesAInspect
Catalogue of voices that can be assigned via set_agent_voice. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure, and it states 'Read-only' explicitly. It also describes the output as a catalogue, but does not detail format, pagination, or error behavior; still, this is adequate for a zero-parameter list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It states what the tool returns, its purpose, and its safety profile without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only list tool, the description is mostly complete: it names the resource, its purpose, and read-only nature. However, because there is no output schema, a bit more detail about the voice identifiers or fields returned would have made it fully self-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?
The tool has zero parameters and schema description coverage is 100%, so there are no parameter semantics to explain. The description's reference to set_agent_voice is contextually helpful but adds no parameter detail, matching the baseline for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it lists Retell voices, and identifies them as a catalogue for assignment via set_agent_voice. This clearly distinguishes it from sibling tools like create_agent or get_agent, and the 'Read-only' note reinforces its scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: when you need available voices to assign through set_agent_voice. It does not explicitly discuss alternatives or exclusions, but for a simple list-only tool that context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pause_campaignPause a campaign (all channels)AInspect
Pause a running campaign across every channel. Reversible — call launch_campaign to resume.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and it discloses an important behavioral trait: the pause is reversible and launch_campaign resumes it. It also clarifies that the operation affects every channel. It doesn't mention idempotency or in-flight sends, but for this simple operation the key behavior is covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler. The action and scope are front-loaded, and the second sentence provides a useful recovery path. 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 one-parameter operation with no output schema, the description covers the action, scope, target state, and reversal path. The required id is visible in the schema, so no return-format description is needed. Minor edge cases like idempotency are omitted but nothing essential to invoking the tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required string id with 0% description coverage, so the description must supply meaning. The phrase 'a campaign' implies id identifies the campaign to pause, but the description never explicitly ties id to the campaign or adds details. Since the single parameter is self-evident, this is adequate but not additive.
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 ('Pause'), resource ('campaign'), and scope ('across every channel'), clearly identifying what the tool does. The 'running' condition and the contrast with the sibling pause_channel make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the condition for use ('a running campaign') and the all-channel scope, which implies pause_channel is the alternative for one channel. It also names launch_campaign as the resume action, giving the agent an explicit next step. It does not spell out exclusions such as already-paused campaigns, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pause_channelPause one channel of a campaignAInspect
Pause a single channel (email, linkedin, phone_call, voice_call) on a running campaign. Other channels keep going.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| channel | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden. It does add meaningful behavioral content: the mutation is scoped to one channel, the campaign must be running, and sibling channels are unaffected. But it does not disclose reversibility (resume_channel exists as a sibling but is not referenced), behavior on an already-paused channel, or what happens if the campaign is not running.
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, front-loaded sentences with zero waste. The action and scope appear immediately, the channel values are compactly listed, and the second sentence earns its place by conveying the key differentiating 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?
For a low-complexity tool with a simple two-parameter schema and no output schema expected, the description covers the core scenario adequately. However, the ambiguous referent of 'id', the unstated enforcement of the 'running campaign' precondition, and edge-case behavior (already-paused channel, invalid channel for the campaign) are notable gaps given there are no annotations to fall back 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?
Schema coverage is 0%, so the description must compensate. It confirms the channel enum values (redundant with the schema) and implies that 'id' refers to the campaign via 'on a running campaign.' However, the id parameter is never explicitly defined as the campaign id, and no format or example is given, leaving the mapping to inference.
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?
Uses a specific verb ('Pause') with a concrete resource ('a single channel ... on a running campaign') and enumerates the exact channel values. The sentence 'Other channels keep going' cleanly differentiates it from the sibling pause_campaign, which implies a whole-campaign pause.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'on a running campaign' provides useful context about when the tool applies, and 'Other channels keep going' hints at the contrast with pausing the entire campaign. However, it never explicitly names the alternative (pause_campaign), nor states exclusions such as not using it on non-running campaigns or already-paused channels.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_agent_emailPreview an email the agent would writeAInspect
Render a sample outreach email from this agent — no sending, no credit cost. Useful to check tone/script before launching.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does a good job: it discloses no sending, no credit cost, and 'sample' implying no real side effects. It could add what 'id' refers to or note whether the agent must exist, but the core behavioral transparency is solid.
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: the action and key safety qualifiers are front-loaded, and the use case is stated compactly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, no-output-schema preview tool, the description covers purpose, safety, and timing well. The output form is implied by 'render a sample email,' which is sufficient for a low-complexity tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has a single undocumented 'id' parameter at 0% coverage. The description's 'from this agent' implies id is the agent identifier, adding some meaning beyond the bare schema, but it never explicitly states the parameter's role or any format/existence requirements.
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 ('Render'), object ('sample outreach email'), and source ('this agent'), and clearly distinguishes itself from sending tools by stating no sending. It also stands apart from preview_linkedin_followup and preview_linkedin_invite by focusing on the agent's own email.
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 explicit context: use this to check tone/script before launching, and it emphasizes no sending and no credit cost so an agent can safely choose it for pre-launch review. It doesn't enumerate alternatives or exclusions, but the intended timing is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_buy_audience_setPreview buying an audience set (dry-run)AInspect
Dry-run of purchasing an audience set — shows what would be bought and what it costs, WITHOUT spending credits. ALWAYS call this first and show the cost to the human.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Set id (UUID), not the slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and it discloses the most critical behavioral trait: no credits are spent. The term 'dry-run' plus 'shows what would be bought' communicates a non-committal preview. It does not discuss other side effects or permission requirements, but for this tool the no-cost guarantee is the key behavioral disclosure.
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 tight sentences with no wasted words. The key facts—dry-run, what it shows, no credit spending, and the mandatory call-first instruction—are all front-loaded and easy to parse.
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 tool with no output schema, the description is complete: it explains the purpose, the safety profile (no credits), and the required workflow step. It tells the agent what the tool returns at a high level (what would be bought and the cost), which is sufficient for an agent to decide and communicate the result to a human.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully documents the single parameter, including the important clarification 'Set id (UUID), not the slug.' The description adds no additional parameter-level meaning, so the baseline score of 3 applies given 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action (dry-run of purchasing) and the resource (audience set), and explicitly states what the preview shows: what would be bought and the cost. The phrase 'WITHOUT spending credits' and the title '(dry-run)' distinguish it from the real purchase operation buy_audience_set.
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 explicit usage guidance: 'ALWAYS call this first and show the cost to the human.' This clearly tells the agent when to invoke the tool, though it does not explicitly name the alternative buy_audience_set for the actual purchase step. The context and sibling list make that alternative inferable, but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_deep_scanPreview a deep scanAInspect
Show what would happen if you run deep_scan_agent. The scan is NOT executed. ALWAYS call this first and confirm the cost (15 credits) and duration with the user.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| company_name | No | ||
| company_website | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full behavioral burden. It discloses that the scan is not executed, reveals the fixed cost of 15 credits, mentions duration, and mandates user confirmation. This covers the most important behavioral characteristics, though response content is not described.
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 tight sentences with the purpose and the non-execution warning front-loaded. The mandatory workflow instruction is included without any 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?
The description provides strong workflow context and safety-critical cost information, but it omits parameter semantics and any indication of what the preview response contains. Since there is no output schema or annotations, an agent still lacks important context for invoking the tool correctly end-to-end.
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 0%, and the description does not explain `id`, `company_name`, or `company_website`. An agent is left to guess what `id` refers to and how the optional fields affect the preview, so the description fails to compensate for the complete lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb and resource: 'Show what would happen if you run deep_scan_agent.' It explicitly distinguishes itself from the actual scan with 'The scan is NOT executed,' which prevents confusion with the sibling tool deep_scan_agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit workflow guidance: 'ALWAYS call this first and confirm the cost (15 credits) and duration with the user.' This tells the agent when this tool should be called relative to deep_scan_agent and what user-facing steps must follow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_delete_agentPreview deleting an agentAInspect
Show what would happen if you delete an agent. The agent is NOT deleted. ALWAYS call this first and surface the result to the user before calling delete_agent.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing side effects. It clearly states 'The agent is NOT deleted,' which is the most critical behavioral trait for a preview operation. It also communicates the expected call-order behavior. It does not detail what the preview output contains, but the non-destructive guarantee is strongly disclosed.
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 purpose, followed by the safety guarantee and the required usage sequence. Every sentence earns its place with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter preview tool, the description covers purpose, safety, and call ordering. The main gap is that it does not describe what kind of result the preview returns, but this does not prevent correct selection or invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not explicitly define the 'id' parameter. However, the tool name and description establish that 'id' refers to the agent being previewed, which adds minimal but sufficient context for a single self-explanatory parameter.
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 ('Show') and resource ('what would happen if you delete an agent'), and explicitly distinguishes itself from the destructive sibling delete_agent by stating 'The agent is NOT deleted.' This makes the purpose immediately clear and disambiguates it from related preview tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage guidance: 'ALWAYS call this first and surface the result to the user before calling delete_agent.' This tells the agent exactly when to use this tool, what to do with the result, and which sibling tool to invoke afterward.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_delete_campaignPreview deleting a campaignAInspect
Show what would happen if you delete a campaign. The campaign is NOT deleted.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It clearly states the most important trait: the campaign is NOT deleted, confirming this is non-destructive. It does not detail what the preview output contains, but for a dry-run tool the key safety guarantee is explicitly communicated.
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 zero filler. The non-destructive guarantee is front-loaded, and every word contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, no-output-schema tool, this description is nearly complete. It conveys the operation, the safety trait, and the object being previewed. The only notable absence is a fuller description of what 'what would happen' looks like, but this is minor given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required id with 0% description coverage. The description does not explicitly explain the id parameter, though 'a campaign' implies id refers to a campaign identifier. This adds minimal meaning beyond the schema, so the low schema coverage is only partially compensated.
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: 'Show what would happen if you delete a campaign.' It explicitly differentiates this from actually deleting by adding 'The campaign is NOT deleted,' which separates it from delete_campaign and other preview tools 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?
The description makes the dry-run context clear: this is a safe preview of deletion, not an actual deletion. It does not explicitly name delete_campaign as the alternative for actually deleting, so it stops short of full when-to-use/when-not-to-use guidance, but the context is unmistakable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_delete_crm_leadPreview lead deletion (dry-run)AInspect
Dry-run of deleting a CRM lead — shows who would be removed from the board. ALWAYS call this first and show the result to the human.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavior. It clearly indicates this is a dry-run operation, not an actual deletion, and that it only reports who would be removed. It could additionally state that no changes are made, but the 'dry-run' framing sufficiently conveys the non-destructive nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. It front-loads the core purpose, then states the required workflow instruction. 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 one-parameter dry-run tool, the description explains the operation, the expected output ('shows who would be removed'), and the required usage context. It could be more explicit about the id parameter and that the operation makes no changes, but the description is largely 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?
The input schema has one required 'id' parameter with no description, and schema description coverage is 0%. The tool description does not mention the id parameter at all, so the agent must infer its purpose solely from the tool name and context. Some compensation was needed and not provided.
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: 'Dry-run of deleting a CRM lead' and explains what it does: 'shows who would be removed from the board.' This clearly distinguishes it from the actual destructive delete_crm_lead sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit usage directive: 'ALWAYS call this first and show the result to the human.' This tells the agent exactly when to use the tool and that it should precede the actual deletion step and surface output to the user.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_delete_crm_stagePreview stage deletion (dry-run)BInspect
Dry-run of deleting a pipeline stage. Deletion is refused downstream if the stage still holds leads or is a system stage.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It adds value beyond the title by disclosing the dry-run nature and the conditions that block deletion. However, it never discloses what a successful preview returns or how 'refused downstream' manifests in this tool's actual output, leaving the tool's observable behavior ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste. The core function is front-loaded in the first sentence, and the blocking conditions follow in the 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?
The tool is simple (one required param, no nested objects), and the description covers the essentials of what it does and when deletion would be refused. But with no output schema and no annotations, the description should explain what the dry-run returns (e.g., a success flag or refusal reason), and that return behavior is the core value of a preview tool. That gap keeps it at 'adequate but incomplete.'
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not mention the id parameter at all, so it fails to compensate for the schema gap. The meaning of id is only inferable from the tool name and the phrase 'pipeline stage' in the description, which prevents a score of 1.
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+resource ('Dry-run of deleting a pipeline stage') and the dry-run/preview framing clearly separates it from the sibling delete_crm_stage. It also adds the distinctive refusal conditions. It loses the top score because it never explicitly names the actual deletion sibling it stands apart from, and does not say what the preview produces.
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 refusal conditions ('if the stage still holds leads or is a system stage') imply when this dry-run matters and when the downstream delete would fail. However, there is no explicit statement of when to use this tool versus calling delete_crm_stage directly, and no alternative is named. Usage guidance 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.
preview_disconnect_linkedin_accountPreview disconnecting a LinkedIn account (dry-run)AInspect
Dry-run of removing a LinkedIn account, showing the capacity that would be lost. ALWAYS call this first.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: 'Dry-run' discloses that no actual disconnection occurs, and 'showing the capacity that would be lost' describes what the output conveys. It could add failure-mode or prerequisite context, but the core non-destructive trait is clearly disclosed.
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. The core purpose and the critical call-order directive are both front-loaded in the first sentence. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter preview tool, the description covers the essential semantics and sequencing. The main gap is the undocumented id parameter, and since there is no output schema, the 'capacity that would be lost' phrasing is the only return-value guidance — adequate but not detailed.
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 0% and the description never mentions the id parameter, so nothing explains what value to pass (presumably a LinkedIn account ID from list_linkedin_accounts). With coverage this low, the description needed to compensate and did not.
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: 'Dry-run of removing a LinkedIn account'. The dry-run phrasing clearly differentiates it from the sibling disconnect_linkedin_account, which performs the actual removal, and the title reinforces this with '(dry-run)'.
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 an explicit sequencing directive: 'ALWAYS call this first.' This tells the agent when to invoke it, implying it precedes disconnect_linkedin_account. However, it does not name the alternative tool explicitly or state when not to use it, so it falls just short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_launch_audience_setPreview launching a campaign from a set (dry-run)AInspect
Dry-run of buying a set AND starting outreach against it. Shows the cost without spending anything. ALWAYS call this first.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly says it shows cost 'without spending anything' and calls it a dry-run, making the non-destructive, read-only nature clear. No annotations are provided, so the description is the sole source of behavioral transparency and it is honest.
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, front-loaded sentences with no redundancy. It states the core action, the safety outcome, and the key usage directive 'ALWAYS call this first' efficiently.
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 0% schema description coverage and no output schema, the description should compensate by explaining the 'id' parameter and the shape of the returned cost information. It covers high-level behavior but leaves critical invocation details undocumented.
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 only one required string parameter 'id' with no description, and schema description coverage is 0%. The description never explains what 'id' refers to or what format/values are expected, leaving the agent to infer it is an audience set ID from the tool name.
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 this is a dry-run of buying an audience set and starting outreach, and that it shows cost without spending anything. The verb 'Dry-run' and the explicit cost/safety statement leave no ambiguity about the tool's purpose.
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?
'ALWAYS call this first' provides a clear ordering directive and implies use before the actual launch. However, it does not explicitly differentiate from sibling tools like preview_launch_campaign or preview_buy_audience_set, nor state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_launch_campaignPreview launching a campaignAInspect
Show what would happen if you launch the campaign: recipient count, channels, daily limit. NOTHING IS SENT. ALWAYS call this first and surface the result to the user (recipient count, channels) before calling launch_campaign. This is required by Vendo AI policy and protects the user from a launch they did not intend.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden of behavioral disclosure. It explicitly states 'NOTHING IS SENT' and explains the safeguard intent, making the non-destructive nature unmistakable.
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, front-loaded with the preview's purpose and outputs, followed by a bold safety warning. Every sentence adds actionable value 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?
Given only one parameter and no output schema, the description still covers what the tool returns (recipient count, channels, daily limit), what it does not do (send), and the expected call sequence. Nothing essential is missing for correct use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only a bare string `id` with 0% description coverage, so the description needed to explain it. It doesn't explicitly say 'the campaign id'; however, the tool name, title, and 'launch the campaign' wording make the referent inferable, so a minimally-capable agent can proceed.
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 ('Show what would happen'), a concrete resource (the campaign launch), and the exact outputs (recipient count, channels, daily limit). It clearly differentiates itself from the destructive launch_campaign sibling by emphasizing this is a preview.
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?
Explicit workflow guidance: ALWAYS call this first, surface the result to the user, then call launch_campaign. It also states the policy requirement, leaving no ambiguity about when this tool should be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_linkedin_followupPreview a LinkedIn follow-up the agent would writeAInspect
Render a sample first follow-up (after the connection is accepted). No sending, no cost.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It explicitly states 'No sending, no cost,' which clearly communicates that this is a safe, side-effect-free preview operation. It also discloses that it renders a sample rather than performing an action, which is valuable beyond the tool name.
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. The core action is front-loaded, and the important clarifications ('No sending, no cost') follow immediately. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter preview tool, the description covers the key context: what is rendered, when it is relevant, and that it has no side effects or cost. The main gap is the unexplained 'id' parameter, but the overall low complexity means the definition 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 0%, and the description does not explain the meaning of the required 'id' parameter at all. Since the schema only says it is a string, the agent is left to infer that 'id' identifies the relevant connection or lead. The description should compensate for the missing schema documentation but does not.
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 ('Render'), a specific resource (a first LinkedIn follow-up after connection acceptance), and clearly differentiates this from siblings like preview_linkedin_invite and preview_agent_email by specifying the exact stage ('after the connection is accepted').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when this applies — after a connection is accepted — which lets an agent distinguish it from preview_linkedin_invite. However, it does not explicitly mention alternatives or state when not to use it, 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.
preview_linkedin_invitePreview a LinkedIn invite the agent would writeBInspect
Render a sample LinkedIn connection request from this agent. No sending, no cost.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing side effects, and it explicitly does so with 'No sending, no cost.' This is a clear and valuable behavioral guarantee for an agent deciding whether invocation is safe and cheap.
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 one focused sentence that front-loads the core purpose and adds the crucial safety/cost information. Every phrase earns its place and there is no redundant 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 has no annotations, no output schema, and a parameter that is semantically opaque. While the description communicates the core preview behavior, it omits the meaning of the required id and gives no context about prerequisites or expected output, leaving too much for the agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema defines a single required 'id' with no description, and schema description coverage is 0%. The description does not explain what entity 'id' refers to—whether it is a lead, recipient, agent, or LinkedIn account—so an agent cannot confidently determine the correct 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 names a specific action and resource: 'Render a sample LinkedIn connection request from this agent.' It also clarifies the non-sending nature, which distinguishes it from actual LinkedIn sending or connection tools. The title and description align and leave no doubt about what the tool produces.
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 like preview_linkedin_followup or connect_linkedin_account. 'No sending' implies a preview-before-send use case, but that is only implied and no alternative tools or exclusion conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_reconnect_linkedin_accountPreview reconnecting a LinkedIn account (dry-run)AInspect
Dry-run of re-authenticating a LinkedIn account. Explains the side-effects without doing anything. ALWAYS call this first — reconnecting changes the account id upstream and can orphan existing outreach history.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the safety burden, and it does so clearly: 'without doing anything' states the dry-run is non-mutating, and the warning about changed account id and orphaned outreach history adds useful risk context. It could go further by describing the exact output, but that is not critical for a dry-run tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the definition and followed by the critical usage warning. There is zero filler, and every sentence adds distinct value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter dry-run tool, this is nearly complete: it covers what the tool does, that it is safe, and why it must precede reconnection. It does not spell out the meaning of id in text or enumerate which side-effects are explained, so a bit more detail would make it fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one undocumented id parameter with 0% coverage, so the description must supply meaning. It implies the id identifies the LinkedIn account being reconnected, but it does not explicitly state 'id is the LinkedIn account id' or add format details beyond the schema's string type. The single-parameter context makes this minimally adequate, but not 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?
The description uses a specific verb, 'Dry-run', and a clear resource, 're-authenticating a LinkedIn account', while explicitly stating it explains side-effects without doing anything. This clearly distinguishes it from the actual reconnect_linkedin_account sibling and other LinkedIn connection tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The imperative 'ALWAYS call this first' gives an explicit trigger and explains the consequence ('can orphan existing outreach history'). It does not explicitly name reconnect_linkedin_account as the follow-up action or state when this preview is unnecessary, though the sibling list makes that inferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reassign_crm_leadReassign a CRM lead to another ownerAInspect
Change who owns a lead. Call crm_list_workspace_members first to get a valid owner id — passing an unknown id fails. Write operation, no credit cost.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Lead id | |
| owner_id | Yes | New owner — a member id from crm_list_workspace_members |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden and does substantial work: it states this is a write operation, clarifies there is no credit cost, and discloses the failure condition for invalid owner ids. It stops short of describing reversibility or success response, but the critical behavioral facts are present.
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 with zero filler. The core action is front-loaded, followed immediately by the prerequisite step, the failure condition, and the cost semantics. 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 low-complexity tool (2 simple required params, no nested objects, no output schema), the description covers the action, prerequisite workflow, failure mode, and cost impact. The only notable gap is the absence of any return-value note, but that is minor for a straightforward ownership reassignment.
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 — the baseline is 3. The description adds genuine value beyond the schema by specifying the calling sequence (retrieve members before invoking) and the consequence of an invalid id, which meaningfully improves an agent's chance of a correct first call.
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?
"Change who owns a lead" is a specific verb+resource statement that precisely captures the reassignment action. It distinguishes this tool from siblings like crm_move_lead (stage movement), crm_update_lead (field edits), and crm_create_lead, leaving no ambiguity about what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit, actionable guidance: call crm_list_workspace_members first to obtain a valid owner id, and warns that an unknown id causes failure. It does not explicitly contrast with alternatives like crm_move_lead or crm_update_lead, but the clear purpose statement makes the selection context obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconnect_linkedin_accountReconnect a LinkedIn accountAInspect
Re-authenticate a LinkedIn account whose session died. Creates a NEW account id upstream: past outreach stays attached to the old id, so per-account history can look empty afterwards and running campaigns may need re-pointing. Only call after the user reviewed preview_reconnect_linkedin_account and approved.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it delivers rich behavioral detail: it creates a NEW account id upstream, past outreach stays tied to the old id, history may appear empty, and running campaigns may need re-pointing. This is exactly the kind of side-effect disclosure an agent needs before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three well-organized sentences: purpose first, then critical side effects, then invocation prerequisite. Every sentence adds necessary information without filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter re-authentication tool with no output schema, the description covers the main action, the significant upstream identity change, downstream consequences for history and campaigns, and the approval prerequisite. Nothing essential for deciding whether and how 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?
There is only one parameter, 'id', and schema description coverage is 0%. The description implies the id identifies the LinkedIn account to reconnect, but it never explicitly states that 'id' is the account id or where to source it. It provides some contextual meaning, but not enough to fully compensate for the missing schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Re-authenticate a LinkedIn account whose session died.' It clearly distinguishes this from connect_linkedin_account by focusing on session expiration and re-authentication, and from disconnect by describing re-establishment rather than removal.
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 a clear condition for use ('whose session died') and an explicit prerequisite: only call after the user reviewed preview_reconnect_linkedin_account and approved. It does not explicitly contrast with connect_linkedin_account or other alternatives, but the context is strong enough to route an agent correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resume_channelResume one channel of a campaignBInspect
Resume a paused channel on a campaign.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| channel | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of explaining side effects. It conveys a state change from paused to active, but does not disclose what resuming actually triggers, whether there are idempotency concerns, what happens if the channel is not paused, or any permissions/error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or redundant phrasing. Every word contributes to conveying the core action and resource.
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 annotations, no output schema, and no parameter descriptions, this one-liner is insufficient. An agent invoking this tool lacks critical context about prerequisites, effects, error behavior, and return values.
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 0%, so the description must compensate. It only vaguely implies that 'id' refers to a campaign and 'channel' is one of the enum values; it does not explicitly define the id's role (e.g., campaign ID) or what each channel value means in context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Resume') and resource ('a paused channel on a campaign'), making the tool's core function clear. It is distinguishable from siblings like pause_channel and pause_campaign through the 'resume' + 'channel' combination, though it does not explicitly name 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?
The phrase 'paused channel' implies the tool should be used when a channel is currently paused, providing minimal usage context. However, there is no explicit guidance on when not to use it, what preconditions exist, or how it relates to sibling tools like pause_channel or launch_campaign.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_audienceSave an audienceAInspect
Save a searchable audience using the same filter set as search_audience. The audience is named and can then be attached to a campaign. No outreach happens here.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| filters | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It usefully states that no outreach happens here and that the audience can be attached later, but it does not disclose whether saving is idempotent, whether an existing name is overwritten, or what the response 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?
Three short sentences, all useful and front-loaded. The core action is stated first, the relationship to search_audience is second, and the non-outreach reassurance is last. No filler is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, but there is no output schema and no annotation coverage. The description covers purpose and side-effect boundaries, yet it leaves parameter semantics to be inferred from search_audience and does not mention what the tool returns, which an agent would need to confirm success.
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 0%, so the description must compensate. It tells the agent that the filters come from the same filter set as search_audience and that the audience is named, but it does not explain the individual filter fields or that only 'filters' is required while 'name' is optional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('Save a searchable audience') and immediately distinguishes this tool from its sibling search_audience by noting it uses the same filter set but persists the audience. It also clarifies that no outreach happens here, which prevents confusion with campaign-launch tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that the saved audience can later be attached to a campaign and explicitly references search_audience as the source of the filter semantics. It does not fully enumerate when not to use this tool versus other audience-related siblings, but the context is clear enough for an agent to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_scan_dataPersist scan resultsCInspect
Save the output of a deep scan onto the agent (company description, people, contacts).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool saves data, implying a mutation, but does not disclose whether it overwrites existing data, whether it requires prior authorization or a completed deep scan, whether it is idempotent, or what happens on repeated calls. The parenthetical listing data categories adds some clarity but does not address side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence with no filler. It front-loads the core action ('Save the output of a deep scan') and appends the clarifying parenthetical. It earns a high score for economy, though it sacrifices some necessary detail in doing so.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one required parameter, no output schema, and no annotations, the description must at least specify what the parameter means, any preconditions, and likely effects. It only partially hints at the parameter's meaning via 'onto the agent' and never explains preconditions or return behavior, leaving an agent under-equipped to invoke it correctly without additional investigation.
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 one required string parameter 'id' with no description, and schema description coverage is 0%. The description mentions 'onto the agent,' giving a weak hint that 'id' likely identifies the agent, but it never explicitly states what the id refers to, what format is expected, or whether it could be a scan id. This is insufficient compensation for a completely undocumented parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action ('Save'), the resource ('output of a deep scan'), and the target ('onto the agent'), with a parenthetical specifying the content types: company description, people, contacts. It is specific enough that an agent can distinguish it from sibling tools like scan_website_quick or save_audience, though it does not explicitly name those 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 offers no guidance on when to use this tool versus alternatives, no prerequisites (e.g., that a deep scan must already have been run), and no exclusions. The only implicit context is the phrase 'output of a deep scan,' which suggests it should be used after deep_scan_agent or preview_deep_scan, but this is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_website_quickQuick website scanBInspect
Crawl a website's structure (sitemap, top pages) BEFORE creating an agent. Useful when deciding which company to set on the agent. Costs ~2 credits.
| Name | Required | Description | Default |
|---|---|---|---|
| website_url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It discloses the cost ('Costs ~2 credits') and the general action (crawl), but lacks information about side effects, idempotency, permissions, rate limits, or failure behavior. This is a significant gap for a 1-parameter tool with no annotation support.
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 deliver purpose, timing, and cost with zero wasted words. The key scoping information ('BEFORE creating an agent') is front-loaded, making it instantly actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose, usage timing, and cost, which is adequate for a simple 1-parameter tool. However, with no output schema, it does not describe the result format beyond hinting at 'sitemap, top pages'. This leaves the agent guessing about how to use the returned data.
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 0%, so the description must compensate for lack of parameter guidance. However, it does not mention the 'website_url' parameter at all, its expected format, or any constraints. While the parameter name is intuitive, the description adds no value beyond the schema's minimal property listing.
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 ('Crawl') and resource ('a website's structure') and clarifies the purpose ('BEFORE creating an agent', 'when deciding which company to set'). It is clear but does not explicitly differentiate from sibling tools like 'deep_scan_agent', 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?
Provides clear context for when to use the tool: before agent creation, specifically for company selection. It also mentions cost as a consideration. However, it does not name alternative tools or explicitly state when not to use it, so it does not fully meet the 5-level standard.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_activate_searchActivate (start) a Signal SearchAInspect
Set status=active and fire-start all enabled hunters. Reversible via sdr_pause_search.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral disclosure. It reveals that the tool changes status and triggers all enabled hunters, and it names the reverse operation. It does not cover edge cases like already-active searches or partial hunter failures, but the core side effect is clearly stated.
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 deliver the core behavior and reversibility with no filler. The action is front-loaded, and the reference to sdr_pause_search is relevant and compact.
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, the description covers the essential behavior and reversibility, but it omits parameter semantics and any mention of expected output or preconditions. It is adequate for a straightforward activation, yet leaves some ambiguity about the id and what happens on repeat calls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one required 'id' string with no description, and schema description coverage is 0%. The description never clarifies that 'id' is the Signal Search identifier or what format it should take, so it adds no meaning beyond the property name itself.
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 concrete action: 'Set status=active and fire-start all enabled hunters,' identifying both the resource (a Signal Search) and the scope. It is clearly distinct from sibling tools like sdr_pause_search and sdr_run_now because it names the activation side effect 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 explicit guidance is given for when to use this tool versus sdr_resume_search or sdr_run_now, both of which are plausible alternatives in the sibling list. The only indirect hint is 'Reversible via sdr_pause_search,' which tells the agent how to undo but not when this tool is the correct choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_activity_feedLive activity feed for an SDR searchAInspect
Recent discovery + outreach events for one SDR search, newest first — the same ticker the dashboard shows. Read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Default 40 | |
| search_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description states 'Read-only, free', which communicates no side effects and no cost. It also discloses ordering ('newest first') and the fact that it mirrors the dashboard ticker. It does not describe response shape or error behavior, but for a read-only feed the key behavioral risks are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence front-loads the core purpose, then adds ordering and a useful dashboard comparison. 'Read-only, free' is compact and provides high-value behavioral info without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity, two parameters, and no output schema, the description gives enough context for correct invocation: it identifies the target search, the event types, ordering, and safety profile. It could mention what the returned events look like, but the 'same ticker the dashboard shows' provides grounding.
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 50%: 'limit' has a default but no semantic explanation, and 'search_id' has no description. The phrase 'for one SDR search' adds meaning to search_id, and the schema covers limit's default. Neither parameter is explained in depth, so the description only partially compensates for the schema gap.
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 resource ('Recent discovery + outreach events for one SDR search') and a clear behavior ('newest first'). It is distinct from generic feed tools and from siblings like sdr_recent_signals by scoping explicitly to a single search.
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 clearly implies when to use it: when you need the recent activity feed for one SDR search, matching the dashboard ticker. It does not explicitly name alternatives or exclusion cases, but the scoping is strong enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_company_heatHottest companies by signal strengthCInspect
Composite "heat" ranking — companies with the strongest live signal in the workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of explaining behavior, but only states that it is a composite ranking. It does not disclose whether this is a read-only operation, what the result items contain, how 'signal' is defined, or whether limit affects the number of companies 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?
The description is a single concise sentence with the key concept front-loaded ('Composite heat ranking'). There is no filler or redundant phrasing. Brevity is used effectively, though it sacrifices useful parameter and return-value detail.
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 and no annotations, and the description leaves out the return format, default pagination behavior, and the precise meaning of 'live signal'. An agent could infer that a ranked list of companies is returned, but it cannot reliably anticipate the response structure or how to use the result.
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 0%, so the description must compensate by explaining the 'limit' parameter, but it does not mention limit at all. The schema's min/max constraints provide some information, but the description adds no meaning about default limits or how limit interacts with the ranking.
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 identifies a specific resource (companies) and the ranking criterion (strongest live signal), which clearly conveys what the tool returns. It is distinguishable from sdr_recent_signals and sdr_signal_stats because it specifically produces a composite company-level heat ranking. However, it lacks an explicit action verb like 'retrieve' or 'list', making the operation slightly less direct.
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 guidance on when to use this tool versus the many sdr_* sibling tools. It does not mention alternatives, exclusions, or the specific scenario where a heat ranking is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_create_searchCreate a Signal Search (and start hunting)BInspect
Create a Signal Search and immediately activate the configured hunters. Required: name, agent_id. Optional: enabled_sources, target_regions (ISO-2 country codes), pre-edited profile fields from sdr_preview_search.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| agent_id | Yes | ||
| icp_summary | No | ||
| offer_summary | No | ||
| signal_weights | No | ||
| target_regions | No | ISO-2 country codes the search targets, e.g. ['GB', 'US']. | |
| enabled_sources | No | E.g. ['linkedin_jobs', 'connected_people']. Paid sources (ai_web_hunter, g2_reviews, tech_stack) are off by default. | |
| relevant_topics | No | ||
| exclude_keywords | No | ||
| industry_keywords | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It does disclose that hunters are immediately activated after creation and references the preview workflow, but it does not explain what activation entails, whether it consumes credits, or what side effects the agent should expect.
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 short, front-loaded with the core behavior, and avoids filler. The phrase 'pre-edited profile fields from sdr_preview_search' is somewhat vague, but overall the description earns its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex 10-parameter creation tool with nested objects, no output schema, and no annotations, so the description needs to do substantial work. It covers required fields and immediate activation, but omits semantics for undocumented parameters, workflow guidance relative to preview/update/activate siblings, and clearer side-effect disclosure.
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 only 20%, and the description only lightly compensates by naming required fields and a few optional categories. Six parameters such as icp_summary, signal_weights, and relevant_topics remain undocumented in both the schema and the description, leaving the agent to guess their meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a Signal Search and immediately activates hunters, giving a specific verb, resource, and key side effect. It does not explicitly contrast with sibling tools like sdr_preview_search or sdr_activate_search, but the combined create-and-activate wording makes its role reasonably distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that this is a create-plus-activate operation and lists required and optional inputs, so the agent knows what must be supplied. However, it gives no explicit guidance about when to prefer this over sdr_preview_search, sdr_activate_search, or sdr_update_search, and it mentions no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_delete_outreachDelete the SDR outreach campaign (irreversible)AInspect
Delete the SDR outreach campaign. The Signal Search and its hunters CONTINUE running. Only call after sdr_preview_delete_outreach.
| Name | Required | Description | Default |
|---|---|---|---|
| search_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It discloses the irreversible nature via the title and the key side effect that deleting the campaign does not stop the Signal Search or its hunters. It does not describe what happens to a currently running campaign or permissions, but the most decision-relevant side effects are present.
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 contributing distinct information: the operation, the non-destructive side effect on the search, and the required precondition. The most important action is front-loaded, and there is no filler or repetition of schema fields.
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 action with no output schema, the description covers purpose, irreversibility, side effects, and sequencing. The only real gap is the undocumented search_id semantics, which is partially mitigated by the tool name and the mention of Signal Search, so the definition is solid but not flawless.
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 only provides 'search_id' as a required string with no description, and schema description coverage is 0%. The description never explicitly maps search_id to the Signal Search or states where to obtain it, leaving the agent to infer this connection from indirect wording. This is the weakest area of the definition.
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 opens with a specific verb and resource: 'Delete the SDR outreach campaign.' The phrase 'SDR outreach campaign' distinguishes this from sibling tools like sdr_delete_search and delete_campaign, and the title adds the irreversible consequence. There is no ambiguity about what operation this tool performs.
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 an explicit precondition: 'Only call after sdr_preview_delete_outreach,' which tells an agent the required sequencing. The warning that the Signal Search and hunters continue running also implies this tool is not the way to delete the search itself, though it does not explicitly name the alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_delete_searchDelete a Signal Search (irreversible)AInspect
Permanently delete a Signal Search. Hunters are paused first, then the search and all its contacts/personas are removed. NOT reversible.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure—and exceeds it. It clearly states the operation is permanent, not reversible, and details the cascading side effects: hunters paused first, then search and all connected contacts/personas removed. This is exactly the transparency needed for 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 with the main action front-loaded. The critical warning 'NOT reversible' is prominent, and every sentence carries meaningful information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter destructive tool with no output schema and no annotations, the description covers the full operational impact: what gets deleted, the sequencing (pause first, then removal), and the non-reversibility. An agent has all essential information to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not explicitly document the 'id' parameter. However, with the tool purpose of deleting a Signal Search, the single required string parameter is reasonably inferable as the search's identifier, but the description leaves that mapping implicit.
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 ('delete') and resource ('Signal Search'), and adds critical scope: hunters are paused first, then the search and all contacts/personas are removed. This clearly distinguishes it from related siblings like sdr_update_search, sdr_pause_search, and sdr_preview_delete_search.
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 irreversible, permanent nature of the deletion implies this tool is for final removal, but the description never explicitly contrasts it with alternatives like sdr_pause_search for temporary stops or sdr_preview_delete_search for dry-run inspection. Usage context is implied, not explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_export_people_csvExport SDR contacts as CSVAInspect
Export the contacts of an SDR search as CSV text (name, title, email, LinkedIn, location, company). Contacts ONLY — deliberately carries no scores or signal reasoning, because this file leaves the platform. Returns the raw CSV; can be large. Read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | ||
| company | No | ||
| search_id | Yes | ||
| min_relevance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description does the work of disclosing behavior: it returns raw CSV, warns that output 'can be large,' and states it is 'Read-only, free.' This gives an agent a solid safety and performance profile, though it does not mention truncation, pagination, or encoding.
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 compact, front-loaded with the core action and output fields, and every sentence adds value — including the size warning and read-only/free clarification. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output side is well covered, partially compensating for the missing output schema. However, the input side is not: with no annotations and no parameter explanations, an agent cannot confidently determine what role, company, or min_relevance do before calling the 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 0%, and the description adds almost no input parameter meaning. 'An SDR search' hints at search_id, but role, company, and min_relevance are entirely unexplained, leaving an agent unable to understand the optional filters.
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 phrase ('Export the contacts of an SDR search as CSV text'), enumerates the included fields, and explicitly narrows scope with 'Contacts ONLY — deliberately carries no scores or signal reasoning.' This makes its role unambiguous against the many sdr_* 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 gives clear contextual guidance: use this tool when you need raw contact CSV leaving the platform, and do not expect scores or signal reasoning. It stops short of naming a specific sibling alternative or an explicit when-not-to-use condition, so it is strong but not fully prescriptive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_export_personas_to_audienceExport personas to a saveable audienceAInspect
Take the personas matched by a Signal Search (optionally filtered by role / having email / specific IDs) and export them into a custom audience that can then be attached to any campaign.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | ||
| name | No | ||
| roles | No | ||
| search_id | Yes | ||
| only_with_email | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It clearly indicates this is an export/creation action producing a saveable audience, which is useful. But it does not disclose side effects such as duplicate behavior on repeated runs, whether an existing audience is overwritten, or what response/confirmation the caller receives.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the action, clearly expresses the optional filters, and states the outcome. There is no filler or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is sufficient for an agent to understand what the tool does and when to select it. It is not fully complete for invocation because the 'name' parameter is unexplained, and with no output schema or annotations, important behavioral details like return values and side effects are 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 0%, so the description must compensate. It successfully maps search_id to the source search and roles/only_with_email/ids to optional filters. However, it does not explain the 'name' parameter, which is likely needed to label the resulting audience.
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 operation: taking personas matched by a Signal Search and exporting them into a custom audience. It clearly identifies the resource produced, 'custom audience', and the downstream purpose, 'attached to any campaign', which distinguishes it from export-to-CSV siblings like sdr_export_people_csv.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use this when you have a Signal Search and want to turn matched personas into a reusable audience. It also notes optional filters. However, it does not explicitly name alternatives or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_generate_agent_signal_profileGenerate an agent's signal profile (Claude)AInspect
Run Claude on the agent's knowledge to (re)generate its signal profile. Persists onto the agent so later Signal Searches reuse it.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It explicitly discloses the side effect that the profile 'persists onto the agent,' and '(re)generate' implies overwriting or updating the existing profile. It does not mention cost or async behavior, but this is reasonable for a one-parameter mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler. The main action and the key persistence consequence are front-loaded, making the description easy to scan and act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema, the description explains what happens, where the result is stored, and why it matters for later Signal Searches. It does not mention the return value or whether generation is asynchronous, but those details are secondary for this mutation-oriented tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only 'agent_id' as a required string with no description, and the description does not explicitly document the parameter. However, the tool text's repeated reference to 'the agent' plus the self-explanatory parameter name makes the intended meaning clear for this simple single-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action and resource: running Claude on the agent's knowledge to (re)generate its signal profile. It also explains the persistence behavior, which distinguishes this generator from sibling accessor tools like sdr_get_agent_signal_profile.
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 text clearly indicates when the tool is needed: to generate or regenerate an agent's signal profile so later Signal Searches can reuse it. It does not explicitly name alternatives or state when not to use it, but the context is clear enough for a single-purpose tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_get_agent_signal_profileGet an agent's signal profileAInspect
Read the agent's current signal profile (ICP, offer summary, hunter weights). Returns { exists: false } when nothing's generated yet.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the operation is a read, names the contents of the profile, and reveals the non-obvious edge case behavior of returning { exists: false } when nothing has been generated. It does not cover error cases, but the core behavioral traits are clearly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The primary action and resource are front-loaded, the profile components are compactly listed, and the edge-case return is stated in 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 single-parameter read tool with no annotations and no output schema, the description covers the purpose, the profile contents, and the absent-profile return. It does not fully specify the success return shape, but the parenthetical components plus the edge case make it sufficiently complete for correct invocation in most situations.
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 0%, so the description must compensate. It refers to 'the agent's' profile, which links agent_id to the resource, but it does not explain the expected id format or where to obtain it. For a single string agent_id, this is minimally adequate but not richly explanatory.
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 ('Read') and resource ('agent's current signal profile'), and lists the profile's contents (ICP, offer summary, hunter weights). This clearly distinguishes it from sibling sdr_generate_agent_signal_profile, which creates rather than reads the profile.
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: use this to read an existing signal profile, and the 'exists: false' note suggests when generation has not happened yet. However, it does not explicitly name the alternative sdr_generate_agent_signal_profile or state when to prefer it, so the routing guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_get_outreachGet SDR outreach status for a searchAInspect
Read the SDR outreach campaign — channels enabled, ready/queued/sent counts, current content config.
| Name | Required | Description | Default |
|---|---|---|---|
| search_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the safety and behavior burden. Opening with 'Read' and enumerating returned channels, counts, and config makes the read-only nature clear and sets expectations about what the call returns. It does not cover auth, errors, or staleness, but for a simple getter this is a reasonable disclosure.
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 front-loaded sentence with a dash-delimited list of the key returned items; no filler or repeated structured information. It earns its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main output categories but, with no output schema, leaves response structure unspecified and does not clarify the required search_id or distinguish itself from related outreach siblings. Adequate for a straightforward getter, but there are real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, search_id, has no schema description (0% coverage), and the tool description does not explain what values it accepts or where they come from. Only the title's 'for a search' hints at its meaning, so the description adds little beyond the parameter name itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description starts with the action 'Read' and names the exact resource ('SDR outreach campaign') and the data it exposes: channels enabled, ready/queued/sent counts, and current content config. The title further scopes it to a search, distinguishing it from content-only and summary siblings. This is a specific, non-tautological purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for checking outreach status, but gives no explicit when-to-use guidance and does not mention alternative tools such as sdr_get_outreach_content, sdr_outreach_summary, or sdr_launch_outreach. An agent must infer selection from naming rather than from stated context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_get_outreach_contentGet SDR outreach content (templates)BInspect
Read the configured email subject/body templates and LinkedIn invite template for SDR outreach.
| Name | Required | Description | Default |
|---|---|---|---|
| search_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the responsibility for behavioral disclosure. The word 'Read' conveys a read-only intent, which is the most important behavioral trait. However, it does not explicitly state that no changes are made, what happens if templates are not configured, or whether any authentication or search prerequisites apply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler and front-loads the core action 'Read'. It efficiently specifies both the email templates and the LinkedIn invite template without unnecessary detail. Every part of the sentence contributes meaningful 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?
The tool is simple, but with no annotations and no output schema, the description is the only source of operational context. It fails to explain the required search_id parameter, how the templates are scoped, or what the response contains. An agent cannot reliably know exactly what value to pass or what to expect back.
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 0%, so the description must compensate for the undocumented search_id parameter. It never mentions search_id or explains how it relates to the outreach content being read. The parameter name provides only a weak clue that it identifies a search, leaving the agent to infer the required 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: 'Read the configured email subject/body templates and LinkedIn invite template for SDR outreach.' It clearly identifies what the tool does and differentiates it from broader siblings like sdr_get_outreach by specifying exactly which content is retrieved. The title's '(templates)' further reinforces the resource scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to choose this tool over related siblings such as sdr_get_outreach, sdr_preview_outreach_content, or sdr_update_outreach_content. It does not mention exclusions, prerequisites, or alternative tools. The only usage signal is the verb 'Read', which implies retrieval but does not help an agent decide among the many SDR content-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_get_person_detailWhy was this person picked?AInspect
Full provenance for one person found by SDR: which hunter found them, what query fired, what signal triggered the pick, and the scoring breakdown. Use this to explain to a customer WHY a contact is in their list. Read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Person (persona) id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explicitly discloses 'Read-only, free,' which tells the agent there are no side effects and no cost, and it lists the data categories returned, which is substantial behavioral clarity for a simple read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the first enumerates the returned provenance dimensions, the second gives the use case and cost/safety profile. No filler, and the key 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?
With a single fully-described parameter, no output schema, and no annotations, the description still provides what an agent needs: what the tool returns, why to call it, that it is safe, and that it is free. There are no major gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter and the schema describes it fully as 'Person (persona) id,' giving 100% schema_description_coverage. The description reinforces that the id refers to a person found by SDR, but adds no new format or constraint information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource ('one person found by SDR') and the exact provenance details returned: hunter, query, signal, and scoring breakdown. The title reinforces the purpose, and the description distinguishes this from the many SDR sibling tools by focusing on a single person's why-they-were-picked story.
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 a concrete use case: 'explain to a customer WHY a contact is in their list.' It doesn't name alternative tools or explicitly say when not to use it, but the per-person provenance framing clearly separates it from listing, search-level, and stats tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_get_searchGet a Signal SearchAInspect
Fetch one Signal Search by id, including its profile, hunters, and contact counts.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. 'Fetch' clearly signals a read-only retrieval operation, and listing 'profile, hunters, and contact counts' discloses the scope of data returned. It does not discuss error behavior or authorization, but for a simple get-by-id tool the core behavioral surface is adequately disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that states the action, the target resource, and the returned components without redundant words. Every phrase earns its place, and there is no filler or restating of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity, one required parameter, and no output schema, the description gives enough for an agent to understand what will be fetched and what data is included. It could go slightly further by noting what happens if an id is invalid or how the id is obtained, but these are minor gaps for a simple fetch operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only defines id as a required string with 0% schema description coverage, so the description must give the parameter meaning. 'by id' plus 'one Signal Search' establishes that the id is a Signal Search identifier, which is the key semantic needed. It does not specify the id format or source, but for a single trivial parameter this is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'Fetch one Signal Search by id' and lists notable returned contents (profile, hunters, contact counts). It is clear and unambiguous, but it does not explicitly differentiate itself from sibling search-related tools such as sdr_list_searches or sdr_get_agent_signal_profile, 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?
The phrase 'by id' implies this tool is for retrieving a single known Signal Search rather than listing or creating searches, which gives an implicit usage context. However, it provides no explicit guidance about when to prefer this tool over alternatives, nor any exclusions or prerequisite steps such as obtaining the id from sdr_list_searches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_healthGet Signal Search health dashboardAInspect
Operator-level health view: states, signals/contacts produced, credits spent, recent events, learning insights for a single search.
| Name | Required | Description | Default |
|---|---|---|---|
| search_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. The terms 'health view' and 'dashboard' imply a read-only operation, and the listed contents reinforce that it aggregates existing data. However, it does not explicitly confirm non-mutating behavior, mention access requirements, or describe how the data is produced or scoped.
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 one efficient sentence, front-loads the core concept ('Operator-level health view'), and uses a colon to list the payload components. Every word earns its place, and there is no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only dashboard, the description covers the essential domain and content categories. However, with no output schema and no annotations, it leaves the actual return structure, possible empty states, and any special behavior unsurfaced. It is adequate but not 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?
The schema has no description for search_id, and schema coverage is 0%, so the description must compensate. The phrase 'for a single search' clarifies that search_id refers to one specific search, but it does not explain where to find the ID, its format, or any validation requirements. It adds minimal meaning beyond the parameter name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an operator-level health view for a single search and enumerates the data it surfaces (states, signals/contacts, credits, events, learning insights). It is distinct enough from sibling tools like sdr_activity_feed or sdr_signal_stats by framing this as a combined dashboard, though it lacks an explicit verb like 'retrieve' or 'get'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for getting a consolidated health overview of one search, which gives a clear usage context. However, it does not state when to prefer this over sibling tools like sdr_run_states, sdr_signal_stats, or sdr_activity_feed, nor does it provide exclusions or alternative routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_launch_outreachLaunch SDR outreach (sends real messages, spends credits)AInspect
Launch SDR outreach. Contacts will start receiving emails and/or LinkedIn invites. Credits spent per message. Only call after sdr_preview_launch_outreach and explicit user approval.
| Name | Required | Description | Default |
|---|---|---|---|
| channels | No | ||
| search_id | Yes | ||
| sender_mode | No | ||
| daily_email_limit | No | ||
| daily_linkedin_limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses that real messages will be sent, that credits are spent per message, and that user approval is required. It stops short of discussing rate limiting, irreversibility, or async behavior, but the most consequential side effects are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler. Each sentence adds distinct value: what launches, what happens, and the mandatory precondition. The warning is placed after the effect but the overall structure is tight and easily scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-stakes tool that sends real messages and spends credits, the description covers the key safety gate and main side effects. However, with no annotations, no output schema, and five mostly undocumented parameters, an agent still lacks enough parameter-level detail to invoke it with full confidence.
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 0%, so the description must explain the parameters. It only indirectly covers `channels` via 'emails and/or LinkedIn invites'. The required `search_id`, `sender_mode`, and the two daily limit parameters are left unexplained, leaving an agent to guess their meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Launch SDR outreach') and clearly defines the effect: contacts will start receiving emails and/or LinkedIn invites. It also distinguishes itself from preview/pause/resume siblings by explicitly noting that real messages are sent and credits are spent.
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 explicit precondition: 'Only call after sdr_preview_launch_outreach and explicit user approval.' This tells the agent exactly when the tool is appropriate and implies that calling it earlier is wrong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_learning_insightsLearning insights — per-signal-type performanceBInspect
Learned weights per signal type and conversion stats based on real outreach outcomes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It reveals what content is returned — learned weights and conversion stats — but does not mention whether the operation is read-only, whether it has side effects, how data is refreshed, or any access constraints. This leaves important behavioral traits undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence with no filler. The core concepts — learned weights, per-signal-type granularity, and outcome-based conversion stats — are front-loaded and every phrase 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 zero-parameter tool this is minimally adequate, but with no output schema and no annotations, the description should clarify more about the returned data, such as format, time window, or how conversion stats are measured. It names the two main content areas but leaves the agent without concrete details about what a response will contain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. There are no parameter semantics to explain, and the description does not need to compensate for undocumented parameters because none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's subject: learned weights per signal type and conversion stats derived from real outreach outcomes. It is more specific than the title, though it lacks an explicit verb such as 'get' or 'retrieve.' It does not directly contrast with sibling tools like sdr_signal_stats, but the emphasis on learned weights and conversion outcomes helps distinguish it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as sdr_signal_stats, sdr_recent_signals, or sdr_get_agent_signal_profile. The description implies it is useful for querying model-derived insight, but it does not state exclusions, prerequisites, or when another sibling would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_list_personasList personas (contacts) discovered for a searchCInspect
List the people Vendo SDR has discovered for a given Signal Search. Filterable by company, role, min_relevance.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | ||
| limit | No | ||
| offset | No | ||
| company | No | ||
| search_id | Yes | ||
| min_relevance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It conveys read-only listing and filterability but omits pagination behavior, default limit/offset, result ordering, and what a persona record contains; 'list' is safe but the behavioral surface is underdisclosed.
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 scope; no redundant words. Slightly more detail on parameters/pagination would be welcome but not at the cost of this concise 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 6-parameter tool with no annotations and no output schema, this description is not complete: it omits required parameter semantics, pagination, return shape, and any exclusions. The filter list is useful but insufficient for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning for three filter params (company, role, min_relevance), but does not explain the required search_id, the limit/offset semantics, or accepted formats for min_relevance (string value is opaque).
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'), resource ('people Vendo SDR has discovered'), and scope ('for a given Signal Search'), plus filter dimensions. This distinguishes it from single-person (sdr_get_person_detail) and export (sdr_export_people_csv) siblings, though it does not name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage: call this when you have a search_id and want the discovered contacts. It provides filter context (company, role, min_relevance) but gives no explicit when-not-to-use or alternative selection for the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_list_searchesList Vendo SDR Signal SearchesAInspect
List active Signal Searches in this workspace. Optionally filter by agent.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'List' implies a non-destructive read and 'active' narrows the scope, but the description does not disclose pagination, ordering, response format, or how 'active' is defined relative to paused/completed searches.
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 main action and scope, followed by the optional filter. There is no redundant wording 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 one-optional-parameter list tool, the description is largely complete. It din't describe the return shape, and there is no output schema to fill that gap, but listing tools have predictable expectations. The main missing detail is clarifying what makes a Signal Search 'active'.
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 0% schema description coverage, the description is the only source of parameter meaning. 'Optionally filter by agent' correctly explains the semantic of agent_id as an optional filter, which is sufficient for a single optional parameter. It does not say what format the agent identifier should take, but that is a minor gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and clear resource ('active Signal Searches') with workspace scope, plus an optional filter by agent. This distinguishes it from singular lookup tools like sdr_get_search and from other SDR list tools by emphasizing 'active' searches.
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 clearly indicates the tool is for listing active Signal Searches within the current workspace and notes the optional agent filter. It does not explicitly mention alternatives or exclusions, but the context is clear enough for a straightforward list operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_outreach_summarySent/queued counters for an SDR searchAInspect
Per-channel sent and queued counts for one SDR search. Read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
| search_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, and 'Read-only, free' explicitly communicates no side effects and no cost. It also limits scope to a single SDR search, which prevents the agent from assuming it aggregates across all searches. It does not cover error handling or response format, but for a simple read operation this is solid.
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 filler. The core meaning is front-loaded and it does not redundantly restate the input schema or title.
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-only tool, the description covers the essential semantics, but no output schema exists and the description does not explain what channels are represented or what sent versus queued counts mean operationally. It is adequate but leaves some context about return values and channel definitions to inference.
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 0%, so the description must compensate for the bare 'search_id' string parameter. The phrase 'for one SDR search' clarifies that search_id identifies the SDR search, which is minimal but meaningful. It does not specify the ID format or how to obtain it, such as via sdr_list_searches.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource ('one SDR search') and the exact data returned ('per-channel sent and queued counts'), making the tool's purpose unambiguous. It lacks an explicit verb like 'retrieve' but the noun-phrase construction is still specific and distinguishable from nearby SDR tools such as sdr_get_outreach or sdr_activity_feed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like sdr_get_outreach or sdr_activity_feed. The phrase 'Read-only, free' hints at safety but does not state use cases, prerequisites, or exclusions, leaving the agent to infer when this summary is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_pause_outreachPause SDR outreach deliveryBInspect
Stop sending new messages on this SDR campaign. Reversible.
| Name | Required | Description | Default |
|---|---|---|---|
| search_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral context beyond the title by noting the action is 'Reversible' and that it only stops 'new messages.' However, with no annotations, the description carries the full disclosure burden and does not mention side effects such as what happens to already-queued messages, whether the operation is idempotent, or what response to expect.
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 extremely concise: a single action sentence followed by a one-word reversibility note. It is front-loaded and contains no filler, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description covers the core action and reversibility. However, it lacks guidance on when to use it versus related pause tools, and it leaves the search_id parameter semantics underspecified, so the overall context is adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no description for search_id, and the description only vaguely refers to 'this SDR campaign.' It does not clarify how to obtain the search_id, whether it identifies an outreach campaign versus a search, or what value format is expected. With 0% schema coverage, the description should compensate but does not.
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 ('Stop sending new messages') and a resource ('this SDR campaign'), which clearly conveys the tool's function. The title reinforces this with 'Pause SDR outreach delivery.' However, it does not explicitly differentiate itself from closely related siblings like sdr_pause_search or pause_campaign, 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 gives no guidance on when to use this tool versus alternatives such as sdr_pause_search, pause_campaign, or sdr_delete_outreach. It also does not mention that sdr_resume_outreach is the counterpart for reversing the pause. Without explicit usage context, an agent must infer when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_pause_searchPause a Signal SearchAInspect
Pause hunters. Existing data stays; no new contacts surface. Reversible via sdr_resume_search.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden and discloses key behavioral traits: existing data is preserved, no new contacts surface, and the operation is reversible. It does not mention side effects on currently running searches or idempotency, but the disclosed behavior is sufficient for a simple pause 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, with the core action first and no filler. Each sentence adds a distinct fact: what happens, what is preserved, and how to reverse it.
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, no-output-schema tool, the description covers the essential behavior and reversion path. The main gap is the unexplained `id` parameter, which prevents a fully complete definition.
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 zero description coverage for the single required `id` parameter, and the description does not explain what `id` refers to. An agent must infer from context that it is the signal search ID, which is plausible but not explicitly stated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Pause') and the search-scoped effect ('no new contacts surface'), and it names the symmetric tool for reversion. However, 'Pause hunters' is internal jargon; without the title 'Pause a Signal Search', the resource would be ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: this is a temporary pause that preserves existing data and stops new discovery, and it explicitly points to `sdr_resume_search` for reversing the action. It does not explicitly contrast with permanent alternatives like `sdr_delete_search`, so it stops short of a full when-not boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_persona_statsGet persona stats for a Signal SearchBInspect
Aggregate stats: total personas, by_role, top_companies, daily count series, credits_spent, quality_blocked.
| Name | Required | Description | Default |
|---|---|---|---|
| search_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It lists returned aggregates but does not explicitly confirm this is a read-only operation, mention whether calling it consumes credits, or describe response structure, failure behavior, or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact line that front-loads the core concept and lists the meaningful stat categories with no filler or repetition. Every element adds value for a simple one-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple stats tool, the description gives a useful list of output categories, but it lacks an output schema and does not explain the shape of the response or how these stats relate to the search. The absence of usage differentiation from sibling stats tools also leaves some context incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, search_id, is a required string with no schema description, giving the agent zero schema-level guidance. The title and description partially compensate by indicating the parameter identifies a Signal Search, but they do not explain how to obtain or format that ID.
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 title and description together clearly identify the tool as returning persona stats for a specific Signal Search, listing concrete output categories such as total personas, top_companies, and credits_spent. It is distinguishable from many siblings by its focus on persona-level aggregates, though it does not explicitly contrast itself with similar stats tools like sdr_signal_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool over the many related sdr_* statistics and search tools. The description implies it is for aggregated persona stats for a search, but it never states conditions, alternatives, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_preview_delete_outreachPreview deleting an SDR outreach campaignBInspect
Show what would happen. The Signal Search ITSELF is NOT deleted, only the outreach campaign.
| Name | Required | Description | Default |
|---|---|---|---|
| search_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure and does add key context: this is a preview and the Signal Search itself remains untouched. It does not explicitly state 'no changes are made' or describe side effects, but 'what would happen' plus the scope caveat adequately covers the preview nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no obvious fluff, and the crucial caveat 'Signal Search ITSELF is NOT deleted' is included. The first sentence is somewhat generic, but the overall description is front-loaded and easy to consume.
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 low-complexity preview tool with one required parameter, the core behavior and scope are present. However, the description does not define what the returned preview looks like, does not document search_id, and does not explicitly say there are no side effects. These gaps leave moderate room for agent uncertainty.
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's only parameter, search_id, is undocumented and schema description coverage is 0%. The description never explains that search_id identifies the signal search whose outreach campaign is being previewed, so an agent must infer its meaning from the parameter name and context.
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?
Together with the title, the purpose is clear: this tool previews deleting an SDR outreach campaign. The second sentence explicitly distinguishes it from search deletion by stating the Signal Search itself is NOT deleted. However, 'Show what would happen' alone is vague and relies on the title to convey the specific action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is a dry run ('Show what would happen') and clarifies the deletion scope ('only the outreach campaign'). It does not explicitly name alternatives such as sdr_delete_outreach for actual deletion or sdr_preview_delete_search for a search-scoped preview, so the when-to-use guidance is only 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.
sdr_preview_delete_searchPreview deleting a Signal SearchAInspect
Show what would happen if you delete the Signal Search. Nothing is deleted.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the safety disclosure and explicitly states 'Nothing is deleted,' which is the key behavioral trait for a preview operation. It doesn't detail what the preview output shows, but the core non-destructive guarantee is clear.
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, front-loads the action, and has no filler. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This simple tool is mostly complete: resource and non-destructive behavior are stated, and there's only one required parameter. However, with no output schema, the description doesn't explain what the preview shows (e.g., affected records, blockers), which leaves the return value 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 0%, and the description never mentions the 'id' parameter. While it's inferable that id identifies a Signal Search, the description does not compensate for the schema's lack of parameter documentation.
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 ('Show what would happen') and identifies the exact resource ('the Signal Search'), and distinguishes this preview from the actual deletion tool by stating 'Nothing is deleted.' It is clearly different from sibling preview_delete_* tools for other resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly establishes the context: this is a dry-run preview before deleting a Signal Search. The explicit reassurance that nothing is deleted signals safe use. However, it doesn't name the alternative sdr_delete_search or state 'use this before deleting,' so I'm not giving a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_preview_launch_outreachPreview launching SDR outreachAInspect
Show what would happen if you launch SDR outreach for this search — recipient counts per channel. NOTHING IS SENT. ALWAYS call first and surface the counts to the user.
| Name | Required | Description | Default |
|---|---|---|---|
| channels | No | ||
| search_id | Yes | ||
| sender_mode | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the safety burden and explicitly states 'NOTHING IS SENT,' which is the most critical behavioral guarantee for a preview operation. It also describes the output and prescribes a safe call-first flow. It does not discuss credits or broader side effects, but the main non-sending behavior is clearly disclosed.
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 zero filler; the safety-critical warning 'NOTHING IS SENT' is front-loaded and every clause contributes essential 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 3-param tool with no output schema, it provides the essential purpose, output, and safety context, and names the required semantic anchor (the search). The only substantive missing piece is sender_mode behavior, so it is near-complete but not fully comprehensive.
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 0%, so the description must compensate for documenting parameters. 'This search' maps to search_id and 'per channel' explains channels, but sender_mode is left entirely unexplained—a meaningful gap for an optional but important parameter.
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 concrete verb/resource: show what would happen if SDR outreach is launched for a given search, with recipient counts per channel. This clearly distinguishes it from sdr_launch_outreach, which actually performs the launch.
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 when-to-use guidance: 'ALWAYS call first and surface the counts to the user.' It does not formally name the alternative launch tool, but the preview/launch distinction is strongly implied by the title and sibling tool set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_preview_outreach_contentPreview a personalized SDR messageCInspect
Render an example personalized email/LinkedIn message for a specific contact. Costs ~1 Claude call.
| Name | Required | Description | Default |
|---|---|---|---|
| search_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses a meaningful behavioral trait: the tool costs ~1 Claude call, implying a credit-consuming generation action. However, it doesn't state whether the action persists or sends anything, relying on the word 'preview' to imply non-mutating 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 short sentences, both adding value: the first states the action and resource, the second the cost. It is concise and front-loaded, though it omits important parameter and usage details that could have been included without much bloat.
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 tool with no output schema and no annotations, the description provides the core purpose and cost but misses key context: the meaning of search_id, the shape of the rendered message, and when to prefer this over related preview/content tools. The absence of annotations raises the burden, which the description only partially meets.
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 a single search_id parameter with zero description coverage, and the description does not explain what search_id refers to or how it maps to 'a specific contact.' Since the description is the only available source of parameter meaning, this is a clear gap.
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 ('Render') and resource ('example personalized email/LinkedIn message for a specific contact'), clearly conveying the preview nature. It does not explicitly differentiate from sibling preview tools like preview_linkedin_invite, but the contact-specific and email/LinkedIn scoping gives enough distinction for basic selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus related siblings such as sdr_get_outreach_content or preview_linkedin_invite. The cost note is a constraint, not a usage criterion, and no exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_preview_run_nowPreview an immediate connector runAInspect
Show what would happen if you trigger an immediate hunter run. Useful because some sources are paid (ai_web_hunter, g2_reviews, tech_stack — Anthropic + web_search credits).
| Name | Required | Description | Default |
|---|---|---|---|
| source | No | Name of one specific hunter, or omit to run all enabled. E.g. 'linkedin_jobs', 'ai_web_hunter', 'connected_people'. | |
| search_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral disclosure burden. It conveys the core preview trait — nothing actually runs — and flags cost implications of certain sources. However, it leaves ambiguity about whether the preview itself consumes credits and what its output is, which matters for a cost-sensitive 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?
Two sentences with no filler: the first states the purpose, the second explains the cost-driven motivation. The paid-source examples are compact yet informative, and the purpose 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 preview tool with no output schema and no annotations, the description should disclose what the preview returns (estimated count, credits, matched data?) — it doesn't. It also never explicitly contrasts with sdr_run_now to tell the agent when to prefer the real execution. The cost motivation is well covered, but the return-value gap and missing sibling differentiation leave it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%; the source parameter is documented in the schema while search_id has no description. The description adds semantic value by naming which source values are costly to run, helping the agent reason about source choices. It doesn't compensate for the undocumented search_id, but search_id's purpose is largely inferable from the tool's domain.
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?
Uses a specific verb-resource pair ('Show what would happen if you trigger an immediate hunter run') that clearly conveys this is a dry-run. The title reinforces the preview nature, distinguishing it from the sibling sdr_run_now, though it doesn't explicitly name the 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?
Provides a concrete when-to-use rationale: sources like ai_web_hunter, g2_reviews, and tech_stack are paid, so previewing before running is valuable. This gives the agent clear context for selecting this tool over the actual run tool, though it stops short of explicitly stating 'use sdr_run_now when you intend to execute'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_preview_searchPreview a Signal Search profile (no save)AInspect
Run Claude on the agent's script and return the auto-generated ICP profile (offer summary, ideal customer profile, relevant topics, LinkedIn queries) WITHOUT persisting anything. Use to review/edit before calling sdr_create_search.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it delivers the key traits: it discloses that Claude/AI is invoked ('Run Claude'), that nothing is persisted ('WITHOUT persisting anything'), and what the output is. It stops short of a 5 because it does not address indirect effects such as credit consumption, latency, or failure behavior when the agent has no script — though for a read-only preview, the no-persistence statement is the critical disclosure.
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 dense sentence that front-loads the action and output, adds the critical side-effect disclaimer (WITHOUT persisting anything), and closes with a routing instruction. Every clause earns its place; no filler, no repetition of the title.
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, no-output-schema tool, the description is nearly complete: it enumerates the return components (partially compensating for the missing output schema), states the non-persistence guarantee, and gives the follow-up step. The only gaps are the slightly ambiguous 'review/edit' workflow phrasing and silence on credit/latency implications of running Claude, which matter in this credit-heavy tool ecosystem.
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 0% and the schema only says agent_id is a required string, so the description must compensate. It partially does by tying the parameter to 'the agent's script' being executed, and agent_id is self-descriptive among many agent tools. However, it never explicitly states that agent_id selects the agent to preview, how to obtain valid ids, or any format/ownership constraints, leaving the mapping to inference.
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 phrase ('Run Claude on the agent's script and return the auto-generated ICP profile') with concrete deliverable components (offer summary, ideal customer profile, relevant topics, LinkedIn queries). It also marks the key differentiator from siblings with 'WITHOUT persisting anything' and the title adds '(no save)', so it is unambiguously distinguishable from sdr_create_search.
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?
Includes an explicit workflow directive: 'Use to review/edit before calling `sdr_create_search`.' This names the exact sibling tool to call next and the condition (preview/review before persisting), leaving no inference required about when to invoke this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_recent_signalsRecent signals (workspace-wide)AInspect
Last N signals across all Signal Searches in the workspace. Useful for the "is it working?" check.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It communicates scope and that it returns the last N signals, but it does not specify ordering, time window, the structure of a signal, or explicitly confirm there are no side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler: the first states the core functionality, the second provides a practical use case. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter, the description is mostly adequate for selection and invocation. However, with no output schema and no definition of what a signal is, the agent is left without information about return format or result contents.
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 0% description coverage, so the description must compensate. The phrase 'Last N signals' directly ties the 'limit' parameter to the number of results returned, adding meaning beyond the bare schema field. Default behavior is not stated, but min/max constraints are in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource ('signals') and the scope ('across all Signal Searches in the workspace'), and adds a concrete use case. It does not explicitly name sibling alternatives, but the workspace-wide scope differentiates it from per-search signal tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'is it working?' check provides a clear, concrete scenario for when to use this tool. It does not mention exclusions or name alternatives, 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.
sdr_regenerate_searchRegenerate a Signal Search profile (re-run Claude)BInspect
Re-run Claude on the agent's current knowledge to regenerate the entire ICP profile and hunter configuration. Useful after the agent's script changed significantly.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It does disclose that the tool re-runs Claude and regenerates the entire profile, implying a potentially destructive overwrite. However, it does not state whether this replaces existing data, what prerequisites exist, or whether there are side effects beyond regeneration.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The core action is front-loaded, and the usage hint is additive rather than redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one required parameter and no output schema, yet the description omits what the id represents, whether the target search must already exist, and what the agent should expect after invocation. This is too incomplete for reliable tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions the single 'id' parameter. The agent receives no guidance on what id refers to or how to obtain it, which is a significant gap for a required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the verb ('re-run Claude') and the resource ('entire ICP profile and hunter configuration'), making it obvious this tool regenerates rather than creates or updates. The phrase 'regenerate' also distinguishes it from create/update siblings, though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a concrete trigger condition: 'Useful after the agent's script changed significantly.' This gives clear context for when to use the tool, though it does not mention any exclusions or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_resume_outreachResume SDR outreach deliveryCInspect
Resume a paused SDR outreach campaign.
| Name | Required | Description | Default |
|---|---|---|---|
| search_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It only states that a paused campaign is resumed, without explaining side effects such as resumed sending, credit usage, idempotency, or what happens if the campaign is not currently paused.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant wording. It is appropriately concise, though it adds little beyond the title plus the 'paused' qualifier.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema, the description should at least define the parameter and state the effects of resuming. It does neither, and with no annotations the agent is left without enough context to confidently invoke the 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 0%, and the description never mentions search_id or explains what it refers to. The parameter name suggests an identifier, but the description does not clarify that it identifies the outreach campaign/search to resume.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: "Resume a paused SDR outreach campaign." It clearly conveys the action and distinguishes it from pause/launch/delete siblings, though it does not explicitly contrast itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'paused' implies a clear precondition: the campaign must already be paused before calling this tool. However, it gives no explicit guidance about when to use this versus related tools like sdr_launch_outreach or sdr_pause_outreach, leaving the routing largely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_resume_searchResume a paused Signal SearchCInspect
Clear paused state and restart all hunters.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions a state change ('clear paused state') and an action ('restart all hunters'), but does not elaborate on side effects, such as whether the search starts from scratch or continues from a checkpoint. It gives a basic transparency of the operation but omits important behavioral 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 description is a single concise sentence that directly states the main action. It is well-structured and front-loaded, avoiding unnecessary words or complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks essential context: it does not explain the id parameter, describe expected outputs, or mention any prerequisites or error conditions. Given the simple schema and no output schema, the missing explanation of the parameter makes the tool incomplete for a user to understand how to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter 'id' is not described at all. The description provides no context for what the id refers to (e.g., search ID, campaign ID). The schema offers zero descriptive coverage, leaving the parameter's meaning completely ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Clear paused state and restart all hunters.' It is explicit about resuming a paused search, though the term 'hunters' is somewhat ambiguous. Overall, it effectively communicates the tool's primary purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus other resume-related tools like sdr_resume_outreach. It implies usage for paused searches but lacks context on prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_run_nowTrigger an immediate connector runAInspect
Fire-and-forget kick of one (or all) hunters for this Signal Search. Spends Anthropic + web_search credits for paid sources. Call after sdr_preview_run_now.
| Name | Required | Description | Default |
|---|---|---|---|
| source | No | ||
| search_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses key behaviors: the run is fire-and-forget, spends Anthropic and web_search credits for paid sources, and can target one or all hunters. It could mention return behavior or error cases, but the core behavioral traits are clearly surfaced.
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 filler. The primary action is front-loaded, followed by cost implications and the prerequisite call. 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 description covers purpose, cost, and sequencing, which is strong given the small schema. However, because there is no output schema and no parameter documentation, the missing `source` semantics and lack of return/confirmation behavior leave meaningful gaps for an agent deciding how to invoke the 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 0%, so the description must compensate. It implies `search_id` identifies the Signal Search and 'one (or all) hunters' hints at the `source` parameter, but it never explicitly maps parameters to those concepts or explains accepted values. An agent would still have to guess parameter 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?
The description states a specific action ('kick'), the resource ('hunters for this Signal Search'), and the execution mode ('fire-and-forget immediate run'). It also references `sdr_preview_run_now`, which helps an agent distinguish this run tool from its preview 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 explicitly says 'Call after `sdr_preview_run_now`', giving clear sequencing, and 'fire-and-forget' communicates the expected interaction model. It does not explicitly rule out alternatives like `sdr_activate_search` or `sdr_resume_search`, but it gives enough context to use this tool appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_run_statesGet per-source hunter run-statesAInspect
Per-source map of run state (running / paused / idle) for a Signal Search.
| Name | Required | Description | Default |
|---|---|---|---|
| search_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the output shape and possible state values, which conveys a read-style behavior, but it does not explicitly state that the operation is non-mutating, nor does it describe behavior for invalid or missing search_id. This is adequate but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly worded sentence with no filler. It front-loads the key output type and enumerates the possible states, so an agent can quickly parse the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is largely complete: it names the input scope and the output values. It could further clarify where search_id comes from or how to interpret missing sources, but these are minor gaps given the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no description for the single search_id parameter, so the description's 'for a Signal Search' adds needed meaning by identifying what the ID refers to. It does not explain how to obtain a valid search_id or what formats are accepted, leaving a modest gap for a parameter with zero schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific deliverable: a per-source map of run states (running/paused/idle) for a Signal Search. It clearly identifies the resource and the kind of output, which distinguishes it from broad tools like sdr_health or sdr_get_search, though it does not explicitly name a sibling alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use case is implied by the description: call this when you need run-state status per source for a Signal Search. However, there is no explicit when-to-use guidance, no mention of when not to use it, and no comparison to related tools like sdr_get_search, sdr_health, or sdr_pause_search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_signal_statsSignal stats by source (counts over time)BInspect
Signals collected by source over the last N days (max 90, default 30).
| Name | Required | Description | Default |
|---|---|---|---|
| days_back | No | ||
| search_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It tells the agent the aggregation window and that output is counts by source over time, but it does not explain what 'signals' means, whether the data is per-day or cumulative, whether search_id is required and its role, or how results are ordered/paginated. This is partially informative but leaves key behavioral gaps.
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 short, front-loaded sentence that conveys the core purpose and the key parameter constraint. Every word earns its place, and the max/default values are included without clutter.
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 stats endpoint with 2 parameters, no output schema, and no annotations, the description is adequate but thin. It covers the windowing parameter and the general output shape, but it does not define 'signals', what a 'source' is, how the output is grouped over time, or whether additional filters exist. Given the sibling set has many SDR analytics tools, this could confuse an agent without more context.
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 0%, so the description must compensate for the two parameters. It directly explains days_back ('last N days, max 90, default 30') and implies search_id is the signal source filter context ('Signals collected by source'). However, it does not state that search_id is required, nor clarify what 'source' means in relation to the search. Still, for 2 params it adds meaningful meaning beyond the raw 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 'Signals collected by source over the last N days' clearly identifies what the tool does: it returns signal counts grouped by source within a time window. The verb is implied (stats/list counts) and the resource is specific. Among the large sibling set, it is reasonably distinguishable from sdr_recent_signals and sdr_activity_feed, though it doesn't explicitly call out the differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the primary use case: querying signal volume by source for a search over a configurable trailing window. It states the max/default values for days_back but does not mention when to prefer sibling tools like sdr_recent_signals, sdr_company_heat, or sdr_learning_insights, nor does it give exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_update_outreach_contentUpdate SDR outreach content templatesAInspect
Edit email/LinkedIn templates for this SDR outreach. Takes effect on new sends.
| Name | Required | Description | Default |
|---|---|---|---|
| search_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses that the change affects only new sends, which is valuable timing information, but it does not mention whether existing templates are overwritten, whether the operation is reversible, or what state the outreach must be in.
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 verb and object, with no filler. The second sentence about new sends adds essential timing information and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter mutation tool, the description is adequate but leaves gaps: no explicit parameter semantics, no guidance among SDR sibling tools, and no side-effect detail beyond the new-send timing. Without annotations, a bit more detail would make the tool self-sufficient for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description never explains search_id, its format, or how it targets the outreach. The parameter name and the phrase 'this SDR outreach' hint at the intended mapping, but the agent must infer the meaning rather than being told.
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 ('Edit'), a clear resource ('email/LinkedIn templates for this SDR outreach'), and adds a meaningful scope detail. This effectively separates it from read-only and preview siblings such as sdr_get_outreach_content and sdr_preview_outreach_content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context that edits apply to templates and take effect on new sends, but it does not explicitly say when to use this versus sibling tools like sdr_get_outreach_content or sdr_preview_outreach_content. Usage is implied rather than stated with alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdr_update_searchUpdate a Signal SearchBInspect
Edit a Signal Search — name, enabled_sources, target_regions, or profile fields. Partial updates fine.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses than partial updates are allowed, which is useful behavioral information, but it did not cover auth requirements, error behavior, idempotency, or side effects. Moreover, the description lists editable fields (name, enabled_sources, target_regions) that are absent from the input schema with additionalProperties false, creating a conflict that undermines transparency. With no annotations to carry the safety/side-effect burden, this gap is significant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, tightly written sentence that front-loads the operation and resource, lists key fields, and adds the partial-update caveat. Every word earns its place; no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and one required parameter, the description should give enough context for correct invocation. It fails to mention the required id, the request body structure, or the mismatch between allowed schema properties and the advertised fields. An agent could easily make an invalid call based on the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning beyond the bare schema by naming editable fields, but it does not explain the required 'id' parameter or types/formats for fields, and it conflicts with the schema's additionalProperties false restriction. It partially compensates for the 0% schema coverage but not cleanly.
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 ('Edit') and resource ('Signal Search') and enumerates concrete editable fields: name, enabled_sources, target_regions, profile fields. This clearly distinguishes it from sibling tools like sdr_create_search, sdr_delete_search, sdr_get_search, and sdr_regenerate_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. 'Partial updates fine' is an instruction on how, but it does not identify when to choose sdr_update_search over sdr_create_search, sdr_pause_search, or sdr_resume_search. The agent is left to infer from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_audienceSearch the people databaseAInspect
Search the people graph for prospects matching filters (countries, industries, positions, tags, must-have-email, etc.). PREVIEW only — returns aggregate counts and a small sample. Does not save anything, does not contact anyone, does not spend credits.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| limit | No | ||
| cities | No | ||
| countries | No | ||
| positions | No | ||
| industries | No | ||
| searchMode | No | ||
| companySizes | No | ||
| exactKeyword | No | ||
| mustHaveEmail | No | ||
| mustHavePhone | No | ||
| semanticQuery | No | ||
| mustHaveLinkedin | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it does well: it discloses that the tool has no side effects ('Does not save anything, does not contact anyone, does not spend credits') and that the return is only aggregate counts plus a small sample. It omits details like auth requirements or rate limits, but the no-credit and no-side-effect guarantees are highly valuable for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The core purpose and the critical preview-only behavior are front-loaded, and every sentence adds meaningful 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 complex 13-parameter search tool with no output schema and no annotations, the description covers the high-level purpose and safety profile but is incomplete. It does not describe the return structure beyond 'aggregate counts and a small sample,' filtering semantics, or how searchMode/query parameters relate, so an agent would need to infer several important invocation details.
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 0%, so the description must compensate, but it only names a subset of filters (countries, industries, positions, tags, must-have-email) and uses 'etc.' It does not explain important parameters like searchMode, exactKeyword, semanticQuery, mustHavePhone, mustHaveLinkedin, companySizes, or how they interact. With 13 parameters, this leaves significant ambiguity.
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: 'Search the people graph for prospects matching filters.' It enumerates the main filter dimensions and explicitly marks the tool as PREVIEW-only, which clearly distinguishes it from save_audience, launch_audience_set, and buy_audience_set among the 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 gives clear context: this is a preview/search operation that returns counts and a sample, and it explicitly says it does not save, contact, or spend credits. This implies when to use it, though it does not explicitly name the alternative tools for saving or launching an audience.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_agent_avatar_from_urlSet agent avatar from an image URLAInspect
Set the agent avatar from a publicly-reachable image URL (jpg, png). The MCP server downloads the image and uploads it on your behalf — you do not need to handle multipart yourself.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| image_url | Yes | Publicly reachable HTTPS image URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It usefully discloses that the server downloads and uploads the image on the caller's behalf and that multipart handling is unnecessary. However, it does not mention failure behavior, URL validation strictness, or whether the existing avatar is replaced.
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, both informative and front-loaded. Every clause adds value, and there is no redundant 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 mutation, the description is mostly adequate, but the undocumented id parameter and lack of any error or side-effect context are noticeable gaps. The server-mediated upload behavior is a strong positive, but the definition still leaves some operational uncertainty.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds format and reachability details for image_url beyond the schema ('jpg, png', 'publicly-reachable'), which is helpful. However, the id parameter is not explained in either the schema or description, leaving its meaning to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Set the agent avatar') and source ('publicly-reachable image URL'), with supported formats. Among the many set_agent_* siblings, no other tool targets avatars, so the intent is unambiguous and easy to distinguish.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, such as other avatar-update or agent-configuration tools. The description explains the mechanism but not the selection criteria or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_agent_companySet company info (name / website / description)AInspect
Required before generate_agent_script will work. Set the company the agent represents — its name, website, and what it sells.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| company_name | Yes | ||
| company_website | Yes | ||
| company_description | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It discloses a meaningful dependency (must be called before generate_agent_script), but does not describe whether values are overwritten, whether partial updates are allowed, or any side effects beyond enabling generate_agent_script.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The critical prerequisite is front-loaded, and the resource/field semantics are stated compactly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple flat 4-string-parameter setter, the description provides the key context: what to set and when it is required. It could be slightly more complete by identifying `id` as the agent id and mentioning overwrite behavior, but overall it is adequate.
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 0%, so the description must compensate. It clarifies company_name, company_website, and company_description by saying 'its name, website, and what it sells.' However, the required `id` parameter is not explained, and no format constraints (e.g., URL format for company_website) are given.
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 exact action ('Set') and resource ('the company the agent represents'), and enumerates the fields: name, website, and what it sells. It is clearly distinct from sibling tools like set_agent_avatar_from_url or set_agent_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states a prerequisite: 'Required before generate_agent_script will work.' This gives clear when-to-use context, though it does not mention alternatives or when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_agent_contact_channelsSet the contact channels an agent hands outAInspect
Set the meeting link, email, phone, WhatsApp and Telegram that the AI agent gives out when a visitor asks how to get in touch or book a call. Omitted channels are cleared, so always send the full set you want the agent to have. Write operation, no credit cost.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Agent id | |
| No | |||
| phone | No | ||
| telegram | No | ||
| No | |||
| meeting_url | No | Booking link, e.g. Calendly |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does so well. It explicitly warns that omitted channels are cleared, requires sending the full set, identifies the operation as a write, and notes there is no credit cost. This is non-obvious, important behavior disclosed upfront.
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: the purpose, the critical clearing caveat, and the write/no-cost note. The most important behavioral warning is front-loaded before the billing 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 setter with no annotations and no output schema, the description covers purpose, parameters, destructive behavior, and cost. It does not describe the response or error behavior, but that is a minor gap for this straightforward write operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, but the description compensates by explaining that the parameters represent the channels the agent gives out and that all desired channels must be sent together. It adds the critical clear-on-omit semantics. Individual field formats are not detailed, but the names are self-explanatory.
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 operation (set contact channels), the exact resource (an AI agent's hand-out contact info), and the fields involved (meeting link, email, phone, WhatsApp, Telegram). It is clearly differentiated from sibling tools like set_agent_avatar, set_agent_company, and set_agent_voice.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: when a visitor asks how to get in touch or book a call. It does not explicitly name alternatives or exclusion cases, but the context is specific enough that an agent can recognize when this tool applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_agent_statusPause / resume / archive an agentBInspect
Change agent status. Allowed values: ACTIVE, PAUSED, ARCHIVED, DRAFT.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| status | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses the allowed enum values, but does not explain consequences of pausing, archiving, or reactivating an agent, nor whether transitions are reversible or require special permissions.
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 one concise sentence that front-loads the core action and includes the allowed values. It earns its place, though it could add more context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter status setter, the description is minimally viable: it names the resource, the action, and the valid inputs. However, it lacks usage guidance, side-effect disclosure, and clarification of what each status transition implies, so it is not 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 description coverage is 0%, so the description must compensate for parameter meaning. It restates the status enum values, which duplicates the schema, but offers no explanation of the 'id' parameter or the practical meaning of each status value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource ('agent') and the operation ('Change agent status'), listing the four allowed status values. This distinguishes it from sibling tools like update_agent or create_agent by specifying exactly the action being performed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is used when transitioning an agent among ACTIVE, PAUSED, ARCHIVED, and DRAFT, but does not explicitly state when to choose this over alternatives such as update_agent or pause_channel. No exclusions or prerequisite conditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_agent_voiceConfigure agent voice (Retell)AInspect
Set agent voice settings: voice_type (e.g. "11labs-Anthony"), language, speed, temperature, backchannel. Call list_retell_voices first to see what is available.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| language | No | ||
| voice_type | No | ||
| speech_speed | No | ||
| voice_temperature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only restates the action ('set') and lists fields; it does not explain whether unspecified settings are reset, whether this is a partial or full update, what permissions are required, or what side effects occur.
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 compact: two sentences, front-loaded with the core settings and a directly useful prerequisite. No filler or redundant restatement of schema fields.
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 annotations, no output schema, and five undocumented parameters, the description leaves too much to inference. The list_retell_voices prerequisite is valuable, but the agent still lacks enough context about id usage, valid values, and overwrite/merge behavior to reliably invoke the 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 0%, so the description must compensate, but it only gives an example for voice_type and mentions 'backchannel' which is not present in the schema. It does not clarify id semantics, language format, speed/temperature units, or the confusing 'speed'/'temperature' vs speech_speed/voice_temperature naming.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb and resource ('Set agent voice settings') and enumerates the exact setting fields, making the tool's function unmistakable. It is clearly differentiated from siblings like list_retell_voices and set_agent_avatar_from_url.
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 a clear, actionable prerequisite: call list_retell_voices first to see available voice options. It does not explicitly mention when not to use the tool or contrast with alternatives like update_agent, but the context is clear enough for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_agentUpdate an agentBInspect
Update an agent's basic info (name, description, company info). Partial updates are fine — only include the fields you want to change.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| name | No | ||
| company_name | No | ||
| company_website | No | ||
| company_description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It usefully reveals partial-update semantics—unspecified fields are left unchanged. It does not disclose authentication needs, return behavior, error conditions, or reversibility, which are significant gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, with the core action and field scope stated first. The partial-update idea is expressed twice, which is slightly redundant, but overall there is little waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no annotations and no output schema, and the description leaves important context unstated: required id is only in the schema, the 'description' field discrepancy is unexplained, and no guidance distinguishes this from set_agent_company. The partial-update note helps, but an agent is not given enough to invoke it confidently.
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 0%, so the description must compensate, but it only groups fields vaguely and even references a 'description' property that does not exist in the schema. It adds the partial-update rule, yet it does not adequately explain each parameter or resolve the mismatch.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation ('Update an agent's basic info') and lists the targeted fields: name, description, company info. However, it does not explicitly distinguish this tool from siblings like set_agent_company, and the mention of 'description' is not backed by any schema property, creating some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides useful invocation guidance: partial updates are fine and only the fields to change should be included. It does not, however, explain when to choose this over alternatives such as set_agent_company, nor does it give any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_campaignUpdate campaign settingsBInspect
Update a campaign before or after it has started. Partial updates allowed (only include fields you want to change).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| name | No | ||
| settings | No | ||
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses a key behavior: partial updates, meaning omitted fields are unchanged. It also communicates a timing constraint. However, it does not disclose side effects, permissions, response behavior, or whether certain fields become immutable after launch, which is a meaningful gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no wasted words. The primary verb and resource are front-loaded, and the partial-update rule is stated directly. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has four parameters including a nested settings object, no output schema, and no annotations, yet the description does not explain the settings structure, the semantics of each field, or the response. The partial-update and timing notes are helpful, but an agent still lacks critical information for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds a generic partial-update semantic but does not explain any of the four parameters individually: id, name, settings, or description. In particular, the nested settings object has no guidance on its accepted shape, making correct parameter construction uncertain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the operation as 'Update a campaign' and adds a useful timing constraint ('before or after it has started'), which separates it from sibling create/launch/pause/archive/delete tools. However, it does not explicitly name any sibling alternative, so differentiation is clear but not fully explicit.
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 explicit context: updates are valid both before and after launch, and partial updates are allowed by including only fields to change. It does not explicitly state when not to use this tool versus launch, pause, or archive, so exclusions are 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
- Changed
crm_reply_to_lead2 fields changed- removed
Input schema / properties / channelRemoved value: -{ - "enum": [ - "email", - "linkedin" - ], - "type": "string" -} - removed
Input schema / properties / subjectRemoved value: -{ - "type": "string" -}
1 tool update
- Changed
crm_reply_to_lead2 fields changed- added
Input schema / properties / channelAdded value: +{ + "enum": [ + "email", + "linkedin" + ], + "type": "string" +} - added
Input schema / properties / subjectAdded value: +{ + "type": "string" +}
149 tool updates
- First observed
archive_campaign - First observed
buy_audience_set - First observed
connect_google_meet - First observed
connect_linkedin_account - First observed
connect_telegram_bot - First observed
create_agent - First observed
create_campaign - First observed
crm_add_comment - First observed
crm_communication_cards - First observed
crm_communication_history - First observed
crm_communication_thread - First observed
crm_create_calendar_event - First observed
crm_create_lead - First observed
crm_create_stage - First observed
crm_delete_calendar_event - First observed
crm_enrich_from_linkedin - First observed
crm_get_conversation - First observed
crm_get_lead - First observed
crm_get_settings - First observed
crm_list_calendar_events - First observed
crm_list_leads - First observed
crm_list_linkedin_accounts - First observed
crm_list_notifications - First observed
crm_list_stages - First observed
crm_list_workspace_agents - First observed
crm_list_workspace_members - First observed
crm_mark_all_notifications_read - First observed
crm_mark_notification_read - First observed
crm_move_lead - First observed
crm_reply_to_lead - First observed
crm_stats - First observed
crm_update_calendar_event - First observed
crm_update_lead - First observed
crm_update_settings - First observed
crm_update_stage - First observed
deep_scan_agent - First observed
delete_agent - First observed
delete_campaign - First observed
delete_crm_lead - First observed
delete_crm_stage - First observed
disconnect_google_meet - First observed
disconnect_linkedin_account - First observed
disconnect_telegram_bot - First observed
duplicate_agent - First observed
generate_agent_description - First observed
generate_agent_script - First observed
get_agent - First observed
get_agent_plan_limits - First observed
get_audience - First observed
get_audience_set - First observed
get_audience_set_contacts - First observed
get_balance - First observed
get_balance_full - First observed
get_campaign - First observed
get_credit_transactions - First observed
get_credit_usage_by_agent - First observed
get_credit_usage_by_type - First observed
get_credit_usage_for_agent - First observed
get_credit_usage_for_agent_connections - First observed
get_credit_usage_monthly - First observed
get_invoices - First observed
get_narrator_analytics - First observed
get_pricing - First observed
get_sdr_email_capacity - First observed
get_subscription - First observed
get_subscription_limits - First observed
get_telegram_analytics - First observed
get_telegram_bot_info - First observed
get_widget_embed_code - First observed
launch_audience_set - First observed
launch_campaign - First observed
list_agent_connections - First observed
list_agent_presentations - First observed
list_agents - First observed
list_agents_with_stats - First observed
list_audience_sets - First observed
list_audiences - First observed
list_campaigns - First observed
list_google_meet_meetings - First observed
list_linkedin_accounts - First observed
list_narrator_leads - First observed
list_retell_voices - First observed
pause_campaign - First observed
pause_channel - First observed
preview_agent_email - First observed
preview_buy_audience_set - First observed
preview_deep_scan - First observed
preview_delete_agent - First observed
preview_delete_campaign - First observed
preview_delete_crm_lead - First observed
preview_delete_crm_stage - First observed
preview_disconnect_linkedin_account - First observed
preview_launch_audience_set - First observed
preview_launch_campaign - First observed
preview_linkedin_followup - First observed
preview_linkedin_invite - First observed
preview_reconnect_linkedin_account - First observed
reassign_crm_lead - First observed
reconnect_linkedin_account - First observed
resume_channel - First observed
save_audience - First observed
save_scan_data - First observed
scan_website_quick - First observed
sdr_activate_search - First observed
sdr_activity_feed - First observed
sdr_company_heat - First observed
sdr_create_search - First observed
sdr_delete_outreach - First observed
sdr_delete_search - First observed
sdr_export_people_csv - First observed
sdr_export_personas_to_audience - First observed
sdr_generate_agent_signal_profile - First observed
sdr_get_agent_signal_profile - First observed
sdr_get_outreach - First observed
sdr_get_outreach_content - First observed
sdr_get_person_detail - First observed
sdr_get_search - First observed
sdr_health - First observed
sdr_launch_outreach - First observed
sdr_learning_insights - First observed
sdr_list_personas - First observed
sdr_list_searches - First observed
sdr_outreach_summary - First observed
sdr_pause_outreach - First observed
sdr_pause_search - First observed
sdr_persona_stats - First observed
sdr_preview_delete_outreach - First observed
sdr_preview_delete_search - First observed
sdr_preview_launch_outreach - First observed
sdr_preview_outreach_content - First observed
sdr_preview_run_now - First observed
sdr_preview_search - First observed
sdr_recent_signals - First observed
sdr_regenerate_search - First observed
sdr_resume_outreach - First observed
sdr_resume_search - First observed
sdr_run_now - First observed
sdr_run_states - First observed
sdr_signal_stats - First observed
sdr_update_outreach_content - First observed
sdr_update_search - First observed
search_audience - First observed
set_agent_avatar_from_url - First observed
set_agent_company - First observed
set_agent_contact_channels - First observed
set_agent_status - First observed
set_agent_voice - First observed
update_agent - First observed
update_campaign
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Autonomous B2B lead prospecting — 36 tools for campaigns, leads, and email outreach.
AI sales — prospect discovery, ICP scoring, outreach generation.
246 tools to run sales, marketing & hiring: CRM, leads, AI calling, content, recruiting & SEO.
Autonomous LinkedIn SDR — voice-matched outreach, ICP generation, and campaign management.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenance12 MCP tools for company research, lead scoring, outreach automation, and CRM sync — Claude, GPT, Gemini, Cursor, Windsurf.MIT
- AlicenseNot gradedqualityBmaintenanceAgentic sales pipeline that detects buying intent from social feeds, scores leads via an AI swarm, and auto-drafts calibrated replies for prospect nurturing.216MIT
- AlicenseAqualityAmaintenanceGTM signal intelligence suite for AI agents. Six tools: hiring signals, tech stack detection, company-to-LinkedIn resolution, ICP scoring, job board scanning, and a combined signals aggregator. Built for outbound sales workflows.111621MIT
- AlicenseAqualityDmaintenanceAI client acquisition autopilot. 15 MCP tools for LinkedIn, Email, X, Instagram & Blog outreach from Claude.1416MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Despite consistently detailed descriptions, several tool pairs have unclear boundaries: `get_subscription_limits` and `get_agent_plan_limits` describe essentially the same agent-slot check, `crm_get_conversation` and `crm_communication_thread` both claim to return the full message thread, and `get_credit_usage_by_agent` vs `get_credit_usage_for_agent` differ only by preposition. At 149 tools, an agent will regularly misselect between these near-duplicates.
The dominant pattern is verb_noun with domain prefixes (`crm_*`, `sdr_*`) and a consistent `preview_*` family that maps cleanly to destructive/expensive actions. Deviations are minor but real: CRM deletes use the inverted `delete_crm_*` form while other CRM ops use `crm_*`, and credit-usage tools mix `by_agent`/`for_agent` prepositions.
149 tools is nearly three times the 50+ threshold the rubric treats as extreme, even though the platform genuinely spans agents, campaigns, audiences, CRM, SDR, billing, and connections. Many could be consolidated without losing capability — e.g. the 11 balance/credit-usage tools, the two LinkedIn-account listers, and the 15+ preview variants.
The surface is remarkably complete: full CRUD/lifecycle coverage for agents, campaigns, audiences, CRM leads/stages, and SDR searches, plus billing, analytics, and connection management. Destructive or costly operations all have preview/approval counterparts, so there are no dead ends. If anything the risk is over-coverage rather than gaps.