Skip to main content
Glama

Server Details

Autonomous AI sales: agents, signal-based prospecting, outreach, CRM — 149 tools.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Unhealthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

149 tools
archive_campaignArchive a campaignAInspect

Archive a campaign — it stops processing and is hidden from the default views.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
campaign_idNoOptionally bind the new account to a campaign

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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

For a simple tool with 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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bot_tokenYesTelegram Bot API token from @BotFather

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesAgent's display name (e.g. 'Sales agent for Acme')
descriptionYesA short description of the agent itself (1-2 sentences, what it does)

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
agentIdNo
settingsNo
audienceIdYes
descriptionNo

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCampaign id or SDR search id
toNoISO date
fromNoISO date
typeYes
limitNo
offsetNo
channelNo
repliedNo

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
keyYesThread key from crm_communication_history
typeYes

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
notesNo
titleYes
all_dayNo
ends_atNoISO datetime
starts_atYesISO datetime

TDQS

A4.3/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNo
phoneNo
titleNo
last_nameNo
first_nameNo
company_nameNo
linkedin_urlNo

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
colorNo

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
linkedin_urlYes

TDQS

A4.2/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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

The description clearly states the tool reads 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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoISO date, end of range
fromNoISO date, start of range

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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?".

ParametersJSON Schema
NameRequiredDescriptionDefault
qNo
limitNo
rangeNo
stageNo
offsetNo
sourceNo

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
unread_onlyNo

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
stage_idYes

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
textYes

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
notesNo
titleNo
all_dayNo
ends_atNo
starts_atNo

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
emailNo
notesNo
phoneNo
titleNo
last_nameNo
deal_valueNo
first_nameNo
company_nameNo

TDQS

C2.7/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
notify_new_leadNo
notify_new_replyNo
notify_stage_changeNo
analytics_emails_enabledNo

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
nameNo
colorNo

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
company_nameYes
company_websiteYes

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.5/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
purposeNo
script_styleYes

TDQS

A3.6/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters1/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe agent UUID

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesHuman-readable slug, not a UUID

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYes
limitNo
offsetNo

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoISO date, e.g. 2026-06-30
fromNoISO date, e.g. 2026-06-01
typeNo
limitNo
offsetNo

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNo
fromNo

TDQS

B3/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idYes

TDQS

C2.7/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idYes

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo
monthNo

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.1/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness1/5

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.

Parameters1/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.6/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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

For a simple read tool with 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.

Parameters1/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.1/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.6/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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

The description clearly states the tool lists 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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2/5.0
Behavior2/5

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.

Conciseness2/5

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.

Completeness1/5

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.

Parameters1/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
channelYes

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSet id (UUID), not the slug

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
company_nameNo
company_websiteNo

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.9/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.7/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesLead id
owner_idYesNew owner — a member id from crm_list_workspace_members

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.5/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
channelYes

TDQS

B3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
filtersYes

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.7/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
website_urlYes

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoDefault 40
search_idYes

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

C2.7/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
search_idYes

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNo
companyNo
search_idYes
min_relevanceNo

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsNo
nameNo
rolesNo
search_idYes
only_with_emailNo

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idYes

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idYes

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
search_idYes

TDQS

A3.6/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
search_idYes

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPerson (persona) id

TDQS

A4.5/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_healthGet Signal Search health dashboardAInspect

Operator-level health view: states, signals/contacts produced, credits spent, recent events, learning insights for a single search.

ParametersJSON Schema
NameRequiredDescriptionDefault
search_idYes

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
channelsNo
search_idYes
sender_modeNo
daily_email_limitNo
daily_linkedin_limitNo

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNo
limitNo
offsetNo
companyNo
search_idYes
min_relevanceNo

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idNo

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
search_idYes

TDQS

A3.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
search_idYes

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_persona_statsGet persona stats for a Signal SearchBInspect

Aggregate stats: total personas, by_role, top_companies, daily count series, credits_spent, quality_blocked.

ParametersJSON Schema
NameRequiredDescriptionDefault
search_idYes

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
search_idYes

TDQS

B3.4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
channelsNo
search_idYes
sender_modeNo

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
search_idYes

TDQS

C2.9/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNoName of one specific hunter, or omit to run all enabled. E.g. 'linkedin_jobs', 'ai_web_hunter', 'connected_people'.
search_idYes

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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_recent_signalsRecent signals (workspace-wide)AInspect

Last N signals across all Signal Searches in the workspace. Useful for the "is it working?" check.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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_resume_outreachResume SDR outreach deliveryCInspect

Resume a paused SDR outreach campaign.

ParametersJSON Schema
NameRequiredDescriptionDefault
search_idYes

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNo
search_idYes

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
search_idYes

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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

For a simple tool with 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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
days_backNo
search_idYes

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
search_idYes

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo
limitNo
citiesNo
countriesNo
positionsNo
industriesNo
searchModeNo
companySizesNo
exactKeywordNo
mustHaveEmailNo
mustHavePhoneNo
semanticQueryNo
mustHaveLinkedinNo

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
image_urlYesPublicly reachable HTTPS image URL

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
company_nameYes
company_websiteYes
company_descriptionYes

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAgent id
emailNo
phoneNo
telegramNo
whatsappNo
meeting_urlNoBooking link, e.g. Calendly

TDQS

A4.6/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
statusYes

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
languageNo
voice_typeNo
speech_speedNo
voice_temperatureNo

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
nameNo
company_nameNo
company_websiteNo
company_descriptionNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
nameNo
settingsNo
descriptionNo

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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. 1 tool update
    • Changedcrm_reply_to_lead2 fields changed
      • removedInput schema / properties / channel
        Removed value: -{
        -  "enum": [
        -    "email",
        -    "linkedin"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / subject
        Removed value: -{
        -  "type": "string"
        -}
  2. 1 tool update
    • Changedcrm_reply_to_lead2 fields changed
      • addedInput schema / properties / channel
        Added value: +{
        +  "enum": [
        +    "email",
        +    "linkedin"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / subject
        Added value: +{
        +  "type": "string"
        +}
  3. 149 tool updates
    • First observedarchive_campaign
    • First observedbuy_audience_set
    • First observedconnect_google_meet
    • First observedconnect_linkedin_account
    • First observedconnect_telegram_bot
    • First observedcreate_agent
    • First observedcreate_campaign
    • First observedcrm_add_comment
    • First observedcrm_communication_cards
    • First observedcrm_communication_history
    • First observedcrm_communication_thread
    • First observedcrm_create_calendar_event
    • First observedcrm_create_lead
    • First observedcrm_create_stage
    • First observedcrm_delete_calendar_event
    • First observedcrm_enrich_from_linkedin
    • First observedcrm_get_conversation
    • First observedcrm_get_lead
    • First observedcrm_get_settings
    • First observedcrm_list_calendar_events
    • First observedcrm_list_leads
    • First observedcrm_list_linkedin_accounts
    • First observedcrm_list_notifications
    • First observedcrm_list_stages
    • First observedcrm_list_workspace_agents
    • First observedcrm_list_workspace_members
    • First observedcrm_mark_all_notifications_read
    • First observedcrm_mark_notification_read
    • First observedcrm_move_lead
    • First observedcrm_reply_to_lead
    • First observedcrm_stats
    • First observedcrm_update_calendar_event
    • First observedcrm_update_lead
    • First observedcrm_update_settings
    • First observedcrm_update_stage
    • First observeddeep_scan_agent
    • First observeddelete_agent
    • First observeddelete_campaign
    • First observeddelete_crm_lead
    • First observeddelete_crm_stage
    • First observeddisconnect_google_meet
    • First observeddisconnect_linkedin_account
    • First observeddisconnect_telegram_bot
    • First observedduplicate_agent
    • First observedgenerate_agent_description
    • First observedgenerate_agent_script
    • First observedget_agent
    • First observedget_agent_plan_limits
    • First observedget_audience
    • First observedget_audience_set
    • First observedget_audience_set_contacts
    • First observedget_balance
    • First observedget_balance_full
    • First observedget_campaign
    • First observedget_credit_transactions
    • First observedget_credit_usage_by_agent
    • First observedget_credit_usage_by_type
    • First observedget_credit_usage_for_agent
    • First observedget_credit_usage_for_agent_connections
    • First observedget_credit_usage_monthly
    • First observedget_invoices
    • First observedget_narrator_analytics
    • First observedget_pricing
    • First observedget_sdr_email_capacity
    • First observedget_subscription
    • First observedget_subscription_limits
    • First observedget_telegram_analytics
    • First observedget_telegram_bot_info
    • First observedget_widget_embed_code
    • First observedlaunch_audience_set
    • First observedlaunch_campaign
    • First observedlist_agent_connections
    • First observedlist_agent_presentations
    • First observedlist_agents
    • First observedlist_agents_with_stats
    • First observedlist_audience_sets
    • First observedlist_audiences
    • First observedlist_campaigns
    • First observedlist_google_meet_meetings
    • First observedlist_linkedin_accounts
    • First observedlist_narrator_leads
    • First observedlist_retell_voices
    • First observedpause_campaign
    • First observedpause_channel
    • First observedpreview_agent_email
    • First observedpreview_buy_audience_set
    • First observedpreview_deep_scan
    • First observedpreview_delete_agent
    • First observedpreview_delete_campaign
    • First observedpreview_delete_crm_lead
    • First observedpreview_delete_crm_stage
    • First observedpreview_disconnect_linkedin_account
    • First observedpreview_launch_audience_set
    • First observedpreview_launch_campaign
    • First observedpreview_linkedin_followup
    • First observedpreview_linkedin_invite
    • First observedpreview_reconnect_linkedin_account
    • First observedreassign_crm_lead
    • First observedreconnect_linkedin_account
    • First observedresume_channel
    • First observedsave_audience
    • First observedsave_scan_data
    • First observedscan_website_quick
    • First observedsdr_activate_search
    • First observedsdr_activity_feed
    • First observedsdr_company_heat
    • First observedsdr_create_search
    • First observedsdr_delete_outreach
    • First observedsdr_delete_search
    • First observedsdr_export_people_csv
    • First observedsdr_export_personas_to_audience
    • First observedsdr_generate_agent_signal_profile
    • First observedsdr_get_agent_signal_profile
    • First observedsdr_get_outreach
    • First observedsdr_get_outreach_content
    • First observedsdr_get_person_detail
    • First observedsdr_get_search
    • First observedsdr_health
    • First observedsdr_launch_outreach
    • First observedsdr_learning_insights
    • First observedsdr_list_personas
    • First observedsdr_list_searches
    • First observedsdr_outreach_summary
    • First observedsdr_pause_outreach
    • First observedsdr_pause_search
    • First observedsdr_persona_stats
    • First observedsdr_preview_delete_outreach
    • First observedsdr_preview_delete_search
    • First observedsdr_preview_launch_outreach
    • First observedsdr_preview_outreach_content
    • First observedsdr_preview_run_now
    • First observedsdr_preview_search
    • First observedsdr_recent_signals
    • First observedsdr_regenerate_search
    • First observedsdr_resume_outreach
    • First observedsdr_resume_search
    • First observedsdr_run_now
    • First observedsdr_run_states
    • First observedsdr_signal_stats
    • First observedsdr_update_outreach_content
    • First observedsdr_update_search
    • First observedsearch_audience
    • First observedset_agent_avatar_from_url
    • First observedset_agent_company
    • First observedset_agent_contact_channels
    • First observedset_agent_status
    • First observedset_agent_voice
    • First observedupdate_agent
    • First observedupdate_campaign

Frequently Asked Questions

Discussions

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Agentic sales pipeline that detects buying intent from social feeds, scores leads via an AI swarm, and auto-drafts calibrated replies for prospect nurturing.
    216
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    GTM 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.
    11
    162
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.1/5.0
Disambiguation2/5

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.

Naming Consistency4/5

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.

Tool Count1/5

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.

Completeness5/5

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.

Resources