Skip to main content
Glama

RanklyBee

Server Details

SEO research, AI visibility, content, leads, and backlink workflows. Sign in with RanklyBee OAuth.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

C2.7/5.0

Scored across 194 tools

Disambiguation3/5

The set is segmented by feature area and most tools have distinct verbs and objects, so many are tellable apart. However, clusters like create_outreach_draft vs prepare_outreach_draft and several AI-visibility overview/competitor tools have overlapping boundaries that invite misselection. Descriptions help, but the sheer volume makes boundaries hard to hold in working memory.

Naming Consistency4/5

Names are overwhelmingly snake_case verb_noun (list_articles, create_lead_keyword, update_outreach_template), giving a predictable pattern across 194 tools. Minor deviations exist, such as check_backlink vs check_site_backlinks and add vs create for competitors/prompts, but there is no mixing of camelCase or chaotic conventions.

Tool Count1/5

194 tools is far beyond any reasonable scoped surface (3–15 typical, 25+ already heavy) and creates severe selection overhead. Even for a broad SEO/content/outreach platform, this count indicates extreme feature sprawl rather than a well-scoped toolset.

Completeness4/5

The surface covers CRUD for most core entities: articles, backlinks, prospects, outreach threads, leads, products, AI prompts/topics, and distribution campaigns. Notable gaps include no update operation for article settings (only get_article_settings) and no update/delete for contacts, but most workflows have a workable path.

Available Tools

194 tools
activate_content_planStart a content planBInspect

Start a reviewed content plan so its briefs are written on their scheduled dates.

ParametersJSON Schema
NameRequiredDescriptionDefault
planIdYes
siteIdYes
projectIdYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare a non-read-only, non-destructive, closed-world mutation, so the safety profile is covered. The description adds genuine behavioral context — starting the plan causes briefs to be written on their scheduled dates — but omits whether the action is reversible (e.g., via a pause), what happens if the plan is not yet reviewed, and idempotency.

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 states the action and its consequence with no filler. Nothing in it could be trimmed without losing meaning.

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 three-parameter mutation with a real downstream effect (briefs get written), the description leaves the parameter sourcing and the returns unaddressed, and no output schema exists to offload that burden. Annotations cover safety only, so the definition is thin for the operation's 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 all three identifiers (projectId, siteId, planId) are required and undocumented in both schema and description. The description says nothing about how these are obtained or which is the authoritative scope, so it fails to compensate for the coverage 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?

Specific verb ('Start') plus resource ('a reviewed content plan') and an outcome ('its briefs are written on their scheduled dates'), which is clear enough to act on. It does not, however, name or explicitly distinguish itself from close siblings like generate_content_plan, decide_content_plan, or update_content_automation.

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 'reviewed' implies a prerequisite state (the plan must have been decided/approved first) and 'scheduled dates' implies the plan is already scheduled, so usage context is inferable. But there is no explicit when-to-use/when-not-to-use guidance and no mention of the alternative that produces the plan in the first place.

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

activate_distribution_campaignStart a distribution campaignAInspect

Start a campaign so its approved posts are published on schedule. Confirm with the user first.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes
campaignIdYes
confirmStackedChangeNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations establish it is a non-read, non-destructive, open-world write. The description adds genuine context beyond them: activation depends on posts already being approved, publishing happens on a schedule, and user confirmation is required before invoking. It stops short of saying whether activation is reversible or what happens to unapproved posts.

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, effect stated first and the safety instruction second. Nothing wasted or buried.

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?

Covers the core action and the confirmation requirement, but for a mutation tool with no output schema it says nothing about the prerequisite campaign state, failure behavior, reversibility, or the undocumented confirmStackedChange flag. Adequate but with clear 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?

Schema description coverage is 0% across four parameters, so the description carries the full burden and provides nothing: projectId, siteId, campaignId and especially confirmStackedChange are never explained. 'Approved posts' hints loosely at campaign state but does not map to any 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?

States a specific verb+resource ('Start a campaign') and the outcome ('approved posts are published on schedule'), which distinguishes it from read/maintenance siblings. It does not explicitly separate itself from resume_distribution_campaign or activate_content_plan, which an agent could plausibly confuse with it.

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?

'Confirm with the user first' gives one real precondition, but there is no guidance on when to prefer this over resume_distribution_campaign or pause_distribution_campaign, nor what state the campaign must already be in. Usage is implied rather than stated.

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

add_ai_visibility_competitorAdd a competitorBInspect

Save a brand seen in AI answers as a competitor in the site profile.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
domainYes
siteIdYes
projectIdYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds semantic context about what is being persisted (an AI-answer brand as a competitor), but says nothing about duplicate handling, validation, idempotency, or what happens on conflict — gaps that matter for a create operation.

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 front-loaded sentence with no filler or redundancy. It is efficient, though for a 4-parameter create tool with no schema descriptions it is arguably too brief rather than ideally sized.

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?

A mutation tool with no output schema, 0% parameter documentation, and only minimal annotations; the description does not explain how projectId/siteId relate, what happens on duplicate brands, or what is returned. It is well short of sufficient for an agent to call this 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?

All 4 parameters have 0% schema description coverage, so the description must carry the burden and it does not. It only loosely implies that the brand corresponds to 'name' and the destination to the site profile; required inputs projectId, siteId, and domain format/meaning are unexplained.

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 (save) and resource (competitor brand) and adds domain context — a brand observed in AI answers is recorded into the site profile. This is more informative than the bare name/title, but it never contrasts itself with siblings like exclude_ai_visibility_brand or get_ai_visibility_competitors.

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 'a brand seen in AI answers' implies the scenario in which this tool applies, giving implied usage. However it provides no explicit when-to-use guidance, no prerequisites, and does not distinguish itself from related siblings such as exclude_ai_visibility_brand or restore_ai_visibility_brand.

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

add_article_keywordsAdd keywords to the content planCInspect

Add keywords to the content plan as article briefs, optionally on a given date. Returns the keywords that were skipped and why.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
phrasesYes
projectIdYes
scheduledDateNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations only declare it is not read-only and not destructive, so the description carries most of the burden. It usefully discloses partial-success semantics ('returns the keywords that were skipped and why'), but says nothing about permissions, the 10-item cap being enforced, or duplicate/write-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?

Two tight sentences, front-loaded with the action and its effect, followed by the return behavior. Nothing is wasted; only the omission of the key term mapping ('keywords' vs the schema's 'phrases') hurts.

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 write tool with no annotations covering specifics, no output schema, and 0% parameter coverage, the description is thin. It never mentions the 10-phrase limit, the required project/site scoping, or what a successful add returns, leaving meaningful gaps for an agent to fill by guesswork.

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% across 4 parameters, so the description must compensate and largely does not. It clarifies only scheduledDate ('optionally on a given date') and leaves projectId, siteId, and especially the phrases array (max 10 items, which it calls 'keywords' without connecting the terms) undocumented beyond the schema types.

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?

Clear verb+resource ('add keywords') plus the crucial qualifier that they are added 'as article briefs' to the content plan, which tells the agent what actually gets created. It does not, however, differentiate itself from near-identical siblings like import_article_keywords or add_outreach_keywords, leaving the agent to guess which adder is correct.

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 the optional date, implying scheduling context. There is no statement of when to use this versus import_article_keywords (bulk import) or add_outreach_keywords, which is exactly the ambiguity an agent faces with this sibling set.

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

add_outreach_keywordsAdd outreach keywordsCInspect

Add keywords to search for link prospects.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
phrasesYes
projectIdYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally. The description adds nothing beyond that: it does not say whether duplicate keywords are merged, whether the operation is idempotent, what project/site scope is required, or anything about the result of a bulk add.

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 front-loaded sentence with no filler; the problem is under-specification rather than verbosity. It reads cleanly but is arguably too terse for a 3-parameter mutation tool.

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 three-parameter write tool with zero schema descriptions and no output schema, the description omits almost everything an agent needs: project/site targeting context, dedup behavior, and confirmation of effect. The per-item constraints (maxItems 100, maxLength 200) exist only in the schema and are never surfaced.

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% across three required parameters, so the description must carry the burden and largely fails. It implies the phrases array ('keywords') but leaves projectId and siteId completely unexplained, forcing the agent to guess at the scope of the write.

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 gives a specific verb plus resource (add keywords) and scopes it to link prospecting, so the agent can tell it targets outreach/prospecting keywords rather than article or lead keywords. It does not name the sibling it differs from (add_article_keywords, create_lead_keyword), 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 Guidelines2/5

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

There is no when-to-use guidance and no alternatives cited, despite siblings list_outreach_keywords and remove_outreach_keyword existing. The agent must infer that this is the create-side of the outreach keyword lifecycle without any stated condition or prerequisite.

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

add_prospectAdd a prospect by URLCInspect

Add a page as a link prospect and score it.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
siteIdYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=true, so safety and open-world behavior are covered structurally. The description adds one genuine behavioral fact beyond that – the prospect is scored on creation – but says nothing about duplicate handling, scoring criteria, or auth/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.

Conciseness4/5

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

A single tight sentence with the core action front-loaded and no filler. It is efficient, though extremely sparse for the amount of behavior it needs to convey.

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 three mandatory, fully undocumented parameters and no output schema, the description should explain the two ID parameters and the result of scoring. It leaves the agent guessing about scope and outcome, which is inadequate for this 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% for all three required parameters. The description only obliquely implies a URL ('page', 'by URL' in the title) and gives no meaning for projectId or siteId, so half the parameter surface is undocumented anywhere.

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 pairs a specific verb ('Add') with a specific resource ('link prospect') and adds an extra action ('score it'), so it is clearly not a list/read tool. However, it never differentiates itself from adjacent siblings such as start_prospect_discovery or reject_prospect, so an agent must infer the boundary.

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

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 versus the automatic discovery flow (start_prospect_discovery) or unblock_prospect_domain. The agent gets no conditions, prerequisites, or exclusions, only a bare imperative.

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

analyze_siteRe-analyze the websiteAInspect

Crawl the website again and rebuild its profile. Runs in the background; poll get_site_profile for the result.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes
idempotencyKeyYes
reviewFoundationNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, openWorldHint=true, destructiveHint=false. The description adds valuable async behavior: it runs in the background and requires polling get_site_profile. It does not explain idempotency or potential side effects of rebuild, but it goes beyond annotations.

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

Conciseness5/5

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

Two tightly written sentences: first the action, then the follow-up. No filler; 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?

Covers the essential operational flow (trigger, background, poll for result) and references the output tool. However, for a mutation with 4 parameters and no schema descriptions, it fails to explain what the parameters do or what 'rebuild' entails, leaving important gaps.

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% for all four parameters. The description does not mention any parameter, including the required idempotencyKey or the optional reviewFoundation, leaving their meaning entirely 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 action: re-crawl the website and rebuild its profile. It clearly distinguishes from the read-only sibling get_site_profile, which it names explicitly.

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?

Explains the background execution and tells the agent to poll get_site_profile for results. It does not provide explicit when-not-to-use guidance or alternatives for triggering re-analysis, 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.

apply_article_improvementApply an approved improvementCInspect

Apply an approved improvement to its article. Confirm with the user first.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes
improvementIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare that this is a non-read-only, open-world, non-destructive mutation. The description adds a useful confirmation requirement beyond the annotations, but does not disclose what is mutated, whether the change is reversible, or what permissions may be needed.

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 with no wasted language: the purpose is front-loaded and the confirmation requirement follows. It is appropriately terse, though the brevity contributes to the definition's overall gaps.

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 parameterized mutation tool with zero schema descriptions and no output schema, the description is too thin. It omits parameter meaning, sibling disambiguation, and what actually happens after the improvement is applied.

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% for three required parameters (projectId, siteId, improvementId), and the description provides no mapping or explanation of any of them. It fails to compensate for the complete absence of parameter documentation 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?

States a clear verb ('Apply') and resource ('approved improvement to its article'), so the agent knows this performs an application action rather than generating, deciding, or updating an improvement. However, it does not differentiate itself from closely named siblings such as update_article_improvement or submit_article_improvement.

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 'approved improvement' implies a precondition and 'Confirm with the user first' gives a procedural constraint, but there is no explicit when-to-use/when-not-to-use guidance and no named alternative among the many article-improvement siblings.

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

approve_distribution_postsApprove distribution postsBInspect

Approve posts for publishing to the user's social accounts. Show the user each post first.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
postIdsYes
projectIdYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true, so the agent knows this is a non-destructive external write. The description adds the meaningful confirmation requirement ('Show the user each post first') and the social-publishing target, but says nothing about reversibility, what approval triggers, or whether it can be undone.

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 the core action front-loaded and the safety instruction second. Nothing is padded or redundant.

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?

Annotations cover the safety profile and no output schema is required, so the main gap is the undocumented parameters and the absence of any statement about what approval actually does (schedule? immediate publish?). Adequate but thin for a state-changing batch operation.

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% for three required parameters, so the description carries the full burden and largely fails it. 'posts' loosely hints at postIds, but projectId and siteId are never explained, nor is the 200-item cap or that the array is a batch operation.

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 (Approve) and resource (distribution posts) plus the consequence (publishing to the user's social accounts), which is enough to tell it apart from reject_distribution_posts and edit_distribution_post by verb alone. It does not explicitly name a sibling, so it falls 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 Guidelines3/5

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

The line 'Show the user each post first' is a genuine usage rule about presentation before invocation, but there is no guidance on when to approve versus reject or edit, nor any precondition about post state. Usage is implied rather than stated.

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

atomize_distribution_pageExtract a page's talking pointsCInspect

Read a page and extract talking points for social posts.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
pageUrlYes
projectIdYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, so the safety profile is partly covered. However, the description adds nothing about the side effect it implies — whether extracted atoms are persisted, replace prior atoms, or are idempotent on repeat calls — which is the key behavioral question for a non-read-only 'atomize' operation.

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 compact sentence with the action front-loaded and no filler. It is appropriately sized, though its brevity comes at the cost of missing detail rather than being tight-but-complete.

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 non-read-only tool with three undocumented parameters and no output schema, the description omits what an agent needs: parameter roles, whether atoms are stored/replaced, and any prerequisite linking pageUrl to a known site. It is too thin for the tool's 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?

All three required parameters (projectId, siteId, pageUrl) have 0% schema description coverage, so the burden falls on the description, which says nothing about them. The phrase 'Read a page' weakly implies pageUrl, but the relationship and expected formats of projectId/siteId are left unspecified.

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 verb phrase 'Read a page and extract talking points for social posts' names a concrete action and resource, and the output purpose (social posts) is explicit. It is clear enough to separate from retrieval siblings like get_distribution_page_atoms or list_distribution_pages, but it never names a sibling to disambiguate.

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 call this versus get_distribution_page_atoms, list_distribution_pages, or regenerate_distribution_post, nor on prerequisites (e.g., whether the page must already exist in the distribution set). The agent must infer the workflow position entirely.

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

bulk_create_ai_visibility_promptsTrack several AI visibility promptsBInspect

Add up to 100 prompts at once. Counts against the plan's prompt limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
monitorsYes
projectIdYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare write (readOnlyHint=false) and non-destructive behavior. The description adds genuinely useful context beyond that — the per-call cap of 100 and that the operation consumes the plan's prompt quota. It stops short of describing partial-failure, quota-exceeded, or duplicate handling.

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, and the batch capability and quota impact are front-loaded.

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 batch mutation with nested per-monitor objects and a quota side effect, and no output schema to lean on, the description omits what happens on limit overflow, whether the batch is atomic or partial, and any deduplication rules. Annotations cover safety only, so the description under-delivers for this 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% across 3 required parameters, and the nested 'monitors' objects carry 8 fields (engines, question, keywords, brandAliases, frequency, etc.) with no documentation. The description only echoes the 100-item cap already present as maxItems, leaving projectId/siteId and monitor field intent unexplained.

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+resource ('Add ... prompts') with a clear batch scope ('up to 100 at once'), which implicitly distinguishes it from the singular sibling create_ai_visibility_prompt. It doesn't name the alternative explicitly, so 4 rather than 5.

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

Usage Guidelines2/5

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

No when-to-use guidance beyond the implicit batch framing, and no named alternatives such as create_ai_visibility_prompt or suggest_ai_visibility_prompts. The quota note is a constraint, not usage routing.

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

cancel_distribution_campaignCancel a distribution campaignB
Destructive
Inspect

Cancel a campaign and remove its unpublished posts from the connected social scheduler.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes
campaignIdYes

TDQS

B3.1/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and openWorldHint=true, so the bar is lower. The description adds valuable specificity by naming what is destroyed: unpublished posts in the connected social scheduler. It still omits irreversibility, permission requirements, and the effect on already-published posts, but the destruction target is a meaningful addition beyond the annotations.

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

Conciseness5/5

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

The description is a single front-loaded sentence with no filler or repetition. It states the action and its key side effect efficiently, with every clause earning 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 destructive external mutation with three undocumented required IDs and no output schema, the description covers what happens but not parameter semantics, prerequisites, or alternatives. The annotations cover the safety profile, but the description does not compensate for the complete lack of schema parameter documentation.

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 all three required parameters (projectId, siteId, campaignId) lack any schema description. The description adds no meaning, format, or source information for these identifiers, leaving the agent with only parameter names and string types.

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 (cancel) and resource (campaign), plus the concrete effect of removing unpublished posts from the connected social scheduler. This implicitly distinguishes it from pause/resume/activate siblings, but does not explicitly name any alternative, so sibling differentiation is 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 Guidelines2/5

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

The description gives no when-to-use or when-not-to-use guidance. It does not mention pause_distribution_campaign, resume_distribution_campaign, or update_distribution_campaign as alternatives, nor does it state prerequisites or confirmation requirements for cancellation.

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

compare_article_improvementMeasure an applied improvementBInspect

Compare search performance before and after an applied improvement and record the result.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes
improvementIdYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, so the agent already knows this writes without being destructive. The description adds 'record the result,' clarifying that it persists output rather than just returning a comparison, but it does not say what is stored, whether prior measurements are overwritten, or what the measurement window is.

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 front-loaded sentence with no filler or repetition. It is efficient, though its brevity borders on under-specification given the gaps elsewhere rather than reflecting deliberate tightness.

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 write tool with no output schema and three fully undocumented parameters, the agent lacks key information: what metric is compared, over what window, and what the recorded result consists of. The annotations cover the safety profile, but the description does not compensate for the missing parameter and outcome detail.

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% across three required parameters (projectId, siteId, improvementId). The description only obliquely ties to improvementId via 'applied improvement' and says nothing about projectId or siteId or their relationships, leaving the schema undocumented in both structured and prose form.

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 (compare) and resource (search performance before/after an applied improvement) plus the side effect of recording the result, which distinguishes it from siblings like generate_article_improvement or decide_article_improvement. However, it does not explicitly name those siblings or contrast the measurement role against 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 phrase 'an applied improvement' implies a precondition (the improvement must already be applied, presumably via apply_article_improvement), which gives implied usage context. But there is no explicit when-to-use statement and no alternatives named, so an agent must infer the sequencing.

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

create_ai_visibility_promptTrack an AI visibility promptCInspect

Add a prompt to track across AI engines. Counts against the plan's prompt limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
monitorYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare the write operation (readOnlyHint=false, destructiveHint=false, openWorldHint=false), so the safety profile is covered. The description adds one genuinely useful trait beyond the annotations: the call consumes a quota ('Counts against the plan's prompt limit'). It omits failure behavior, idempotency, and permission requirements, so it is helpful 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.

Conciseness4/5

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

Two short sentences with the action front-loaded and no filler; the quota constraint is a useful trailing detail. It is appropriately sized, though the brevity is partly what leaves the complex parameter structure undocumented.

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 create tool built around a required nested object with 0% schema description coverage and no output schema, the description is far too thin. An agent has no guidance on how to populate monitor.question, engines, frequency, keywords, or brandAliases, nor on what a successful creation returns.

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 tool requires a complex nested 'monitor' object with five required sub-fields (question, keywords, brandAliases, engines, frequency) plus projectId and siteId. The description adds essentially nothing about these — 'across AI engines' only faintly gestures at the engines field. This is a large documentation gap the description fails to close.

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 ('Add a prompt to track') and names the domain ('across AI engines'), which is enough to distinguish a create from list/update/delete siblings. It does not, however, differentiate from the close sibling bulk_create_ai_visibility_prompts or suggest_ai_visibility_prompts, so an agent still has to infer which create variant applies.

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 when-to-use, when-not-to-use, or alternative guidance. The mention of a plan prompt limit hints at a cost constraint but never tells the agent to check get_plan_usage first or to prefer bulk_create_ai_visibility_prompts for multiple prompts, leaving routing entirely to inference.

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

create_ai_visibility_topicCreate a prompt topicCInspect

Create a topic to group prompts.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
siteIdYes
projectIdYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations only declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false; they do not explain creation semantics. The description says nothing about name uniqueness, what happens on a duplicate, required scopes, or the response shape for this mutation. For a create tool it leaves the behavioral picture mostly blank.

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?

A single short, front-loaded sentence with no wasted words. It is efficient but borders on under-specification, since the brevity leaves key information absent rather than merely 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?

For a three-required-parameter mutation tool with no output schema and no annotation richness, the description omits ownership/scope context (why projectId and siteId are both needed) and creation behavior. It is inadequate relative to the tool's complexity.

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?

All three parameters (projectId, siteId, name) have 0% schema description coverage, so the schema provides no meaning, and the description does not describe a single parameter or its constraints. The description entirely fails to compensate for the coverage 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?

States a specific verb (create) and resource (topic) and clarifies the topic's purpose as a grouping container for prompts, which hints at its distinct role versus create_ai_visibility_prompt. It does not, however, explicitly name a sibling or state how a topic differs from a prompt beyond the grouping phrase.

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 when-to-use or when-not-to-use guidance is given, and no alternatives are mentioned despite siblings like bulk_create_ai_visibility_prompts, rename_ai_visibility_topic, or create_ai_visibility_prompt. The agent must infer context entirely from the name.

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

create_contactAdd an outreach contactCInspect

Add a contact by hand.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleYes
emailYes
siteIdYes
sourceNomanual
companyNo
fullNameYes
projectIdYes
sourceUrlNo
prospectIdYes
roleCategoryYes
sourceProviderNo
sourceReferenceNo

TDQS

C2/5.0
Behavior2/5

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

Annotations already establish that this is a non-read-only, non-destructive, closed-world write. The description adds nothing beyond that: no mention of deduplication against existing contacts, permission/ownership requirements, or what happens to the seven required identifiers.

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?

Three words is not conciseness but under-specification; it is front-loaded but has no substance to front-load. Nothing about the 12-parameter surface is conveyed.

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?

For a tool with 12 parameters, 7 of them required, 2 enums, no parameter descriptions, and no output schema, a four-word description is wholly inadequate. An agent has no basis for constructing a valid 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% across 12 parameters, so the burden falls entirely on the description, which conveys zero parameter meaning. Critical details such as the 'source' default of 'manual' or the distinction between sourceUrl/sourceProvider/sourceReference are left completely undocumented.

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 gives a clear verb+resource ('Add a contact'), and 'by hand' hints at manual entry, which distinguishes it loosely from find_prospect_contact/select_prospect_contact. But it says nothing about what a 'contact' is scoped to here (project/site/prospect), so it does not cleanly separate itself from add_prospect or verify_contact.

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 versus find_prospect_contact, select_prospect_contact, add_prospect, or verify_contact, all of which live in the same contact/outreach area. No prerequisites or exclusions are stated.

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

create_distribution_campaignCreate a distribution campaignCInspect

Create a draft campaign that turns a page into scheduled social posts.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYes
nameYes
endsAtYes
siteIdYes
cadenceYes
pageUrlYes
startsAtYes
projectIdYes
accountIdsYes
maxPostsPerAccountYes
autoPublishAccountIdsNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare the safety profile (not read-only, not destructive, closed-world). The description adds real value with 'draft' — the campaign is not live until activated — but omits the critical behavioral distinction that 'auto_publish' mode publishes without review, which an agent needs before calling.

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 front-loaded sentence with no filler. Efficient, though the brevity is arguably over-compression given the tool's complexity rather than a model of crispness.

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 an 11-parameter, 10-required tool with a nested object and no output schema, the description is far too thin. It should at minimum explain the mode enum semantics, the cadence shape, and account targeting.

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% across 11 parameters, including a nested cadence object, so the description carries the full burden and does not meet it. It vaguely gestures at pageUrl ('a page'), scheduling ('scheduled'), and mode ('draft') but explains none of accountIds, cadence fields, maxPostsPerAccount, or autoPublishAccountIds.

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 (create), resource (distribution campaign), and outcome (a draft that turns a page into scheduled social posts). The word 'draft' cleanly separates it from activate/pause/cancel siblings, though no sibling is named explicitly.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no alternatives. The agent can infer it precedes activate_distribution_campaign from the word 'draft', but nothing states that workflow or when to prefer this over atomize_distribution_page.

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

create_lead_alert_ruleCreate a lead alert ruleCInspect

Create a rule that notifies a channel when matching leads arrive.

ParametersJSON Schema
NameRequiredDescriptionDefault
ruleYes
siteIdYes
projectIdYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already establish that this is a non-read-only, non-destructive, closed-world write. The description adds only the side effect (a channel notification), but says nothing about required permissions, whether rules are active on creation, or how conditional fields like webhookUrl or recipientEmail relate to the chosen channel.

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 front-loaded sentence with no filler or repetition. It is efficient, though the brevity comes at the cost of the missing detail noted in other dimensions.

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 a nested rule object, two enums, conditional field requirements, three required top-level params, and no output schema, the description is far too thin. It gives no guidance on valid triggers/channels or on the shape of the rule payload.

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 documents none of the parameters. It never mentions channel, trigger, targetStage, webhookUrl, or recipientEmail, nor the conditional relationship (webhookUrl needed for webhook, recipientEmail for email) that an agent must satisfy to call this correctly.

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 gives a specific verb and resource ("Create a rule") plus the effect ("notifies a channel when matching leads arrive"), so an agent knows this is a write tool that wires up lead alerts. It does not, however, distinguish itself from close siblings like list_lead_alert_rules, delete_lead_alert_rule, or set_lead_alert_rule_status, all of which operate on the same resource.

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 when-to-use guidance, no prerequisites, and no mention of the alternative sibling tools for the same resource. The agent must infer from the name alone that this creates rather than lists, deletes, or toggles a rule.

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

create_lead_icpAdd an ideal customer profileCInspect

Add a customer profile that leads are scored against.

ParametersJSON Schema
NameRequiredDescriptionDefault
icpYes
siteIdYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the write/non-destructive profile is covered. The description adds the useful context that created profiles drive lead scoring, but says nothing about permissions, limits, or what happens on conflicts with existing profiles.

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, front-loaded sentence with no filler waste. It is efficient, though the brevity borders on under-specification for the parameter complexity involved.

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 create tool with three required parameters, a nested seven-field object, no output schema, and zero schema descriptions, the description leaves the agent without enough to populate a meaningful ICP or understand the required ids. More detail is clearly needed.

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 documents no parameters at all. The nested 'icp' object contains seven subfields (name, roles, exclusions, industries, painPoints, description, intentPhrases) plus projectId and siteId, none of which are explained — a serious gap for a nested-object mutation.

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 gives a specific verb and resource ('Add a customer profile') and adds the functional context that profiles are what 'leads are scored against,' which sharpens intent beyond the name. It does not distinguish itself from siblings like update_lead_icp or delete_lead_icp, so it falls 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?

There is no guidance on when to create an ICP versus updating one, no mention of prerequisites, and no reference to alternatives in the large sibling set. The agent must infer usage entirely.

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

create_lead_keywordAdd a lead keywordCInspect

Add a keyword to monitor, with its search phrases and platforms.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
keywordYes
projectIdYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations declare this is a non-destructive write (readOnlyHint=false, destructiveHint=false), so the safety profile is covered. The description adds nothing beyond 'add' — no duplicate-handling behavior, no per-project limits, and no mention of what happens when the keyword already exists.

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 efficient, front-loaded sentence with no filler. It is appropriately sized, though its brevity comes partly from under-specification rather than disciplined editing.

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?

A mutation tool with a nested object, 0% schema description coverage, and no output schema; the description covers only a fraction of what an agent needs. Key creation semantics — required scoping IDs, keyword type taxonomy, and negative keyword support — are absent.

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 payload is a nested object with five subfields, so the description carries the burden. It mentions only 'search phrases' (queries) and 'platforms', leaving name, the type enum (buyer_intent/tool/competitor/topic/brand), negativeKeywords, and the required projectId/siteId scoping unexplained.

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 and resource ('Add a keyword to monitor') and hints at the payload shape. However, it does not differentiate from closely named siblings like add_article_keywords and add_outreach_keywords, so an agent must infer which keyword store this targets.

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 when-to-use context, no prerequisites, and does not name alternatives such as add_article_keywords or add_outreach_keywords. The 'to monitor' phrase implies lead-monitoring scope but never states it explicitly.

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

create_outreach_draftDraft an outreach emailBInspect

Write a first email to a prospect's contact from a template and sender. Nothing is sent.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
contactIdYes
projectIdYes
prospectIdYes
templateIdYes
generationModeNoai
senderIdentityIdYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare a non-readOnly, non-destructive write, and the description usefully adds that no email is actually dispatched ('Nothing is sent'), which is real behavioral context. However it says nothing about whether the draft persists, whether it overwrites an existing draft, or what permissions are required.

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 tight sentences with the action front-loaded and the side-effect caveat immediately after. No filler, though it is terse enough that it under-serves the 7-parameter signature.

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 7-param tool with 0% schema coverage and no output schema, the description is thin. It covers the core outcome (draft created, nothing sent), but an agent still can't tell how to disambiguate this from prepare_outreach_draft or how generationMode interacts with the template.

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% across 7 parameters, so the description must carry the load. It names only 'template' and 'sender' (templateId, senderIdentityId) and ignores projectId, siteId, prospectId, contactId entirely. Worse, it says the email comes 'from a template' while generationMode defaults to 'ai', leaving the key mode parameter unexplained and its default counterintuitive.

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 and resource: writing a first outreach email to a prospect's contact, composed from a template and sender. It clearly differentiates itself from send/regenerate siblings via 'Nothing is sent', but does not distinguish itself from the similarly named prepare_outreach_draft or update_outreach_draft.

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 explicit when-to-use or when-not-to-use guidance. The presence of prepare_outreach_draft, get_outreach_draft_options, and create_outreach_template as siblings makes the workflow ordering ambiguous, and the description offers nothing to disambiguate which step to call first.

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

create_outreach_templateCreate an outreach templateDInspect

Create an email template.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
siteIdYes
projectIdYes
bodyTemplateYes
fallbackValuesNo
subjectTemplateYes

TDQS

D1.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is covered, but the description adds nothing beyond that. It does not say the template is bound to a project/site, whether duplicate names are permitted, or how placeholder tokens in subjectTemplate/bodyTemplate are interpreted.

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?

It is a single short sentence, but the brevity is under-specification rather than efficiency. There is no wasted wording, but the sentence carries no useful payload.

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?

For a mutating, 6-parameter tool with a nested object, five required fields, zero schema descriptions, and no output schema, the description is wholly inadequate. An agent cannot determine required inputs, template placeholder semantics, or scoping from this text.

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% across 6 parameters, so the description carries the full explanatory burden and provides none of it. Nothing explains name constraints, subject/body template syntax, or the nested fallbackValues object — all of which an agent must understand to call this correctly.

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

Purpose2/5

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

The description says 'Create an email template,' which is essentially a restatement of the tool name and title 'Create an outreach template.' It identifies a verb and resource but adds no distinguishing detail (placeholders, subject/body structure, project/site scoping) and does nothing to separate it from siblings like create_outreach_draft or update_outreach_template.

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 create a template versus drafting a one-off reach-out (create_outreach_draft) or modifying an existing template (update_outreach_template). Nothing indicates prerequisites, required project/site context, or reuse intent.

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

create_productAdd a catalog productBInspect

Add a product to the catalog. Pass imageStorageKey as null.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsYes
siteIdYes
projectIdYes
imageStorageKeyYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare it is a non-read-only, non-destructive write. The description adds one genuinely useful behavioral fact the annotations cannot convey: imageStorageKey must be passed as null (i.e., no image at creation time). It says nothing about permissions, side effects, or how to attach an image later.

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, action first, with the parameter caveat trailing. No filler, no redundancy.

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 write tool with a nested required payload, no output schema, and 0% schema description coverage, the description should at least sketch what the product fields are or what comes back on success. It covers one quirky parameter and omits the rest, so an agent cannot confidently populate the required fields object.

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% across 4 parameters, including a nested fields object with five required sub-properties (title, url, description, price, currency) that are completely undocumented. The description clarifies only imageStorageKey, leaving the bulk of the parameter semantics unexplained and not compensating for the coverage 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?

Specific verb+resource: 'Add a product to the catalog' clearly identifies a creation operation on the product resource. It does not, however, differentiate from close siblings like update_product or set_product_status, leaving the agent to rely on the name alone.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no routing to alternatives such as update_product for existing products. The only usage-like instruction concerns a single parameter value, not the choice of tool.

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

decide_articleApprove or reject an articleCInspect

Approve or reject an article that is waiting for approval.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
siteIdYes
assetIdYes
decisionYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the agent knows this is a bounded mutation. The description contributes the behavioral precondition that the article must be awaiting approval, but says nothing about permissions required, whether a reason is expected for rejection, or what the decision changes downstream.

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 short sentence with the action front-loaded and no filler. It is efficient, though its brevity reflects under-specification rather than disciplined editing.

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 five-parameter mutation tool with no output schema and zero schema descriptions, the description leaves too much unsaid: it does not explain the required identifiers, the effect of each decision value, or whether reason is mandatory for rejections. Only the state precondition is conveyed.

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% across five parameters, so the description carries the full documentation burden and does not meet it. 'Approve or reject' loosely maps to the decision enum, but projectId, siteId, assetId, and reason receive no explanation of format, source, or when reason is required.

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 gives a specific verb pair (approve/reject) and resource (article), plus a state qualifier ('waiting for approval') that separates it from submit_article_for_review and publish_article. It does not name the closely-named siblings decide_content_brief, decide_content_plan, or decide_article_improvement, so an agent must infer the distinction from the resource noun alone.

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 explicit when-to-use guidance, no named alternative, and no statement of what to do if the article is not in the pending state. The 'waiting for approval' clause weakly implies the precondition but the description never instructs the agent on routing between this tool and the other decide_* or publish_article tools.

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

decide_article_improvementApprove or reject an improvementCInspect

Approve or reject an improvement that is waiting for approval.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
siteIdYes
decisionYes
projectIdYes
improvementIdYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already establish the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false), so the description only needed to add mutation-specific context. It adds none: nothing about whether the decision is reversible, whether approving triggers the improvement to be applied, what happens to the reason field, or any permission requirements. For a write/decision tool this is a real gap.

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 front-loaded sentence with zero padding or redundancy. It is efficient, though its brevity is a symptom of under-specification rather than disciplined concision.

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?

A 5-parameter mutation tool with no output schema, no parameter descriptions, and no meaningful annotation beyond safety flags. The description leaves the agent without the field semantics, side effects, or state transitions it needs to invoke this confidently, especially versus its many look-alike siblings.

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% across 5 parameters, so the description carries the full burden of explaining projectId, siteId, improvementId, decision, and reason. It mentions none of them, including whether reason is optional or what the approved/rejected enum implies operationally. Only the schema's own enum and required list give the agent anything to work with.

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 names a concrete verb pair (approve/reject) and the resource (an improvement), so the action is unambiguous. However, it never differentiates itself from the dense sibling set of near-identical decision tools (decide_article, decide_content_brief, decide_content_plan) or from dismiss_article_improvement and apply_article_improvement, which also act on improvements. Clear but not sibling-distinguishing.

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 signal is the state condition 'waiting for approval', which is close to restating the tool's purpose rather than guidance. There is no indication of when to choose this over dismiss_article_improvement, apply_article_improvement, or the other decide_* tools, and no prerequisites or ordering information. Essentially no routing guidance despite a crowded sibling namespace.

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

decide_content_briefApprove or reject an article briefCInspect

Approve or reject one article brief in a content plan.

ParametersJSON Schema
NameRequiredDescriptionDefault
planIdYes
reasonNo
siteIdYes
briefIdYes
decisionYes
projectIdYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare a non-read-only, non-destructive mutation, and the description adds nothing beyond that: it does not say whether a decision is reversible, whether approval triggers downstream generation, whether a rejection reason is required, or what side effects follow. For a state-changing tool, the description leaves the important behavioral consequences undisclosed.

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 front-loaded sentence with no filler, which is structurally clean. It is efficient, though arguably too terse for a six-parameter mutation.

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 six-parameter write tool with 0% parameter documentation, no output schema, and only terse annotations, one sentence is not sufficient. An agent gets no information about identifier semantics, the reason field, or the consequences of each decision.

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% across six parameters (five required), so the description carries the full burden and fails it. 'Approve or reject' loosely implies the decision enum, but projectId, siteId, planId, briefId, and the optional reason are never explained, including the fact that reason exists at all.

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 pair (approve or reject) and a specific resource (one article brief in a content plan), which is enough to distinguish it from decide_content_plan and decide_article. It lacks explicit sibling differentiation, but the narrow scope is clear from the wording.

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 decide_article, decide_article_improvement, or decide_content_plan, all of which sit in the same sibling cluster. The phrase 'in a content plan' implies context but leaves prerequisites and alternatives to inference.

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

decide_content_planApprove or reject a content planCInspect

Approve or reject a whole content plan.

ParametersJSON Schema
NameRequiredDescriptionDefault
planIdYes
reasonNo
siteIdYes
decisionYes
projectIdYes

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare this is a non-read-only, non-destructive, closed-world write, so the safety profile is covered. The description adds essentially nothing beyond the title: it does not say what approval triggers downstream, whether rejection requires a reason, or whether the decision is reversible/idempotent.

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?

A single front-loaded sentence with no filler, but it is largely a restatement of the title and therefore earns little of its space. It is concise to the point of under-specification rather than genuinely economical.

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 5-parameter mutation tool with no output schema and 0% parameter documentation, the description is far too thin. It omits required inputs, the meaning of 'reason', and the consequences of the approve/reject decision, leaving the agent to guess at call semantics.

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% across 5 parameters, so the description carries the full burden of explaining planId, projectId, siteId, reason, and decision. It only implicitly echoes the approve/reject enum values and says nothing about the required identifiers or the purpose of 'reason'.

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 names a specific verb pair (approve/reject) and resource (content plan), and the word 'whole' hints that this operates at the plan level rather than on individual items. It does not explicitly distinguish itself from close siblings like decide_content_brief, decide_article, or activate_content_plan, but 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 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 siblings such as activate_content_plan or decide_content_brief, and no prerequisites are stated (e.g., that a plan must first exist from generate_content_plan). The agent must infer all usage context.

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

delete_ai_visibility_promptDelete an AI visibility promptC
Destructive
Inspect

Delete a tracked prompt and its history.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
monitorIdYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation risk is covered structurally. The description adds one genuinely useful behavioral fact beyond the annotations: the deletion is cascading, taking the prompt's run history with it. It still omits reversibility (no sibling restore/undelete exists for prompts), permission requirements, and return 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?

A single front-loaded sentence with no filler or repetition; the destructive scope ('and its history') is stated immediately. It is terse rather than padded, though the terseness comes at the cost of guidance the agent needs.

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 destructive, irreversible-adjacent operation with three completely undocumented identifier parameters and no output schema, the description is thin. It should at minimum clarify that all three IDs are needed to identify the prompt and warn that history loss cannot be undone; the annotations alone do not tell the agent which identifiers to supply.

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% for three required identifiers (projectId, siteId, monitorId), and the description supplies no parameter information whatsoever — it only implies a single prompt is targeted. With three undocumented required IDs at zero coverage, the description fails to compensate for the schema 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?

States a specific verb ('Delete') and resource ('a tracked prompt'), which cleanly separates it from delete_ai_visibility_topic or delete_article in the sibling list. It does not, however, explicitly name an alternative or contrast with the prompt-mutating siblings (update_ai_visibility_prompt, move_ai_visibility_prompts).

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 indication of when to use this tool versus set_ai_visibility_prompt_status, move_ai_visibility_prompts, or update_ai_visibility_prompt, and no prerequisites or warnings about irreversibility. Usage must be inferred entirely from the tool name.

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

delete_ai_visibility_topicDelete a prompt topicB
Destructive
Inspect

Delete a topic. Its prompts are kept.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
topicIdYes
projectIdYes

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds the one thing annotations cannot express: the delete is non-cascading and child prompts are retained, which materially changes the agent's risk assessment. It still omits irreversibility and any 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 short sentences, no filler, with the destructive action stated first and the side effect second. Nothing is padded or repeated from 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 destructive, three-identifier mutation with no output schema and no annotation-level detail about scope, the description carries real gaps: it never says whether deletion is recoverable or how project/site/topic scoping works. The non-cascade note is the single most important fact and it is present, which keeps this at minimum-viable rather than inadequate.

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% across three required parameters (projectId, siteId, topicId), and the description explains none of them. Only topicId is loosely implied by the word "topic"; the other two identifiers, and why all three are needed, are undocumented in both places.

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?

"Delete a topic" gives a specific verb and resource, and "Its prompts are kept" separates it from sibling delete_ai_visibility_prompt by making clear this removes the container, not its prompts. It stops short of naming the sibling explicitly, so it is clear but not fully disambiguating in a 150-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 Guidelines2/5

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

There is no when-to-use framing, no prerequisites (e.g. required project/site scope), and no pointer to delete_ai_visibility_prompt for removing individual prompts. The only guidance an agent can infer is from the side note that prompts survive the delete.

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

delete_articleDelete an articleB
Destructive
Inspect

Delete an article from Ranklybee. This does not remove a page already published on the website.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
assetIdYes
projectIdYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the agent knows this is an irreversible-style mutation. The description adds a genuinely useful scope limitation (published page survives), but omits the things that matter most for a destructive call: whether deletion is permanent, whether related data (keywords, improvements, distribution posts) cascades, and what permissions are needed.

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

Conciseness4/5

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

Two short sentences, front-loaded with the action and followed by the scope caveat; nothing is wasted. "from Ranklybee" is the only filler, since the product context is already implied.

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 destructive, three-required-parameter mutation with no output schema and no annotation explanation of side effects, the description should say more. It is silent on permanence, cascade effects, param meaning, and error conditions, so an agent cannot safely reason about the consequences of calling it.

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% for all three required parameters, so the description carries the full burden and gives nothing: projectId, siteId and assetId are never mentioned. In particular, assetId is not identified as the article identifier, leaving real ambiguity in a destructive operation.

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?

Names a specific verb and resource ("Delete an article from Ranklybee") and adds a scope clarification: it does not remove a page already published on the website. The resource is unambiguous against the other delete_* siblings (delete_product, delete_lead_keyword, delete_outreach_template), though no sibling is named explicitly.

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

Usage Guidelines3/5

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

The second sentence sets a boundary — deletion here does not unpublish a live page — which hints at when this is and isn't the right operation. However, it never states prerequisites, when to prefer update_article or a publish/unpublish pathway, or whether the article must be in a particular state to be deleted.

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

delete_lead_alert_ruleDelete a lead alert ruleD
Destructive
Inspect

Delete an alert rule.

ParametersJSON Schema
NameRequiredDescriptionDefault
ruleIdYes
siteIdYes
projectIdYes

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already cover the safety profile (destructiveHint=true, readOnlyHint=false, openWorldHint=false), so the description only needs to add nuance. It adds nothing — no statement of irreversibility, no cascade behavior, no confirmation semantics — so it contributes zero beyond the structured fields.

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

Conciseness2/5

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

The single sentence is free of filler, but it is under-specified rather than concise — it conveys no information an agent could not derive from the tool name. Brevity here reflects a content gap, not efficiency.

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?

A destructive, no-output-schema delete with three undocumented required IDs is missing the essentials: irreversibility warning, required permissions, and how to obtain the identifiers. Only the annotations carry any behavioral weight.

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?

Three required parameters (projectId, siteId, ruleId) with 0% schema description coverage receive no explanation in the description. It does not say where these identifiers come from or how they relate to the alert rule hierarchy.

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

Purpose2/5

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

'Delete an alert rule' restates the name and title almost verbatim with no additional verb, scope, or distinguishing detail. With siblings like delete_lead_icp, delete_lead_keyword, and delete_outreach_template following identical naming, the agent gains nothing beyond the tool name itself.

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 when-to-use guidance, no mention of prerequisites, and no reference to the sibling list_lead_alert_rules that would supply the ruleId. The agent must infer the entire workflow from the name.

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

delete_lead_icpDelete an ideal customer profileC
Destructive
Inspect

Delete a customer profile.

ParametersJSON Schema
NameRequiredDescriptionDefault
icpIdYes
siteIdYes
projectIdYes

TDQS

C2.2/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the destructive nature is covered structurally; the description adds nothing beyond restating deletion. It does not say whether the deletion is permanent, whether it cascades to associated leads/keywords, or whether a confirmation is required.

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?

A single short sentence is front-loaded and free of waste, but that brevity comes from under-specification rather than discipline. It is minimally structured but not informative.

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 destructive tool with three undocumented required IDs and no output schema, the description should at least indicate scope and permanence. It leaves the agent without enough to call it safely or 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?

All three required parameters (projectId, siteId, icpId) have 0% schema description coverage and the description mentions none of them or their scope/format. Unlike a zero-parameter tool, this definition leaves the identifiers entirely unexplained.

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 gives a specific verb ("Delete") plus a resource ("customer profile"), but the resource is named loosely and doesn't match the tool's own title ("ideal customer profile") or the icpId parameter. It also offers no differentiation from the many nearby delete siblings such as delete_lead_keyword or delete_outreach_template.

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 delete an ICP versus updating (update_lead_icp) or deactivating it, no prerequisites, and no mention of the project/site scope needed. The agent must infer all selection context.

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

delete_lead_keywordDelete a lead keywordD
Destructive
Inspect

Delete a monitoring keyword.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
keywordIdYes
projectIdYes

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds nothing on top of that — no statement about irreversibility, cascade effects, required permissions, or confirmation requirements. It merely repeats the destructive verb that the annotations already encode.

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?

A single short, front-loaded sentence with no filler, so there is nothing wasteful to trim. However, it is concise to the point of being under-specified rather than efficiently informative.

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 destructive, zero-annotation-detail, three-required-parameter operation with no output schema, the description should at minimum identify the resource boundary and the irreversibility of the action. It leaves the agent without the information needed 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% and the description says nothing about projectId, siteId, or keywordId. The identifiers are somewhat self-describing by name, but the description contributes zero semantic value for a tool that requires all three correctly scoped IDs to avoid deleting the wrong record.

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

Purpose2/5

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

The description is essentially a restatement of the title ("Delete a lead keyword" vs "Delete a monitoring keyword"), swapping in a different noun for the resource. It never clarifies which entity is being deleted (a lead keyword vs. an outreach or article keyword) or how it differs from the many sibling delete_* and remove_* tools. Without opening the schema an agent cannot tell why it should pick this over remove_outreach_keyword or delete_lead_alert_rule.

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

Usage Guidelines1/5

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

There is no when-to-use guidance, no prerequisites, no mention of alternatives, and no warning that this is an irreversible removal. For a destructive tool in a family containing several near-identical keyword deleters, this omission is actively unhelpful.

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

delete_outreach_templateDelete an outreach templateC
Destructive
Inspect

Delete an email template.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes
templateIdYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=false, so the safety profile is covered. The description adds nothing beyond that: no note on irreversibility, whether drafts/scheduled sends referencing the template are affected, or whether confirmation is required.

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?

One short front-loaded sentence with zero padding, which is structurally clean. But its brevity comes from under-specification rather than efficiency, since no substantive information beyond the name is conveyed.

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 destructive, three-required-parameter mutation with no output schema and no parameter documentation, the description is too thin. An agent cannot determine scope, side effects, or failure modes from either the description or the schema.

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% across three required parameters (projectId, siteId, templateId). The parameter names are largely self-evident, but the description supplies no scoping semantics — e.g., that the template must belong to the given project/site or what happens on a mismatch.

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 states a specific verb and resource ('Delete an email template'), so the core action is identifiable. However, it says 'email template' rather than 'outreach template', and with siblings such as list_outreach_templates, create_outreach_template, and update_outreach_template, plus unrelated template-like resources (distribution pages/posts), it does nothing to anchor the tool to the outreach domain.

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 when-to-use guidance, no mention of prerequisites, and no reference to alternatives such as update_outreach_template (which is the safe action if the template is still needed). The agent must infer all routing from the tool name alone.

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

delete_productDelete a catalog productC
Destructive
Inspect

Delete a product from the catalog.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
productIdYes
projectIdYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered structurally. The description adds nothing beyond that: it does not state whether deletion is permanent or reversible, whether it requires elevated permissions, or what happens to dependent data.

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?

A single grammatical, front-loaded sentence with no wasted words. It is concise but achieves that partly through under-specification rather than disciplined editing.

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 destructive mutation with no annotations detail beyond hints, no output schema, and zero parameter documentation, the description is far too thin. An agent cannot confirm scope, permanence, or parameter roles before invoking an irreversible operation.

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?

Three required parameters (projectId, siteId, productId) with 0% schema description coverage, and the description supplies no meaning for any of them. The phrase 'from the catalog' hints at scope but does not map to projectId/siteId, so the description fails to compensate for the documentation 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?

Clear verb+resource: 'Delete a product from the catalog' tells the agent exactly the operation and object. However, it does not distinguish itself from siblings such as set_product_status (likely a soft status change) or update_product, leaving ambiguity about hard vs. soft removal.

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 when-to-use guidance, no prerequisites, and no mention of alternatives like set_product_status for deactivation. The agent must infer from the name alone when this is the right tool versus its siblings.

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

detect_article_improvementsLook for article improvementsCInspect

Scan published articles against search data for new refresh opportunities.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes
idempotencyKeyYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false, so this is a mutating/job-launching call, yet the description's verb 'Scan' reads as a passive read and never says that improvement records are created, whether the work is async, or how long it takes. The presence of an idempotencyKey parameter also implies retryable creation semantics that the description never explains. Not a strict contradiction, but the description undersells the mutation.

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 front-loaded sentence with no filler or repetition. Efficient, though the brevity is partly under-specification rather than disciplined concision.

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 3-required-param, mutating, likely long-running scan with no output schema, the description is missing the essentials: what it creates, whether results arrive synchronously or must be fetched via get_article_improvements, and why an idempotency key is mandatory. An agent could invoke it but cannot predict the outcome.

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?

Three required parameters with 0% schema description coverage and the description adds nothing. projectId and siteId are self-evident from naming, but idempotencyKey (max 160, min 8) needs an explanation of what duplicate-submission protection it provides, and the description supplies none.

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?

Specific verb+resource: 'Scan published articles against search data for new refresh opportunities.' An agent knows the general action is a discovery/scan over published content. However, it does not distinguish itself from close siblings such as generate_article_improvement or get_article_improvements, so an agent cannot tell which of those four improvement tools to pick without opening schemas.

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 sentence implies a discovery use case but gives no explicit when-to-use, no prerequisites, and no alternative to prefer (e.g. 'use generate_article_improvement once you have the scan results'). With a dense sibling cluster of *_article_improvement tools, this is a real gap.

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

dismiss_article_improvementDismiss an improvementCInspect

Dismiss an improvement opportunity with a reason.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonYes
siteIdYes
projectIdYes
improvementIdYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations only declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the agent knows this is a non-destructive mutation. The description adds nothing about what dismissal actually does — whether it is reversible, whether the improvement is hidden or archived, who can dismiss, or whether the reason is surfaced to anyone. For a mutation tool the disclosure burden is largely unmet.

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 short, front-loaded sentence with no filler or repetition. It is efficient, though the brevity reflects under-specification rather than tight editing.

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 four-required-parameter mutation with no output schema and no schema descriptions, the definition is too thin. An agent gets no information on side effects, reversibility, prerequisite state (e.g., the improvement must exist and not already be applied), or what the reason is used for.

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% for four required parameters. The description mentions 'with a reason,' which confirms the reason field's purpose and implicitly that it is mandatory, but projectId, siteId, and improvementId are undocumented in both the schema and the description, leaving three of four parameters with no semantic guidance.

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 (dismiss) and resource (an improvement opportunity) plus the required reason, so an agent can tell what the tool does at a glance. It does not differentiate from closely named siblings such as decide_article_improvement, submit_article_improvement, or apply_article_improvement, which is the only thing keeping it out of the top band.

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 when-to-use guidance, no prerequisites, and no mention of alternatives such as applying or deciding on the improvement instead. The agent must infer from the tool name alone that this is the rejection path for an improvement opportunity.

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

dismiss_leadDismiss a leadCInspect

Hide a lead that is not relevant.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
mentionIdYes
projectIdYes

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, and 'Hide' is consistent with a non-destructive mutation, so there is no contradiction. However, the description adds nothing beyond that: it does not say whether the hide is reversible, whether the lead can be restored, or what happens to the underlying mention.

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 short sentence that is front-loaded with the verb and resource and contains no filler. It is efficient, though the terseness contributes to the specification gaps rather than being a virtue in itself.

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 state-changing tool with three fully undocumented parameters and no output schema, the description is too thin. An agent gets no information about reversibility (despite a restore_lead sibling existing) and cannot map any argument to its meaning, so it is not complete enough to call reliably without reading the schema.

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?

All three required parameters have 0% schema description coverage and the description supplies no meaning for any of them. Notably it does not explain why a lead is targeted via mentionId (with projectId and siteId) rather than a lead identifier, which is exactly the kind of ambiguity the description should resolve.

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?

Names a specific verb ('Hide') and resource ('a lead') plus the qualifying condition ('not relevant'), so the agent knows the operation. It does not, however, distinguish this from adjacent actions in the sibling list such as restore_lead, reject_prospect, or set_lead_feedback, leaving boundary cases 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 Guidelines2/5

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

The phrase 'a lead that is not relevant' hints at a trigger condition but gives no explicit when-to-use guidance and never names an alternative. There is no mention of restore_lead for undoing the action or of any other lead-disposition tool, so the agent must guess at routing.

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

edit_distribution_postEdit and approve a distribution postCInspect

Replace a post's text and approve it for publishing.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
postIdYes
siteIdYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the mutation profile is partly covered. The word 'Replace' adds useful context that existing text is overwritten, and 'approve it for publishing' discloses a state transition. However, it says nothing about permissions, reversibility of approval, or side effects on the publishing pipeline.

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 tight sentence with the action front-loaded and zero filler. It is efficient, though extremely brief for a tool with four undocumented parameters.

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 write-and-approve mutation with no output schema and four parameters at 0% schema coverage, the description is too thin. It does not explain parameter roles, approval consequences, or expected results, leaving significant gaps the structured fields do not fill.

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% across four required parameters (projectId, siteId, postId, body), and the description adds no mapping to them. It only obliquely refers to 'a post's text', leaving the identity/scoping parameters entirely unexplained in prose.

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 names a specific verb ('Replace') and resource ('a post's text') plus a distinct second action ('approve it for publishing'). This separates it reasonably from siblings like approve_distribution_posts and regenerate_distribution_post, 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 Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no reference to the sibling tools that handle approval-only (approve_distribution_posts) or rewrite-only (regenerate_distribution_post) workflows. The agent must infer selection from the description alone.

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

exclude_ai_visibility_brandExclude a brand from AI visibilityCInspect

Leave a brand out of competitor comparisons.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
siteIdYes
projectIdYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, so the agent knows this writes but is not flagged destructive, yet the description adds nothing beyond that. It does not say whether the exclusion is reversible (a sibling restore_ tool implies it is), whether existing mentions/comparison data is affected, or what the caller must own to make the change.

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?

A single short sentence is front-loaded with no redundancy, which is good, but it is under-specified rather than genuinely concise for a three-parameter mutation tool. There is room for one more clause about scope or reversibility without bloating it.

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, three undocumented required parameters, and annotations that only cover safety hints, the description should explain the identifiers, the effect on comparison data, and the reciprocal restore tool. None of that is present, so an agent cannot reliably invoke it beyond guessing.

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?

All three required parameters (projectId, siteId, name) have 0% schema description coverage, so the description carries the full burden and fails it. Only the word 'brand' loosely gestures at the name parameter; projectId and siteId are never explained, and no format or example is given.

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 states a recognisable action (leaving a brand out) and a scope (competitor comparisons), which is marginally more specific than the tool name. However, it essentially restates the name and title and never names the sibling it belongs to, such as restore_ai_visibility_brand or add_ai_visibility_competitor, so an agent gets no differentiation signal.

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 when-to-use guidance, no preconditions (e.g. the brand must already exist in the competitor set), and no mention of the obvious inverse tool restore_ai_visibility_brand for undoing the exclusion. The agent is left to infer everything from the name.

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

find_prospect_contactFind a contact for a prospectCInspect

Look up who to email at a prospect's site. Uses the plan's contact allowance.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes
prospectIdYes
idempotencyKeyYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true, so the safety profile is partly covered. The description adds a genuinely non-obvious behavioral fact — that the call draws down a metered contact allowance — but omits what happens on exhaustion, whether results are cached, and what a lookup actually returns.

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 action and scope, no filler. It is efficient, though the small size reflects thin content rather than disciplined editing.

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?

A four-parameter, all-required, credit-consuming tool with no output schema and 0% parameter coverage needs the description to carry more than it does. Nothing explains the identifier parameters, the idempotency requirement, or the shape of 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% across four required parameters, and the description documents none of them. It only vaguely implies site/prospect scoping, and says nothing about idempotencyKey, which is the parameter most in need of explanation given the metered, retryable nature of the call.

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 and resource: look up a contact / who to email at a prospect's site. An agent can distinguish this from siblings like select_prospect_contact or verify_contact, though those distinctions are only implied, not stated.

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 says it consumes the plan's contact allowance, which hints at cost but gives no explicit when-to-use, when-not-to-use, or alternative (e.g. select_prospect_contact vs a fresh lookup). No prerequisites or sequencing guidance.

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

generate_articleWrite an article from a briefAInspect

Write the article for an approved brief. Uses the plan's article allowance and takes a few minutes; poll get_article.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
briefIdYes
projectIdYes
idempotencyKeyYes

TDQS

A3.9/5.0
Behavior5/5

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

Annotations only cover the safety profile (not read-only, not destructive, closed-world), so the description carries the rest of the behavioral burden and does so well: it discloses that the call consumes the plan's article allowance (a quota/cost effect), that it is long-running ('takes a few minutes'), and that completion must be polled via get_article. These are non-obvious traits an agent cannot infer from the annotations or schema.

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

Conciseness5/5

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

Two short clauses with zero filler; the core action and precondition come first, then the operational notes. 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?

For a mutating, asynchronous generation call with no output schema, the description covers latency, quota, and the polling path adequately. It leaves a real gap on inputs, notably the mandatory idempotencyKey and the relationship between projectId, siteId, and briefId, which an agent must guess.

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% across four required parameters, so the description must compensate and largely does not. It hints at the brief via 'brief' but never explains briefId, siteId, projectId, or the required idempotencyKey, whose length constraints and duplicate-suppression purpose go unstated.

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 and resource (write the article) and names the precondition (an approved brief), which separates it from generate_content_plan and publish_article in the same family. It stops short of explicitly contrasting with the nearest siblings, but the act and object are 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?

Gives a clear trigger condition ('for an approved brief') and the follow-up action ('poll get_article'), which tells the agent both when to call it and what to do next. It does not say what to do when no approved brief exists, so it is not fully prescriptive.

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

generate_article_improvementDraft an article improvementCInspect

Write the improved version of an article for one opportunity.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes
improvementIdYes
idempotencyKeyYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations establish it is a write (readOnlyHint=false), non-destructive, closed-world operation, so the safety bar is lower. However the description adds nothing beyond that: it does not say whether output is persisted as a draft, whether it consumes or requires an improvement in a given state, or how idempotency behaves, which matters for a mutating generation tool.

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?

A single front-loaded sentence with no filler, which is structurally clean, but it is undersized for a four-parameter mutating tool and omits information the agent needs, so brevity here reads as under-specification rather than economy.

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 non-read-only generation tool with no output schema, 0% parameter coverage, and only generic annotations, the description should carry the load on state changes, idempotency, and result handling. It does none of that, leaving the definition incomplete for correct 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% across four required parameters. 'For one opportunity' loosely gestures at improvementId, but projectId, siteId, and especially the required idempotencyKey (8-160 chars) are entirely unexplained in both schema and description, leaving the agent to guess their meaning and values.

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 verb+resource is identifiable ('write the improved version of an article'), but 'for one opportunity' uses undefined domain jargon and the description does nothing to separate this from the dense family of siblings such as generate_article, apply_article_improvement, update_article_improvement, and compare_article_improvement.

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 statement of when to use this versus alternatives, no prerequisites (e.g. whether an improvement must first be detected), and no mention of the natural next step (apply/submit/compare). The only hint is 'one opportunity', which is not actionable guidance.

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

generate_content_planGenerate a content planCInspect

Generate a new content plan from the site profile and keyword research. Uses the plan's content allowance.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes
idempotencyKeyYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful context beyond that: the operation consumes 'the plan's content allowance,' a quota/consumption trait not visible in the schema. It omits async/return behavior and idempotency semantics.

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 tight sentences with the action front-loaded and no filler. Efficient, though the second sentence is the only piece of real added 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 non-read-only generation tool with no output schema, three undocumented parameters, and no stated prerequisites or result shape, the definition leaves too much unsaid. An agent knows what it does but not what it needs or what it gets 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% and the description names no parameters at all. The non-obvious idempotencyKey (8-160 chars) and the projectId/siteId pairing are left entirely undocumented, so the description fails to compensate for the coverage 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?

Clear verb+resource ('Generate a new content plan') plus the inputs it draws on ('site profile and keyword research'). It does not differentiate from close siblings such as decide_content_plan or activate_content_plan, so an agent must infer the distinction.

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

Usage Guidelines2/5

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

No when-to-use context, no prerequisites, and no mention of the sibling tools that operate on the same plan (decide_content_plan, activate_content_plan, get_content_plan). The only constraint given is the allowance note, which is not usage routing.

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

generate_lead_replyDraft a reply to a leadBInspect

Draft a reply to a lead's post in the chosen tone. Nothing is posted; the user posts it themselves.

ParametersJSON Schema
NameRequiredDescriptionDefault
toneNopeer
siteIdYes
mentionIdYes
projectIdYes
regenerateNo
idempotencyKeyYes

TDQS

B3.3/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false with destructiveHint=false, leaving the side-effect profile ambiguous, and the description resolves it usefully: the draft is generated but not published, the user posts it. That is real context beyond the annotations. It still omits what happens on regeneration or how the idempotency key affects repeat calls.

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 the purpose front-loaded and the side-effect caveat immediately after. No filler; every clause carries 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?

The non-publishing behavior is covered, which is the most important unknown for a generation tool with no output schema. But with 6 parameters at 0% coverage and no output schema, an agent still lacks guidance on idempotencyKey, regenerate, and the required identifiers, so the definition is only marginally 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?

Schema description coverage is 0% across six parameters, so the description carries the full burden, yet it only alludes to 'the chosen tone' and never explains the peer/expert/founder enum, regenerating, siteId, mentionId, projectId, or the required idempotencyKey. Most parameters are undocumented in both places.

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 (draft) and a specific resource (a reply to a lead's post), which is enough to tell it apart from generic generation tools. However, it does not differentiate itself from the sibling update_lead_reply, which an agent could easily confuse with this one.

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 says nothing about when to use this tool versus update_lead_reply, prepare_outreach_draft, or create_outreach_draft. The clause 'Nothing is posted' clarifies workflow outcome but is not usage guidance or an exclusion, so an agent gets no routing help.

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

get_ai_responseGet an AI answerC
Read-only
Inspect

Read the full text of one recorded AI answer.

ParametersJSON Schema
NameRequiredDescriptionDefault
runIdYes
siteIdYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds one real behavioral fact — that the full (untruncated) text body is returned — but says nothing about failure modes when an ID is unknown or about 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?

A single front-loaded sentence with no filler and the scope constraint ('one') placed before the resource. Efficient, though its brevity leaves the under-specification unaddressed.

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 requiring three undocumented identifiers and returning full text with no output schema, the description is too thin — it does not indicate the ID hierarchy, expected return shape, or the error behavior for a missing run.

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% for three required parameters (projectId, siteId, runId), and the description supplies no parameter meaning at all. It does not explain that the IDs must form a consistent hierarchy or where they are obtained, so it fails to compensate for the coverage 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?

States a specific verb ('Read') and resource ('one recorded AI answer') and scopes it to a single record, which contrasts with the several list_* siblings. It does not, however, clarify how an 'AI answer' relates to the sibling concepts list_ai_visibility_prompt_runs or get_ai_visibility_citations, so the agent must infer the relationship.

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 when-to-use guidance, no prerequisites, and no named alternative. The agent is left to infer that this is called after listing prompt runs to retrieve one answer's text, which is implied at best.

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

get_ai_sentiment_benchmarkBenchmark AI sentiment against rivalsC
Read-only
Inspect

Compare how favorably AI answers describe the brand and its rivals.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNo
fromNo
rivalNo
engineNo
siteIdYes
enginesNo
projectIdYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds no behavioral context beyond that — nothing about time-range semantics, engine coverage, data freshness, or what the comparison returns.

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 front-loaded sentence with no filler or repetition. It is well-formed, though its brevity comes at the cost of the missing detail noted elsewhere.

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 7-parameter tool with fully undocumented schema fields, an enum set of seven engines, no output schema, and several overlapping sentiment siblings, one sentence of description is insufficient. An agent lacks enough to invoke it correctly or route to it reliably.

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% across 7 parameters, so the description must carry the burden, but it only obliquely gestures at the 'rival' concept ('its rivals'). Required projectId/siteId, the from/to date range, and the singular 'engine' vs. plural 'engines' distinction are all unexplained.

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 clear verb ('compare') and resource (how favorably AI answers describe brand vs. rivals), which is more specific than a bare name restatement. However, it does not distinguish itself from close siblings like get_ai_sentiment_overview or get_ai_sentiment_driver, leaving the agent to guess which sentiment tool yields the benchmark view.

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 when-to-use guidance, no mention of prerequisites (e.g. brand/competitor setup requirements), and no routing to or away from the sibling sentiment and AI-visibility tools. The agent must infer usage 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_ai_sentiment_driverGet an AI sentiment driverA
Read-only
Inspect

Read one sentiment theme with quotes and suggested tasks; the summary and tasks are written on first read. themeKey comes from get_ai_sentiment_overview.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNo
fromNo
engineNo
siteIdYes
enginesNo
themeKeyYes
projectIdYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds genuinely non-obvious behavior: 'the summary and tasks are written on first read', a lazy-generation side effect that affects latency and idempotency. It does not mention permissions or rate limits, so it is strong but not exhaustive.

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, front-loading the core read action and the returned artifacts before the side-effect and provenance notes. Every clause carries information an agent needs.

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

Completeness3/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 the description usefully sketches the return payload and the write-on-first-read behavior. However, for a 7-parameter tool with 0% schema coverage and no annotations covering inputs, the near-total silence on the date-range and engine filters leaves the definition only minimally 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% across 7 parameters, so the description carries the full burden. It explains only themeKey's provenance and says nothing about from/to date scoping, the engine/engines filter, or projectId/siteId, leaving six parameters with no semantic guidance anywhere.

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 ('Read one sentiment theme') and enumerates what it returns (quotes, suggested tasks). It explicitly distinguishes itself from the sibling get_ai_sentiment_overview by naming it as the source of themeKey, so an agent can route between the two without opening either schema.

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

Usage Guidelines4/5

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

The mention that 'themeKey comes from get_ai_sentiment_overview' establishes the required call ordering and the prerequisite tool, which is real usage guidance. It stops short of stating when not to use this tool or what to do with the returned tasks, so it is clear context rather than a full when/when-not rule set.

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

get_ai_sentiment_overviewGet AI sentimentC
Read-only
Inspect

Read how positively AI answers describe the brand and the themes driving it.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNo
fromNo
engineNo
siteIdYes
enginesNo
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds that the read covers both overall positivity and the driving themes, but says nothing about default time windows, engine scoping, or aggregation behavior for a six-parameter analytical 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?

A single front-loaded sentence with no filler or repetition. It is efficient, though the terseness contributes to the gaps in usage and parameter guidance rather than offsetting them.

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 six-parameter analytics tool with 0% schema description coverage and no output schema, the description omits date-range behavior, engine selection semantics, and how results are scoped or aggregated. An agent could call it, but only by guessing at the filters.

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% across six parameters, so the description carries the full burden and fails to explain the from/to date window, the single engine vs. engines array (with maxItems 10), or the required projectId/siteId scoping. 'Themes driving it' loosely gestures at a breakdown but adds no parameter-level meaning.

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 (read) and resource (AI sentiment overview of the brand), plus the substantive content: positivity of AI answers and the themes driving it. It does not, however, distinguish itself from close siblings like get_ai_sentiment_benchmark or get_ai_sentiment_driver, so the agent cannot tell which sentiment view to pick.

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 when-to-use guidance, no prerequisites, and no mention of the sibling sentiment tools (benchmark, driver) that clearly overlap. The agent is left to infer when this overview is preferred over the alternatives.

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

get_ai_visibility_citationsGet AI citation sourcesC
Read-only
Inspect

Read which domains and pages AI answers cite, and the domains that never mention the brand.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNo
fromNo
engineNo
siteIdYes
enginesNo
categoryNo
monitorIdNo
projectIdYes
categoriesNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds some output-shape context (cited domains/pages plus non-mentioning domains) but says nothing about auth, scope limits, or pagination.

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

Conciseness4/5

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

A single efficient sentence with the action front-loaded. The second clause is slightly muddled but there is no filler or repetition.

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 9-parameter query tool with no output schema and no annotation-level detail beyond read-only, the description omits filtering semantics and result scope. It is not complete enough for an agent to call it precisely.

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?

Nine parameters at 0% schema description coverage, yet the description explains none of them. Date range (from/to), engine vs engines, category vs categories, and monitorId filtering are all left undocumented, so the description fails to compensate for the schema 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?

States a clear verb+resource: read the domains and pages that AI answers cite. However the trailing clause 'the domains that never mention the brand' is ambiguous and no sibling is named, so an agent cannot easily distinguish it from get_ai_visibility_domain_pages.

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 when-to-use guidance, no prerequisites, and no mention of alternatives in a crowded ai_visibility family (overview, competitors, domain_pages, brand mentions). The agent is left to infer when this is the right call.

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

get_ai_visibility_competitorGet one competitor's AI visibilityB
Read-only
Inspect

Read one brand's visibility against the user's, with the prompts and sources behind it. brandKey comes from get_ai_visibility_competitors.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNo
fromNo
engineNo
siteIdYes
enginesNo
brandKeyYes
categoryNo
projectIdYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful content context ('with the prompts and sources behind it'), but says nothing about date-range scoping, engine filtering, or pagination behavior for what is clearly a filtered read.

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 what is read and followed by the key dependency. No filler, no repetition of the title.

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

Completeness2/5

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

For an 8-parameter tool with 0% schema coverage and no output schema, the description should explain the date range, engine/category filters, and projectId/siteId scoping. It covers only brandKey's origin, leaving most of the call contract unstated.

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% across 8 parameters, including two enums (engine/engines, category) and date-time from/to fields. The description only explains the provenance of brandKey and leaves every other parameter's meaning and format to inference, so it fails to compensate for the coverage 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?

States a specific verb and resource ('Read one brand's visibility against the user's') and implies the single-competitor scope that separates it from the sibling list tool get_ai_visibility_competitors, which it names. The differentiation is present but relies on the word 'one' rather than an explicit contrast.

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 sentence 'brandKey comes from get_ai_visibility_competitors' gives a real prerequisite/chain hint, which is more than nothing. However, it never states when to drill into one competitor versus alternatives (e.g. overview or citations tools), so usage is only implied.

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

get_ai_visibility_competitorsCompare AI visibility with competitorsC
Read-only
Inspect

Read the ranking of brands in AI answers, share of voice, and head-to-head prompts.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNo
fromNo
engineNo
siteIdYes
compareNo
enginesNo
categoryNo
sovScopeNo
projectIdYes

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already establish readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful context about the returned content (brand rankings, share of voice, head-to-head prompts), but does not disclose pagination, result shape, or any operational constraints beyond that.

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 definition is a single, front-loaded sentence with no filler or redundancy. It is concise and readable, though arguably too terse for a 9-parameter tool, but the sentence itself 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 9-parameter tool with no parameter descriptions, no output schema, and many nearby siblings, the description is materially incomplete. It describes the returned subject matter in broad terms but does not explain parameters, usage context, or how it differs from get_ai_visibility_competitor and other AI visibility endpoints.

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% across all 9 parameters, so the description must compensate and it does not mention any parameter at all. Required IDs (projectId, siteId), date filters (from, to), engine selectors, compare list, category, and sovScope are left entirely unexplained.

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 (Read) and resource (ranking of brands in AI answers, share of voice, and head-to-head prompts). It is clear what the tool returns, but it does not differentiate itself from the closely named sibling get_ai_visibility_competitor (singular) or other AI visibility tools, so it falls 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 about when to use this tool instead of alternatives such as get_ai_visibility_competitor, get_ai_visibility_overview, or add_ai_visibility_competitor. Usage is only implied by the title 'Compare AI visibility with competitors,' with no explicit when-to-use or exclusions.

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

get_ai_visibility_domain_pagesList cited pages of a domainC
Read-only
Inspect

List the pages of one domain that AI answers cite.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNo
fromNo
domainYes
engineNo
siteIdYes
enginesNo
categoryNo
monitorIdNo
projectIdYes
categoriesNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and a closed-world scope, so the safety profile is covered. The description adds that results are pages cited by AI answers, which clarifies the semantics of the return set, but says nothing about scoping, filtering by date/engine, or result size.

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 front-loaded sentence with no filler. It is efficient, though arguably too terse given the parameter surface it must support.

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 10-parameter, no-output-schema tool, one sentence is not enough. An agent cannot tell which of projectId/siteId/domain are required selectors, what the date and engine filters do, or what shape the response takes.

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% across 10 parameters (domain, projectId, siteId, from/to, engine/engines, category/categories, monitorId). The description only loosely implies that 'domain' is a filter; it explains none of the required or optional parameters, so it fails to compensate for the coverage 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?

States a specific verb ('List') and resource ('pages of one domain that AI answers cite'), which tells an agent what data comes back. It does not, however, differentiate itself from siblings such as get_ai_visibility_citations, which sounds adjacent.

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 when-to-use guidance, no prerequisites (project/site scoping), and no mention of the nearby citation/competitor tools an agent might otherwise pick. Usage must be inferred entirely from the name.

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

get_ai_visibility_overviewGet the AI visibility overviewB
Read-only
Inspect

Read how often AI assistants mention the brand: visibility, share of voice, position, and trend.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNo
fromNo
siteIdYes
enginesNo
projectIdYes
categoriesNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the content scope (the metric set) but says nothing about aggregation behavior, date-range defaults, or whether engines/categories narrow or broaden the result — modest value beyond the annotations.

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

Conciseness5/5

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

A single sentence with the resource stated first and the metric list after the colon; no filler and nothing wasted.

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 read-only analytics tool with no output schema, naming the returned metrics is genuinely useful, but with six undocumented parameters (including two required and two enum-filtered arrays) and no usage routing, the definition leaves real gaps an agent would need to close by guessing.

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% across six parameters, so the description carries the full burden — yet it mentions no parameter at all. It never explains that projectId/siteId are required scope, nor what 'from'/'to' do, nor how the engines and categories filters shape the result.

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 gives a clear verb ('Read') plus the resource ('how often AI assistants mention the brand') and enumerates the metrics returned: visibility, share of voice, position, trend. That is enough to distinguish it from metric siblings like get_ai_visibility_citations or get_ai_sentiment_overview, though it never names those alternatives explicitly.

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 statement of when to use this tool versus the many adjacent AI-visibility siblings (get_ai_visibility_competitors, get_ai_visibility_domain_pages, get_ai_response, get_ai_sentiment_overview). The agent must infer from the name alone which overview to call.

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

get_articleGet an articleB
Read-only
Inspect

Read one article with its full content, quality checks, and publication state.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
assetIdYes
projectIdYes

TDQS

B3/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, covering the safety profile. The description adds which content the read surfaces, but says nothing about permissions, scope restrictions, or failure modes, so it adds only modest value beyond the annotations.

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

Conciseness4/5

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

A single front-loaded sentence with no filler; it delivers the essential purpose and return scope efficiently. It is very sparse, but nothing wasteful 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?

With no output schema, the description usefully signals the return contents (content, quality checks, publication state), which helps the agent. However it leaves the required identifier parameters and any usage context undocumented, so it is only 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?

All three parameters (projectId, siteId, assetId) are required with 0% schema description coverage and the description provides no parameter explanation at all. Nothing clarifies how these identifiers relate or where they come from, so the description fails to compensate for the coverage 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?

States a specific verb ('Read') and resource ('one article') and enumerates the main returned elements (full content, quality checks, publication state). The word 'one' implicitly contrasts with list_articles, but no sibling is named explicitly.

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

Usage Guidelines2/5

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

Provides no when-to-use guidance, no prerequisites, and never mentions the obvious alternative list_articles or the related get_article_settings/get_article_improvements. Usage must be entirely inferred from the tool name.

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

get_article_improvementsGet article improvementsB
Read-only
Inspect

Read the refresh opportunities found for published articles and the state of each improvement.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that it returns each improvement's state, a modest behavioral detail, but says nothing about pagination, freshness, or what a missing improvement set means.

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 with no filler; the verb and scope lead and nothing is repeated from 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?

There is no output schema, so the description carries the burden of explaining return values; it gestures at 'the state of each improvement' but does not say what states exist or how improvements relate to articles. Adequate but shallow for a read tool with two undocumented 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 description coverage is 0% and the description never mentions projectId or siteId. Both required parameters are left entirely undocumented in the prose, so the agent must infer their meaning from naming alone.

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 (Read) and resource (refresh opportunities / article improvements) with the added scope that these apply to published articles and include each improvement's state. It distinguishes itself from mutation siblings like update_article_improvement or apply_article_improvement, though it does not explicitly name which sibling it replaces.

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 when-to-use guidance, prerequisites, or alternatives. An agent cannot tell from this text whether to call it before decide_article_improvement, compare_article_improvement, or in place of detect_article_improvements.

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

get_article_settingsGet article writing settingsB
Read-only
Inspect

Read the writing preferences for a website: voice, structure, images, linking, and improvement rules.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds the content of the returned preferences, but says nothing about scope resolution, what happens when settings are unset/default, or whether both IDs must correspond to an existing site.

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 enumerating the setting categories with zero filler. Nothing to trim.

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?

With no output schema, the enumeration of preference categories usefully signals the return shape. However, with both parameters undocumented and no guidance on scope or failure modes, the definition is only partially complete for a 2-required-param 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 both projectId and siteId are required but entirely undocumented. The phrase 'for a website' loosely hints at siteId, but projectId is never mentioned, so the description fails to compensate for the coverage 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?

Specific verb (Read) plus a clearly scoped resource (writing preferences for a website), and it enumerates the categories returned (voice, structure, images, linking, improvement rules). That is enough to distinguish it from get_article and get_content_automation, though it never names a sibling to route away from.

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 when-to-use framing, no prerequisites, no alternatives. The agent must infer from the name alone that this is the read-side counterpart to whatever updates article settings.

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

get_brand_mentions_overviewGet the brand mentions overviewC
Read-only
Inspect

Read how often and where the brand is mentioned.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered by structured data and the description's 'Read' adds nothing new. It says nothing about scope of aggregation, filters applied, time window, or pagination that the annotations do not already imply.

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?

It is a single front-loaded sentence with no filler, which is structurally clean. The problem is under-specification rather than excess: the sentence is too thin to carry the tool, so brevity here is not fully earned.

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 two required parameters, no output schema, and no parameter documentation, the description needed to explain what an 'overview' returns (counts, sources, time range) and which scope it covers. Neither is provided, so an agent cannot confidently predict the response or the filtering applied.

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 projectId or siteId, so neither parameter's meaning or expected format is explained anywhere. The parameter names are somewhat self-describing, but the description makes no attempt to compensate for the complete absence of schema documentation.

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 adds a dimension beyond the name by saying it reads mention frequency and location ('how often and where'), suggesting an aggregate overview rather than a raw list. However, it never says what unit 'how often' is measured in and does nothing to separate it from the closely related sibling list_mentions, which sounds like it covers the same subject matter.

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 explicit when-to-use guidance, no exclusions, and no routing to alternatives such as list_mentions or get_ai_visibility_overview, which an agent would plausibly reach for. The verb 'Read' only implies it is a retrieval call, leaving the choice between this and the sibling mention/overview tools to guesswork.

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

get_content_automationGet content automation settingsB
Read-only
Inspect

Read the automatic writing and publishing schedule for a website.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful domain context by specifying that it reads the automatic writing and publishing schedule, but it does not disclose return format, pagination, or authorization requirements beyond what annotations provide.

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 wasted words. It immediately states the operation and resource without preamble or 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?

For a simple read-only tool with two required identifiers and no output schema, the description covers the basic operation but omits any explanation of the required parameters. An agent can infer usage from the schema and annotations, but the description leaves a clear gap around the project/site identifiers.

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% for both required parameters. The description says 'for a website,' which loosely hints at the siteId parameter, but it does not mention projectId at all and adds no parameter-level meaning beyond what the bare schema names provide.

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: 'Read the automatic writing and publishing schedule for a website.' This clearly identifies a read operation for content automation settings. It does not explicitly distinguish itself from the sibling 'update_content_automation' or other get_* settings tools, so it falls short of the highest clarity.

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 provides no when-to-use guidance, prerequisites, or alternatives. It only says what the tool reads, leaving the agent to infer that it should be used when content automation settings need inspection.

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

get_content_planGet the content planB
Read-only
Inspect

Read the latest content plan for a website with its scheduled article briefs. Returns null when no plan exists.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuine behavioral context beyond that: it returns the latest plan (implying versioning) and returns null when no plan exists, which is a meaningful edge case the agent would otherwise not anticipate.

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, with the primary purpose front-loaded and the null-return edge case appended. 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?

There is no output schema, so the description carries the burden of describing the return, and it does so only briefly (a plan with scheduled article briefs, or null). Combined with the unexplained required parameters, an agent has enough to invoke the tool but not a full picture of scope or payload.

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 projectId or siteId, both of which are required. 'For a website' loosely hints at siteId, but the relationship and distinction between the two identifiers is left entirely undocumented, so the description does not compensate for the coverage 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?

States a specific verb (Read) and resource (the latest content plan for a website with its scheduled article briefs), so the agent knows exactly what it retrieves. It does not, however, differentiate itself from siblings like generate_content_plan, decide_content_plan, or activate_content_plan, which an agent could easily confuse with 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?

The description gives no explicit when-to-use guidance and never names an alternative among the several content-plan siblings (generate/decide/activate_content_plan). Usage is only weakly implied by the verb 'Read'; nothing tells the agent when this is the right call versus regenerating or deciding a plan.

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

get_distribution_campaignGet a distribution campaignB
Read-only
Inspect

Read one campaign with its schedule and posts.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes
campaignIdYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered by structured data. The description adds that the response bundles a schedule and posts (an expanded payload), which is mild value beyond the annotations, but says nothing about pagination, errors, or scoping requirements.

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 front-loaded sentence with no filler. It is efficient, though arguably too terse given the undocumented parameters.

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 read tool with full annotation coverage and no output schema, the description gives a usable high-level view of the return payload. It falls short on the three required identifiers, which are undocumented everywhere, leaving an agent to guess at scoping.

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 none of the three required identifiers (projectId, siteId, campaignId) are described in schema or in the description. The phrase 'one campaign' only weakly implies a campaignId and gives no hint that project and site scoping are also required.

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 and resource ('Read one campaign') and adds that the payload includes the campaign's schedule and posts. This implicitly distinguishes it from list_distribution_campaigns (single vs many), but it never names that sibling or any of the other distribution tools explicitly.

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 versus list_distribution_campaigns or get_distribution_status, and no prerequisites or context conditions are stated. The agent must infer usage purely from the name.

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

get_distribution_page_atomsGet a page's talking pointsC
Read-only
Inspect

Read the talking points extracted from a page for social posts.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
pageUrlYes
projectIdYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds almost nothing behavioral beyond that: no mention of auth/scope requirements, pagination, empty-result behavior, or the prerequisite that atoms must be extracted before they can be read.

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, front-loaded sentence with no filler. It is efficient, though terse enough that the brevity comes at the cost of the missing detail noted elsewhere rather than being a true model of concision.

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 three-parameter tool with 0% schema coverage and no output schema, the description should explain what the caller supplies and what comes back (and any prerequisite extraction step). It leaves all of that to the schema, which is undocumented.

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 projectId, siteId or pageUrl. The parameter names are largely self-explanatory, but with three undocumented required parameters the description should compensate and 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 ('Read') and resource ('talking points extracted from a page'), and the title clarifies that 'atoms' means talking points. It is understandable on its own, but it never names the related sibling atomize_distribution_page, so the agent must infer the difference between reading and extracting atoms.

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?

Usage is only implied by the phrase 'for social posts'. There is no explicit when-to-use guidance and no mention of prerequisites (e.g. that atoms must first be extracted) or of the sibling tools that create or list them.

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

get_distribution_statusGet distribution statusB
Read-only
Inspect

Read whether social distribution is connected and which accounts post.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful context that it returns a connection flag plus the posting accounts, but says nothing about auth requirements or return shape beyond that.

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 well-formed sentence that is front-loaded with the operation and outcome. Nothing is wasted, though it is arguably under-specified rather than padded.

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 status read with annotations covering the safety profile and no output schema, the description hints at the return content (connected state, posting accounts). However, it omits any parameter context for the two undocumented required params, leaving gaps an agent must infer.

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 projectId or siteId. While the parameter names are largely self-explanatory, the description adds no meaning (scoping, format, required pairing) beyond the bare schema, so it does not compensate for the coverage 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?

States a specific verb ('Read') and resource (social distribution connection status), and names the data returned (whether connected, which accounts post). It is clear on its own, but it does not differentiate itself from siblings like get_distribution_campaign or list_distribution_posts, which an agent must 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?

The description gives no when-to-use guidance and names no alternatives. With many distribution-related siblings, an agent has no signal here about why it would pick this status read over get_distribution_campaign.

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

get_leadGet a Ranklybee leadB
Read-only
Inspect

Read one lead with its score, evidence quote, reason, stage, and link.

ParametersJSON Schema
NameRequiredDescriptionDefault
leadIdYes
projectIdYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and a closed-world scope, so the safety profile is covered by structured data. The description adds value by naming the returned content, which matters since there is no output schema, but it says nothing about failure modes or access constraints.

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 front-loaded sentence with no filler; the retrieval scope and returned fields lead the statement. Slightly terse for the amount of information an agent needs, but nothing is waste.

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 read tool with no output schema, the field enumeration is the most useful part and it is present. However, with no annotations for parameters and no output schema, the description leaves the identity/scope of both required IDs unstated.

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 neither of the two required parameters (projectId, leadId) is documented anywhere. The description could have clarified that the lead is scoped by project, but contributes nothing about parameter meaning or format.

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 and resource ('Read one lead') and enumerates the key response contents (score, evidence quote, reason, stage, link). The word 'one' distinguishes it from the plural list_leads and the aggregate get_leads_overview, though it never names those siblings explicitly.

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?

Provides no when-to-use guidance, prerequisites, or alternatives. An agent must infer from the singular noun that this is an ID-based lookup as opposed to list_leads or get_leads_overview, and nothing states which project/lead scope is required.

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

get_leads_overviewGet the leads overviewB
Read-only
Inspect

Read lead counts by tier and stage, the monitor state, keywords, and customer profiles.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds content scope (what categories are summarized) but no behavioral traits such as pagination, refresh cadence, or scoping constraints.

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 front-loaded sentence with no filler. It is efficient, though the comma-separated content list is unstructured and would read better as a scoped enumeration.

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 read-only overview tool with no output schema, the content enumeration is helpful, but the definition leaves both required parameters and any usage routing unaddressed, which is thin for a tool sitting among many lead-related siblings.

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% for two required parameters (projectId, siteId), and the description never mentions them or explains their role or relationship. The names are conventional identifiers, but the description does nothing to compensate for the coverage 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?

States a specific verb ('Read') and enumerates the returned content: lead counts by tier and stage, monitor state, keywords, customer profiles. The aggregation framing ('counts by tier and stage') implicitly distinguishes it from list_leads, but it never names a sibling to make the distinction explicit.

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 when-to-use guidance, no prerequisites, and no mention of alternatives in a sibling set that contains obvious overlaps (list_leads, get_lead, get_prospecting_summary). The agent must infer that this is the aggregate/dashboard view purely from the word 'overview'.

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

get_outreach_automation_overviewGet the outreach automation overviewC
Read-only
Inspect

Read what the outreach agent did over the last 7, 30, or 90 days.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes
rangeDaysNo30

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description only adds that it is retrospective activity over a bounded lookback window, with no mention of what gets aggregated or whether results are paginated — modest value over the structured fields.

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

Conciseness4/5

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

A single front-loaded sentence with no padding; the time-window constraint is stated up front. It is efficient, though so terse that it omits information an agent needs, which is penalized elsewhere.

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?

Three parameters at 0% schema coverage, no output schema, and no nested objects. The description should at least hint at the return shape (counts, activity summary) and the roles of projectId/siteId, since nothing else documents them; it does neither.

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, and it only explains rangeDays ('the last 7, 30, or 90 days'). The two required parameters, projectId and siteId, are left entirely unexplained in both schema and description.

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 concrete verb-resource pair: reading the retrospective activity of the outreach agent. An agent can tell this is a summary/reporting tool rather than a mutation, but the description never says 'overview' or how it differs from close siblings like get_outreach_sending_dashboard, list_outreach_automation_runs, or get_outreach_automation_policy.

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 when-to-use, when-not-to-use, or alternative is named. The time windows (7/30/90 days) hint at a retrospective-analysis context, but nothing tells the agent whether to reach for this instead of the runs list or the sending dashboard.

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

get_outreach_automation_policyGet the outreach automation policyB
Read-only
Inspect

Read whether the outreach agent is running and its limits.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that the payload covers running state and limits, which is useful but thin; it says nothing about permissions, freshness, or what 'limits' 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?

A single front-loaded sentence with no filler; the core outcome is stated immediately and nothing is wasted.

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 annotation coverage of parameters, so the description carries the burden for a two-required-param read tool. It does not explain the two identifiers or the shape of the returned policy, leaving the agent under-informed.

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 both projectId and siteId are required strings with no constraints beyond minLength. The description provides no meaning for either parameter, so an agent must guess scope (which project, which site) entirely from the names.

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 gives a specific verb (read) and resource (outreach automation policy) plus its content: whether the agent is running and its limits. That is clear enough to distinguish from mutation siblings like set_outreach_automation_status. It stops short of naming or contrasting with the closest read sibling, get_outreach_automation_overview.

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 when-to-use or when-not-to-use guidance. Nothing tells the agent how this differs from get_outreach_automation_overview, get_outreach_sending_dashboard, or get_outreach_automation_policy's mutation counterparts, so the choice among these reads 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.

get_outreach_draft_optionsGet outreach draft optionsB
Read-only
Inspect

List the sender identities and templates a new draft can use.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

B3/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered, but the description adds no behavioral context of its own: no return shape, ordering, pagination, or whether results are site-scoped. It only restates the purpose in list form.

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 front-loaded sentence with no filler or redundancy. It is appropriately sized for a lookup, though its brevity is partly the source of the documentation gaps rather than deliberate economy.

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 read-only lookup with no output schema, the description does identify the returned content (sender identities and templates), but it leaves both required scoping parameters and any usage context undocumented, making it only minimally 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?

Both parameters (projectId, siteId) are required with 0% schema description coverage, so the description carries the full burden of explaining them — yet it never mentions either parameter or what scope they impose on the returned identities and templates.

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") and a specific resource set ("sender identities and templates"), with the scope qualifier "a new draft can use" that narrows it below the sibling list_outreach_templates. Clear purpose, though it never names a sibling to contrast with.

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?

Usage is only implied: the phrase "a new draft can use" suggests calling this before create_outreach_draft or prepare_outreach_draft, but no explicit when-to-use, prerequisites, or alternative (e.g. list_outreach_templates) is given.

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

get_outreach_sending_dashboardGet the outreach sending dashboardB
Read-only
Inspect

Read scheduled and sent emails, sender limits, and replies waiting for review.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the useful fact that this is an aggregating view spanning three data categories, but says nothing about freshness, permissions, or whether results are scoped/paginated.

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 with the resource categories front-loaded and no filler. It is efficient, though the terseness is partly the cause of the coverage gaps rather than a virtue.

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 read-only aggregation tool with no output schema, the annotations carry the risk profile and the description conveys the data categories. However, with two required undocumented parameters and no hint of scope or return shape, an agent still lacks 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?

Both required parameters (projectId, siteId) have 0% schema description coverage, and the description never mentions them. Unlike a zero-parameter tool, this definition needs to compensate for the schema gap and does not, so the agent gets no meaning for the required identifiers beyond their names.

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 clear verb ('Read') and enumerates the specific resource categories it surfaces: scheduled and sent emails, sender limits, and replies awaiting review. An agent can tell this is a consolidated sending/outreach status view. It does not distinguish itself from near-neighbors like get_outreach_automation_overview, which keeps it from a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no named alternative. With a crowded sibling set that includes get_outreach_automation_overview, get_outreach_draft_options, and list_outreach_threads, the agent is left to infer when this dashboard is the right entry point.

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

get_plan_usageGet plan usageA
Read-only
Inspect

Read how much of each plan allowance the Project has used in the current period.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the period scoping ("current period") and per-allowance granularity, but says nothing about freshness/lag, rate limits, or what happens for a project with no plan.

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 with the verb and scope up front and no filler. Every clause (each allowance, the Project, current period) carries meaning.

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?

There is no output schema, so the description should ideally sketch the return shape (allowances, used vs. limit, period boundaries). It covers scope but not the response, which is the main remaining gap for an otherwise simple single-parameter read 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?

Only one parameter exists and schema description coverage is 0%, so the schema contributes nothing beyond the name. The description's reference to "the Project" hints that projectId scopes the read, but it never states the expected identifier form (ID vs. slug vs. name), so it only partially compensates.

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 ("Read") plus the exact resource ("how much of each plan allowance the Project has used"), and scopes it to "the current period". No sibling tool in the list covers plan usage, so differentiation is not really needed, but the description doesn't explicitly position itself against anything else either.

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?

Usage is implied rather than stated: an agent can infer this is a read-only quota/usage lookup for a project, but there is no when-to-use guidance, no prerequisites, and no mention of alternatives or exclusions. Adequate minimum but leaves 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.

get_prospect_discoveryGet a prospect discovery jobB
Read-only
Inspect

Read the progress and result counts of a discovery job.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYes
siteIdYes
projectIdYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description usefully adds what the call returns (progress plus result counts) but says nothing about polling cadence, job-state transitions, or behavior when the job is unknown/incomplete.

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 sentence, front-loaded with the verb and no filler. It is arguably too terse for a 3-parameter tool, but as a sentence it 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 read tool with no output schema, noting that the response carries progress and result counts is genuinely useful, and the annotations cover the safety profile. The gap is the total absence of parameter documentation and job-context guidance, which leaves the agent guessing how to source the three required IDs.

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% for all three required parameters, so the schema contributes no meaning, and the description offers no help beyond implying that jobId identifies a discovery job. projectId and siteId scoping and ID format/origin remain undocumented in both places.

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 ('Read') plus the resource and the exact payload ('progress and result counts of a discovery job'), which cleanly separates it from start_prospect_discovery and list_prospects. It never names a sibling explicitly, so differentiation is implicit rather than stated.

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

Usage Guidelines2/5

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

No when-to-use guidance at all — nothing tells the agent this is the polling companion to start_prospect_discovery, nor when get_prospecting_summary or list_prospects would be preferable. The agent must infer positioning 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_prospect_discovery_settingsGet prospect discovery settingsB
Read-only
Inspect

Read the Domain Rating range and page types used to find prospects.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful content context by naming what the settings contain (DR range, page types), but says nothing about scope, required access, or what happens when no discovery has been configured.

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 front-loaded sentence with no filler or repetition. It is efficient, though the terseness comes partly from omitting information that would be useful.

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?

There is no output schema, so the description must carry return-value explanation; it partially does by naming the two settings returned. However, with two undocumented required parameters and no routing to siblings, it is only minimally adequate for a scoped getter.

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?

Both required parameters (projectId, siteId) have 0% schema description coverage, and the description never mentions them. It also does not clarify the relationship between project and site scoping, so an agent must guess how the two identifiers interact.

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 ("Read") and a concrete resource, going so far as to name the returned fields (Domain Rating range, page types). It distinguishes itself from the write sibling update_prospect_discovery_settings implicitly through "Read," but never names that sibling or get_prospect_discovery, so differentiation 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 Guidelines2/5

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

No when-to-use guidance and no alternatives named. With sibling tools like update_prospect_discovery_settings, get_prospect_discovery, and start_prospect_discovery in the same family, the description should route the agent but instead provides none of that context.

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

get_prospecting_summaryGet the prospecting summaryB
Read-only
Inspect

Read prospect counts by status for a website.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that the output is counts grouped by status, which is useful behavioral context, but it does not disclose any further traits such as auth needs, rate limits, or freshness of the 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?

A single, front-loaded sentence with no filler. Every word contributes to stating the action and the resource, making it efficient and easy to scan.

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

Completeness2/5

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

For a tool with two required, undescribed parameters and no output schema, the description is incomplete. It does not explain what projectId and siteId refer to or what the returned count categories are, leaving an agent without enough information to safely invoke it.

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 carries the full burden for explaining projectId and siteId. The phrase 'for a website' only vaguely hints at siteId and leaves projectId completely unexplained, so the description does not compensate for the schema 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 states a specific verb ('Read') and a specific resource ('prospect counts by status for a website'), which distinguishes it from sibling listing tools like list_prospects or get_prospect_discovery. It does not explicitly name or contrast with any sibling, so it falls short of a 5, but an agent can tell what the tool returns.

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 list_prospects, get_prospect_discovery, or get_prospect_discovery_settings. No prerequisites or context for invocation are stated beyond the bare purpose.

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

get_search_performanceGet search performanceB
Read-only
Inspect

Read Google Search Console clicks, impressions, top queries and pages, and whether the property is connected.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally. The description adds one genuinely useful behavioral fact beyond that: the response indicates whether the property is connected, hinting at a possible disconnected/empty state. It says nothing about freshness, date ranges, or rate limits.

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 front-loaded sentence with no filler; the resource and returned metrics come first. It is slightly list-heavy but every clause adds information rather than restating the 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?

With no output schema, the description does useful work by enumerating the returned metrics (clicks, impressions, top queries and pages, connection status). However, it leaves both required parameters undocumented and gives no guidance on when to call it versus sync_search_console, so it is only minimally adequate.

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% for both required parameters (projectId, siteId), and the description never mentions them. The names are partially self-explanatory, but with zero coverage the description should have explained the required identifiers or that both are mandatory.

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 ('Read') and resource ('Google Search Console clicks, impressions, top queries and pages'), which is far more informative than the title alone. It does not explicitly differentiate itself from the sibling sync_search_console, so an agent must infer the read-vs-sync split.

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 when-to-use guidance, no prerequisites, and no mention of alternatives such as sync_search_console (which would populate the data this tool reads) or get_seo_health. The agent must infer the context entirely from the tool name.

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

get_seo_diagnosisGet a traffic drop diagnosisC
Read-only
Inspect

Read one traffic drop diagnosis with its findings.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes
diagnosisIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The phrase 'with its findings' adds a small hint about return content, but the description says nothing about auth scope, whether a missing/incomplete diagnosis errors, or whether findings can be empty. Adequate but thin against a lower annotation bar.

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 front-loaded sentence with no filler; verb and resource come first and 'with its findings' is the only qualifier. It is efficient, though the extreme brevity is arguably under-specification rather than tight editing.

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, the description should describe the returned structure beyond 'findings', and with 0% parameter coverage it should at least hint where the three required IDs come from. For a read tool keyed on three opaque identifiers, the one-line description leaves too much unexplained.

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?

All three parameters (projectId, siteId, diagnosisId) are required with 0% schema description coverage, so the description carries the full burden of explaining them. It adds nothing about their format, source, or relationship (e.g., that diagnosisId comes from list_seo_diagnoses or start_seo_diagnosis), leaving the agent to guess.

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 (read) and resource (one traffic drop diagnosis), and the word 'one' plus 'findings' distinguishes it from the plural sibling list_seo_diagnoses and the producer start_seo_diagnosis. It is clear without needing the schema, but it never explicitly names a sibling to route between 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?

There is no guidance on when to call this instead of list_seo_diagnoses or after start_seo_diagnosis, nor any mention of prerequisites such as needing a completed diagnosis. The single-diagnosis framing implies usage but states nothing explicitly.

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

get_seo_healthGet SEO healthC
Read-only
Inspect

Read the latest search health report and open alerts for a website.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered by structured data. The description adds that it returns the *latest* report plus *open* alerts, which is useful freshness/scope context, but says nothing about what happens when no report exists or how alerts are scoped.

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 front-loaded sentence with zero filler. It is efficient, though its brevity is partly under-specification rather than disciplined conciseness.

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 two-required-ID tool with no parameter descriptions, no output schema, and several near-neighbor tools, the description leaves too much unstated: what the report contains, what an 'alert' is, and how this differs from get_seo_diagnosis or get_search_performance. The annotations cover safety, but the surrounding context is not filled in.

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 neither of the two required parameters (projectId, siteId) is documented in the schema. The description's 'for a website' loosely gestures at siteId but never explains the project-vs-site distinction or the required ID formats, so it fails to compensate for the coverage 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?

States a specific verb and resource — reading a search health report plus open alerts for a website — which is clearer than a generic 'get health' label. However, it offers no differentiation from the dense sibling set (get_seo_diagnosis, get_search_performance, analyze_site), so an agent cannot confidently pick it over those from the text alone.

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 when-to-use guidance, no prerequisites, and no alternative named. With siblings like get_seo_diagnosis and get_search_performance covering adjacent ground, the absence of routing guidance is a real gap.

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

get_site_profileGet the site profileB
Read-only
Inspect

Read what Ranklybee knows about a website: positioning, audience, products, competitors, and the latest analysis job.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds useful context about what the response contains (positioning, audience, products, competitors, latest analysis job), but says nothing about auth/scope requirements or staleness of the data. With annotations carrying the safety burden, a 3 is appropriate.

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

Conciseness5/5

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

A single front-loaded sentence with the verb and resource leading, followed by a compact enumeration of returned fields. Every clause earns its place and there is 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 read-only getter with two required IDs and no output schema, the description conveys what data comes back well enough to call it. It lacks parameter-level explanation (projectId vs siteId) and any note on what "latest analysis job" implies, which leaves a small 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 description coverage is 0% for two required parameters. The description's phrase "about a website" loosely gestures at siteId but never mentions projectId or explains the relationship between the two identifiers. With low schema coverage the description is expected to compensate, and it 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?

States a specific verb ("Read") and resource ("what Ranklybee knows about a website") and enumerates the profile contents (positioning, audience, products, competitors, latest analysis job). It is clearly a getter, distinct from the write-side update_site_profile, though it does not differentiate itself from other read siblings like get_seo_health or get_seo_diagnosis.

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?

Usage is only implied — read this when you need the stored site profile. No explicit when-to-use, when-not-to-use, or alternative tool is named (e.g., update_site_profile for changes, analyze_site to refresh the analysis job). Adequate but leaves routing to inference.

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

import_article_keywordsSave article keywordsCInspect

Save keywords to the website's keyword list without scheduling articles for them.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
phrasesYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations declare write (readOnlyHint=false) but non-destructive, and the description usefully clarifies the side effect it does NOT cause (no article scheduling). It says nothing about permission requirements, what happens to duplicate keywords, or the ordering/response of the batch beyond what annotations cover.

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 tightly worded sentence with the operative constraint front-loaded; no filler. It is arguably too terse given what it must carry, but there is no wasted verbiage.

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 write tool with no output schema and 0% parameter documentation, the description leaves too much unstated: no auth requirements, no duplicate-handling behavior, no note on the 100-item cap, and no routing to add_article_keywords. It is not complete enough for confident 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% across 3 required parameters. The description gestures at 'keywords' (phrases) and 'website' (siteId) but never mentions projectId, and adds no format, limit, or accept/reject semantics 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.

Purpose4/5

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

States a specific verb ('Save') and resource ('website's keyword list') and adds a distinguishing scope note ('without scheduling articles for them'). It does not, however, name the obvious sibling add_article_keywords, so the agent must infer which of the two save-like tools to pick.

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 explicit when-to-use or when-not-to-use guidance. The clause 'without scheduling articles' implies a contrast with a scheduling variant, but the agent is never told which alternative that is (add_article_keywords) or under what conditions this tool is preferred.

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

list_ai_visibility_prompt_runsList runs of an AI visibility promptC
Read-only
Inspect

List the recorded answers for one prompt across AI engines.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNo
fromNo
engineNo
siteIdYes
enginesNo
monitorIdYes
projectIdYes

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already establish read-only, non-destructive, and non-open-world behavior. The description adds no behavioral traits beyond that, such as pagination, ordering, date-range limits, or whether results are complete or sampled.

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 single sentence is front-loaded and free of filler. It is appropriately concise, though its extreme brevity leaves necessary operational details to be inferred.

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?

Given the complexity of seven parameters, three required IDs, date filters, and engine filters, the description is incomplete. It does not explain required inputs or filtering behavior, and no output schema exists to offload return-value documentation.

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 mentions no parameter names or meanings. With seven parameters, including required IDs and date/engine filters, the description fails entirely 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.

Purpose4/5

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

States a specific verb ('List') and resource ('recorded answers for one prompt across AI engines'), which clearly separates it from list_ai_visibility_prompts and run_ai_visibility_prompt. It does not explicitly name alternatives, but the resource distinction is sufficient for an agent to identify its 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?

No when-to-use guidance, prerequisites, or comparison to sibling tools is provided. The description implies a historical review use case but does not state when this tool is preferable to get_ai_response or list_ai_visibility_prompts.

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

list_ai_visibility_promptsList AI visibility promptsC
Read-only
Inspect

List the tracked prompts with visibility, position, and the brands each answer names.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNo
fromNo
engineNo
siteIdYes
enginesNo
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds some useful context by naming what the returned records include (visibility, position, brands each answer names), but it does not disclose pagination, filtering behavior, rate limits, or authorization requirements beyond what annotations provide.

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 efficient sentence with the action front-loaded and no wasted words. It is appropriately sized for the amount of information it attempts to convey.

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 list tool with two required IDs, four optional filters (date range and engine filters), no output schema, and 0% schema description coverage, the description is materially incomplete. It omits required parameters, filter semantics, pagination, and a clear definition of 'visibility' or 'position', so an agent lacks enough context to invoke it correctly without inspecting the schema.

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% across six parameters, and the description supplies no parameter information at all. It does not mention the required projectId/siteId, the optional from/to date range, or the engine/engines filters, leaving all parameter semantics 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 specific verb ('List') and resource ('tracked prompts') and outlines returned fields (visibility, position, brands each answer names). It is clear what the tool does, but it does not explicitly distinguish itself from siblings like list_ai_visibility_prompt_runs or get_ai_visibility_overview.

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, no mention of prerequisites, and no exclusions. The implied use is simply to list prompts, but the description provides no routing information for the many related AI-visibility tools.

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

list_article_keywordsList saved article keywordsB
Read-only
Inspect

List the keywords saved for a website's articles.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds only the scoping notion of "saved for a website's articles"; it says nothing about return size, pagination, or ordering, so it stays at minimum viable.

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 efficient sentence, front-loaded with the verb and resource. Nothing is wasted, though it is arguably too terse for a tool with two undocumented parameters.

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?

Annotations cover the read-only safety profile and there is no output schema, so return values need not be explained. But for a two-parameter list tool with 0% schema coverage, the description leaves the parameters and the list-vs-search distinction entirely unaddressed.

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 nothing about the two required parameters (projectId, siteId) – not their format, hierarchy, or relationship. It only loosely implies that siteId maps to "a website." The description fails to compensate for the total documentation 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?

Specific verb ("List") plus resource ("article keywords") with a clear scope ("saved for a website's articles"). It does not, however, distinguish itself from close siblings like search_article_keywords, import_article_keywords, or add_article_keywords, which the agent must infer.

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 when-to-use guidance, prerequisites, or alternatives are given. The agent gets no signal on how this differs from search_article_keywords (which would be the natural confusion point).

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

list_articlesList articlesA
Read-only
Inspect

List a website's articles, newest first, with their state and publication. Each item is large, so pass a small limit such as 10 and page with offset.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
searchNo
siteIdYes
projectIdYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuinely non-obvious behavior: results are sorted newest-first and each item is a heavy payload, which justifies small page sizes. It omits rate limits and the max limit/default of 100.

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, front-loaded with what the tool returns and immediately followed by the one operational constraint that matters. No 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?

With no output schema and 0% schema description coverage across five params, the description covers ordering, payload weight, and pagination but leaves search filtering and the required projectId/siteId requirements unexplained.

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% for five parameters, so the description must carry the load. It meaningfully explains limit and offset (use a small limit, page with offset) but says nothing about search, projectId, or siteId, leaving the actual filtering capability 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?

States a specific verb and resource ('List a website's articles'), plus ordering ('newest first') and the returned fields ('state and publication'). It does not explicitly distinguish itself from siblings like get_article or list_article_keywords, but 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?

Gives concrete operational advice on how to call it ('pass a small limit such as 10 and page with offset'), which implies the usage pattern, but never states when to choose this over get_article, search_article_keywords, or other list tools.

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

list_cms_connectionsList CMS connectionsC
Read-only
Inspect

List the CMS connections an article can be published to.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered by structured data. The description adds nothing behavioral beyond scope wording: no pagination, no return shape, no auth constraints, and no note on how projectId/siteId 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.

Conciseness4/5

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

A single front-loaded sentence with no filler or redundancy. It is efficient, though its brevity reflects under-specification rather than disciplined concision.

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?

Two mandatory, undocumented parameters plus no output schema mean the description must carry the load, and it does not: it does not explain the project/site relationship, why both IDs are needed, or what a returned connection looks like.

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 both parameters (projectId, siteId) are required, yet the description never mentions them or explains that the listed connections are scoped by project and site. This leaves the agent to guess at parameter meaning entirely from names.

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) and resource (CMS connections) with an added scope cue ('an article can be published to'). No sibling tool is a near-collision, so an agent can identify it, but the scoping mechanism (project/site) is left implicit.

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 phrase 'an article can be published to' hints at the publishing workflow, but there is no explicit when-to-use statement, no prerequisites, and no alternative named (e.g., list_projects or list_sites). An agent must infer the context entirely.

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

list_contactsList outreach contactsC
Read-only
Inspect

List the people found for outreach, with email verification status.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
searchNo
siteIdYes
sortByNocreatedAt
perPageNo
statusesNo
projectIdYes
sortOrderNodesc
verificationStatusesNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and closed-world, so the safety profile is covered. The description adds only that results carry email verification status; it says nothing about pagination defaults, filtering behavior, or the enumeration values that constrain results.

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 tight sentence with no filler, front-loading the resource. It is efficient but arguably too terse for a 9-parameter tool.

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 nine-parameter, two-enum, zero-coverage-schema list tool with no output schema, the description leaves pagination, filtering, sorting, and required identifiers entirely unexplained. It is not sufficient for an agent to call the tool confidently beyond the trivial case.

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% across 9 parameters, so the description is the only prose source and it explains just one concept (verification status) out of many. It gives no meaning for page/perPage pagination, search, statuses, sortBy, or the required projectId/siteId scoping.

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 and resource ('List the people found for outreach') and adds the notable scope detail of email verification status. It is distinguishable from similar siblings like list_prospects and find_prospect_contact, though it does not name them explicitly.

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

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 versus list_prospects, list_leads, or find_prospect_contact, and no mention of prerequisites such as needing a project and site. The agent must infer usage entirely from the name and required params.

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

list_ctr_opportunitiesList CTR opportunitiesC
Read-only
Inspect

List pages that rank but get fewer clicks than expected.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description usefully defines what an 'opportunity' is, but says nothing about how 'expected' CTR is computed, whether thresholds are configurable, or how results are scoped or paginated.

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, front-loaded sentence with no filler; it communicates the core concept immediately. It is arguably too terse for the gaps it leaves, but nothing in it is wasted.

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, no annotation-level detail on returns, and two undocumented required parameters, the description leaves too much unspecified. It explains the concept of a CTR opportunity but not what the agent receives back or how the results are bounded.

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 siteId or projectId, so it fails to compensate for the documentation gap. The only mitigating factor is that both parameters are self-describing strings with obvious meanings.

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 gives a specific verb+resource plus a crisp domain definition ('pages that rank but get fewer clicks than expected'), which is more than a restatement of the name. It does not, however, differentiate itself from adjacent analytical siblings such as get_search_performance or analyze_site, so an agent cannot route between them from the text alone.

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 explicit when-to-use, when-not-to-use, or named alternative. The phrase 'fewer clicks than expected' hints at an SEO optimization workflow but never states what condition should trigger calling this instead of another list/search tool.

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

list_distribution_campaignsList distribution campaignsC
Read-only
Inspect

List the social distribution campaigns of a website.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that — no pagination behavior, no result ordering, no filtering semantics — so it contributes almost no behavioral context on top of the structured fields.

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

Conciseness4/5

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

A single front-loaded sentence with no waste and no redundancy. It is efficient, though arguably under-specified rather than genuinely concise.

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 list tool with two undocumented required parameters and no output schema, the description omits what is returned, whether results are paginated, and how the parameters constrain the result. It is too thin to let an agent call this 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% for both required parameters (projectId, siteId). The description only vaguely gestures at scoping via 'of a website,' which loosely maps to siteId but says nothing about projectId, so it does not compensate for the schema 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?

States a specific verb (List) and resource (social distribution campaigns) scoped to a website, so the agent knows it is a collection read. It does not, however, distinguish itself from near-siblings like get_distribution_campaign or list_distribution_pages/posts, leaving the agent to infer the difference.

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 when-to-use guidance, no prerequisites, and never names an alternative such as get_distribution_campaign for a single campaign or list_distribution_pages for page-level data. The agent must guess the routing.

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

list_distribution_pagesList pages available for distributionB
Read-only
Inspect

List the website pages that can be turned into social posts.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered without the description. The phrase 'can be turned into social posts' adds a useful eligibility-filter semantic, but nothing about pagination, ordering, or result shape is disclosed.

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, front-loaded sentence with no filler. It is efficient, though the brevity comes at the cost of the detail noted in other dimensions.

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 read-only list tool with no output schema, the description covers the gist but omits what a 'page' is in this domain (CMS-connected site pages?), how projectId/siteId constrain results, and whether results are paginated. Adequate but with clear 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?

Schema description coverage is 0% and both projectId and siteId are required, yet the description never mentions either parameter or how they scope the listing. With two undocumented parameters, the description fails to compensate for the schema 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?

States a specific verb (List) and resource (website pages eligible for conversion into social posts), which implicitly separates it from list_distribution_posts and list_articles. However, it never names a sibling or clarifies the distinction explicitly, so differentiation 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 Guidelines2/5

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

There is no when-to-use guidance and no alternatives named. An agent must guess whether this is the right entry point before atomize_distribution_page or list_distribution_posts, with nothing in the description to route the decision.

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

list_distribution_postsList distribution postsC
Read-only
Inspect

List social posts by campaign, status, or platform.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
platformNo
statusesNo
projectIdYes
campaignIdNo

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds nothing beyond that: no pagination behavior, no result limits, no scoping rules (e.g., whether results are limited to a site or project).

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 short, front-loaded sentence with no filler. It is efficient, though the brevity comes at the cost of the missing detail noted in other dimensions.

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 five-parameter, zero-coverage list tool with no output schema, the description omits the required scope parameters, result shape, ordering, and pagination. An agent could call it, but only by guessing at the required IDs and what comes 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 carry parameter meaning. It names campaign, status, and platform loosely, but never mentions the two required parameters (projectId, siteId), never explains the ten allowed status enum values, and adds no format or semantics beyond the property names.

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) and resource (social posts / distribution posts) plus the dimensions available for filtering. An agent can distinguish it from list_distribution_campaigns and list_distribution_pages by resource, though the description never names those siblings explicitly.

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 mention of campaign/status/platform filters implies a retrieval use case, but there is no guidance on when to prefer this tool over list_distribution_pages, list_distribution_campaigns, or get_distribution_status, and no statement of required scope or prerequisites.

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

list_lead_alert_rulesList lead alert rulesC
Read-only
Inspect

List the rules that notify the user about new leads.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered by structured data. The description adds only the conceptual meaning of a 'rule' (a new-lead notification) but says nothing about result volume, ordering, ownership scope, or whether it returns disabled rules.

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, front-loaded sentence with no filler; the key noun phrase leads. It is lean, though it is lean partly by omission rather than by tight editing.

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 read-only list tool with two undocumented required parameters, no output schema, and no return-shape or pagination notes, the description leaves real gaps. The annotations carry the safety story, but scope, filtering, and result format are entirely absent.

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% for two required string parameters (projectId, siteId), and the description supplies no parameter meaning at all — it never explains that the rules are scoped to a project/site. With the schema silent and 0% coverage, the description should have compensated 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?

Clear verb+resource ('List the rules') with a scoping gloss ('that notify the user about new leads') that distinguishes this from list_lead_keywords or list_lead_icp. However, it does not acknowledge the sibling operations create_lead_alert_rule, delete_lead_alert_rule, or set_lead_alert_rule_status, so an agent must infer the read-only listing role from the name alone.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of alternatives. Nothing tells the agent when to call this versus the create/delete/status siblings or versus other lead-listing tools.

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

list_lead_keywordsList Ranklybee lead keywordsB
Read-only
Inspect

List the monitoring keywords (search phrases and platforms) for a Project.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare this a safe, non-destructive, non-open-world read, so the safety profile is covered. The description adds content-level context — that the listed items are search phrases and platforms tied to a Project — but says nothing about pagination, ordering, or result volume.

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 the resource front-loaded and no filler; the parenthetical clarifying what a 'keyword' contains earns its place rather than padding.

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 whose annotations cover the safety profile, the description is nearly sufficient; it conveys scope and result content. The only gap is that with no output schema, it does not hint at the shape or count of returned keywords.

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% for the single projectId parameter, so the description carries the burden. It implies projectId denotes a Project but never states whether an ID or name is expected or what format it takes, leaving the parameter only partially clarified.

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') and resource ('monitoring keywords (search phrases and platforms)') scoped to a Project, which clearly distinguishes it from list_articles, list_leads, and similar siblings. It does not, however, explicitly disambiguate from the adjacent list_outreach_keywords / list_article_keywords tools, so it falls 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 when-to-use context, no prerequisites, and never names an alternative or exclusion. An agent must infer usage purely from the name and resource noun.

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

list_leadsList Ranklybee leadsB
Read-only
Inspect

List scored leads for a Project, newest first. Filter by tier (hot, warm, explore), stage, platform, or text. Each lead has the evidence quote that shows the buying intent and a link to the original post.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
siteIdNo
filtersNo
projectIdYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare this is a safe read (readOnlyHint=true, destructiveHint=false, openWorldHint=false). The description adds genuine context beyond them: the newest-first ordering and the fact that each lead carries an evidence quote and a source link. It says nothing about pagination behavior, which for a list tool is a notable omission.

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 tight sentences, front-loaded with the core purpose before the filter list and return details. Every sentence carries information; no filler. It could be marginally denser by folding pagination into the same space, but the structure is sound.

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?

There is no output schema, and the description does helpfully describe the return shape (evidence quote plus original-post link), which is a plus. Against a 5-param tool with a nested filters object containing seven undocumented sub-fields, though, it leaves view, icpId, leadType, keywordId, and paging behavior unexplained.

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 carry parameter meaning, and it only names some filter dimensions (tier with its three values, stage, platform, text). It is silent on page, limit, siteId, view, icpId, leadType, and keywordId, leaving several params documented in neither place. It adds partial value but does not compensate for the coverage 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?

States a specific verb and resource ('List scored leads for a Project') plus a scope detail ('newest first'), which lets an agent distinguish it from read-side siblings like get_leads_overview or list_prospects. It stops short of naming the sibling it is not, so it is clear but not fully differentiated.

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 (to browse scored leads, optionally narrowed by tier, stage, platform, or text), giving the agent usable filtering context. However, it never states when to prefer this over get_leads_overview or list_prospects, nor any prerequisites, so guidance is implied rather than explicit.

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

list_linkable_assetsList linkable assetsB
Read-only
Inspect

List the pages the user pitches in outreach.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the semantic framing that these are pages used in outreach pitching, but says nothing about pagination, ordering, or what the list returns — acceptable given the annotation coverage, but thin.

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 short sentence with the resource front-loaded and no wasted words. It is efficient, though the brevity comes partly from leaving substance out rather than from disciplined editing.

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 read-only list tool with no output schema, the description covers the minimum: what is listed. It omits the scoping of projectId/siteId and any sense of the returned shape or filtering, which is the main incompleteness given the 0% schema coverage.

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% for the two required parameters (projectId, siteId), and the description adds no information about them — not their scoping role, format, or interaction. For a tool whose entire input is two undocumented IDs, this is a real 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 pairs the verb 'List' with a concrete resource and explains it in domain terms ('the pages the user pitches in outreach'), which clarifies what a 'linkable asset' is. It does not, however, distinguish this from the closely named sibling save_linkable_asset or from other list_* tools, so an agent must infer the boundary.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus alternatives such as save_linkable_asset, list_distribution_pages, or list_prospects, and no prerequisites or context for invocation. The agent gets purpose but no routing guidance.

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

list_mentionsList mentionsC
Read-only
Inspect

List collected posts that matched a keyword, including brand mentions that are not leads.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
sortNorecent
dateToNo
ordersNo
searchNo
siteIdYes
purposeNoall
sourcesNo
dateFromNo
pageSizeNo
platformNo
scoreMaxNo
scoreMinNo
favoritesNo
keywordIdNo
projectIdYes
sentimentNo
upvotesMaxNo
upvotesMinNo
commentsMaxNo
commentsMinNo
needsResponseNo

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds no behavioral context beyond that — no pagination behavior (pageSize defaults to 24, page to 1), no result-set limits, no auth requirements. With 22 parameters and a read-only annotation, more disclosure was warranted.

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 tight sentence with no filler, and the primary purpose is front-loaded. It is efficient, though its brevity is arguably under-specification rather than true conciseness given the tool's parameter surface.

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 22-parameter, required-projectId/siteId list tool with no output schema and 0% schema description coverage, one sentence cannot give an agent enough to call it correctly. Filtering semantics, defaults, and result shape are left entirely to inference.

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% across 22 parameters, so the description carries full burden and does not meet it. The only faint mappings are 'matched a keyword' (keywordId) and 'brand mentions that are not leads' (the purpose enum), but page, sort, orders, dateFrom/dateTo, sources, platform, sentiment, score/upvotes/comments bounds and favorites are entirely unexplained.

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 clear verb and resource ('List collected posts that matched a keyword') and adds a scoping qualifier ('including brand mentions that are not leads') that helps separate it from list_leads. It never names a sibling tool outright, so the differentiation is implicit rather than explicit.

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 'brand mentions that are not leads' implies when this tool is appropriate versus a leads-oriented sibling, but there is no explicit when-to-use/when-not-to-use statement or named alternative. Usage must be inferred from the content scope.

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

list_outreach_automation_exceptionsList outreach automation exceptionsC
Read-only
Inspect

List the cases the outreach agent stopped on and left for a human.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
statusesNo
projectIdYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds no behavioral context beyond that: nothing about pagination, ordering, what happens when statuses is omitted/empty, or whether resolved exceptions are still 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?

A single front-loaded sentence with no filler and no restating of the tool name. It is efficient, though arguably under-sized relative to the undocumented parameters it leaves behind.

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?

No output schema exists, so the description would need to sketch the return shape (exception entries, their statuses, any pagination) and the default filtering behavior. It provides none of that, leaving an agent unable to predict what comes back or how to narrow the list.

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% for 3 parameters, so the description carries the full burden — and it says nothing about projectId, siteId, or statuses. In particular the statuses array with its five enum values and default of [] is ambiguous (does empty mean all statuses or none?), and the description does not resolve it.

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?

Clear verb+resource (list ... exceptions) plus a plain-language gloss — 'cases the outreach agent stopped on and left for a human' — that tells an agent what an 'exception' actually is. It partially differentiates from the neighbouring list_outreach_automation_runs and get_outreach_automation_overview, but never names them, so the boundary between 'exceptions' and 'runs' must still be inferred.

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 when-to-use guidance, no prerequisites, and no mention of the natural follow-up tool (update_outreach_automation_exception) or of when to prefer this over list_outreach_automation_runs. The agent is left to guess at the workflow context entirely.

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

list_outreach_automation_runsList outreach automation runsC
Read-only
Inspect

List recent runs of the outreach agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

C2.4/5.0
Behavior2/5

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

The annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description only adds the vague notion of 'recent' runs, without stating the time window, pagination behavior, or whether the result set is filtered or limited. It adds little beyond the structured annotations.

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 single sentence is front-loaded with the verb and contains no filler. However, for a tool that requires two mandatory undocumented IDs and has no output schema, the description is under-specified rather than optimally concise.

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 two required parameters with no schema descriptions, no output schema, and only read-only annotations. The description is too thin: it does not explain the parameters, pagination, filtering, or what a 'run' represents, leaving material gaps for an agent to call 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 both projectId and siteId are required but completely undocumented in the schema. The description does not mention either parameter, so an agent has no semantic grounding for what these IDs refer to or how they scope the list.

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 gives a clear verb+resource: 'List recent runs of the outreach agent.' It is not a tautology and tells the agent what the tool returns at a high level. However, it does not distinguish this tool from sibling list/get outreach tools such as list_outreach_automation_exceptions or get_outreach_automation_overview, and 'recent' is left unspecified.

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 provides no when-to-use guidance, no alternatives, and no exclusions. An agent cannot tell from this text whether to call this tool instead of list_outreach_threads, list_outreach_automation_exceptions, or get_outreach_automation_overview.

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

list_outreach_keywordsList outreach keywordsC
Read-only
Inspect

List the keywords used to search for link prospects.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds no behavioral context beyond restating the listing purpose, saying nothing about pagination, result limits, required scope, or whether all keywords are 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 front-loaded sentence with no wasted words, clearly leading with the action and resource. It is efficient, though slightly terse given the two required identifiers.

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 two required identifiers and zero schema parameter descriptions, the description omits what projectId and siteId represent and does not indicate result scope or pagination. Annotations cover safety, but the definition remains incomplete 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?

The schema has 0% description coverage for both required parameters (projectId and siteId). The description does not mention either parameter or explain what they scope, so it fails to compensate for the undocumented required inputs.

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 names a specific verb+resource ('List the keywords') and adds domain context ('used to search for link prospects'), so the agent knows this returns outreach keyword records. It does not explicitly distinguish itself from sibling listers like list_article_keywords or list_lead_keywords, preventing 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?

There is no guidance on when to use this tool versus alternatives such as list_prospects, add_outreach_keywords, or remove_outreach_keyword, and no prerequisites or exclusions are stated. Usage is only implied by the name and purpose.

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

list_outreach_templatesList outreach templatesC
Read-only
Inspect

List the email templates available for outreach.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered structurally. The description adds no behavioral context beyond that — no mention of scoping to a project/site, whether results are paginated, or whether templates are user-created versus system-provided.

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 front-loaded sentence with no filler or redundancy. It is efficient, though the brevity reflects under-specification rather than disciplined economy.

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 two undocumented required parameters and no output schema, the description should carry the burden of explaining scope and result shape, but it does not. For a listing call whose only inputs are unfiltered IDs, this leaves the agent guessing about how to call 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?

Both parameters (projectId, siteId) are required with 0% schema description coverage, and the description never mentions them or explains that the listing is scoped by project and site. The description therefore does not compensate for the schema gap; an agent must infer that these two IDs determine what is returned.

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") and resource ("email templates available for outreach"), which is unambiguous against siblings like create_outreach_template, delete_outreach_template, and update_outreach_template. It does not explicitly name those siblings, so differentiation comes from the verb alone rather than deliberate contrast.

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 call this versus alternatives such as get_outreach_draft_options or list_outreach_threads, nor prerequisites. Nothing indicates that a project/site scope is required to get meaningful results, which is central to using this tool correctly.

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

list_outreach_threadsList outreach threadsB
Read-only
Inspect

List outreach threads in one bucket (ready, queued, sent, or replied) with their draft and latest message.

ParametersJSON Schema
NameRequiredDescriptionDefault
bucketNoready
searchNo
siteIdYes
projectIdYes
starredOnlyNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare this as a safe, non-destructive read. The description adds two useful traits beyond them: results are scoped to a single bucket (no cross-bucket listing) and each thread is returned with its draft and latest message. It says nothing about pagination, volume limits, or ordering.

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, front-loaded with the verb and resource, with the scoping constraint and return content packed in without waste. Nothing is redundant with 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?

No output schema exists, so the description's note about returning drafts and latest messages is helpful, but with 5 parameters at 0% schema coverage and no annotations beyond read-only safety, an agent cannot know what 'search' or 'starredOnly' filter on, nor whether result sets are paginated.

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% across 5 parameters, so the description carries the burden, yet it only addresses 'bucket' (listing its enum values) and says nothing about 'search', 'starredOnly', or the required 'projectId'/'siteId'. Four of five parameters remain undocumented anywhere.

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 and resource ('List outreach threads') plus the scoping dimension (one bucket at a time), and names the four bucket values. It is clearly distinct from siblings like list_prospects or list_outreach_templates, though it never explicitly contrasts 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 'in one bucket' phrasing implies the intended usage pattern and the default bucket ('ready'), but there is no explicit when-to-use guidance, no mention of when an agent should prefer review_outreach_reply or list_prospects instead, and no prerequisites stated.

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

list_productsList catalog productsC
Read-only
Inspect

List the products articles can feature.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo
siteIdYes
projectIdYes

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds nothing beyond purpose — no pagination behavior, ordering, result caps, or filtering semantics — leaving the behavioral picture thin for a listing endpoint.

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 with no filler. Despite being short, every word contributes to identifying the resource and its scope.

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 3-parameter, 2-required listing tool with no output schema and no parameter documentation, the description is too sparse. An agent gets no sense of the result shape, default ordering, or how query/siteId/projectId constrain the listing.

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% for three parameters (query, siteId, projectId), and the description never mentions them. It only hints that products are scoped to something articles can feature, which weakly implies site/project context but does not explain the required IDs or what 'query' matches. It fails to compensate for the coverage 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?

States a specific verb (list) and resource (products) and adds a clarifying scope — products that articles can feature — which distinguishes it from the mutating siblings create_product, update_product, delete_product, and set_product_status. It does not differentiate itself from other read/list tools in the catalog, but the core 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 Guidelines2/5

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

There is no explicit when-to-use guidance, no mention of alternatives, and no prerequisite context. An agent must infer from the name alone that this is the read counterpart to create_product/update_product rather than, say, list_linkable_assets.

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

list_projectsList Ranklybee ProjectsA
Read-only
Inspect

List the signed-in user's Projects with their role and websites. Start here to get a projectId.

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?

Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds value beyond that by disclosing the returned shape (role and websites per project), which is the only place the return contents are described since no output schema exists. It omits pagination or result-limit behavior, which keeps it short of a 5.

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

Conciseness5/5

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

Two tight sentences with zero filler; the scope and return contents come first and the actionable guidance ('Start here to get a projectId') closes. Nothing is repeated from the name or 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?

For a zero-param, read-only listing tool with annotations and no output schema, the description covers purpose, scope, returned fields, and its role as the entry point. Only minor gaps remain (pagination/result limits), which are not critical 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 tool takes zero parameters, so there is nothing for the description to disambiguate and it cannot mislead about inputs. Baseline 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.

Purpose4/5

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

States a specific verb ('List'), an explicit resource ('the signed-in user's Projects'), and even what each entry carries ('role and websites'). It is clear on its own, though it does not explicitly distinguish itself from near-neighbors like list_sites or list_backlink_submission_projects, leaving that routing to the agent.

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?

'Start here to get a projectId' gives concrete, actionable context: this is the entry-point call whose output feeds downstream tools. It does not name any alternative or a when-not condition, but for a zero-argument entry tool with no direct sibling equivalent, the guidance is strong.

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

list_prospectsList outreach prospectsB
Read-only
Inspect

List link prospects with scores, status, and contact. Filter by status, keyword, or Domain Rating.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
searchNo
siteIdYes
sortByNodomainAuthority
contactNoany
keywordNo
perPageNo
pageTypeNo
statusesNo
projectIdYes
sortOrderNodesc
sourceModeNo
sourceJobIdNo
maxDomainRatingNo
minDomainRatingNo
competitorDomainNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds useful context about the returned content and filter dimensions, but says nothing about pagination (page/perPage exist) or result limits, so it only modestly exceeds the annotations.

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

Conciseness4/5

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

Two tight sentences with the purpose front-loaded and filters second; no filler. Brevity works against completeness here, but as a structure/conciseness measure it is 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?

For a 16-parameter tool with no output schema and no per-parameter documentation, the description is far too thin. It omits pagination behavior, sort controls, source-mode branching and the required scope identifiers, leaving an agent unable to call it correctly beyond the simplest case.

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% across 16 parameters, so the description carries the full burden. It only gestures at three filter axes (status, keyword, Domain Rating) and leaves sortBy, sortOrder, pageType, contact, sourceMode, sourceJobId, competitorDomain, pagination and the required projectId/siteId entirely unexplained.

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') and resource ('link prospects') and adds what the records contain (scores, status, contact). It is clear on its own, but it never distinguishes itself from adjacent siblings such as list_leads or get_prospecting_summary, so an agent must still infer which prospect/lead listing is correct.

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 'Filter by status, keyword, or Domain Rating' clause implies how the tool is used but gives no when-to-use, when-not-to-use, or alternative-tool guidance. Nothing tells the agent whether this or list_leads should be called for a given outreach query.

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

list_seo_changesList logged SEO changesB
Read-only
Inspect

List the on-page changes logged for a website and their measured effect.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds that entries include a 'measured effect', which is useful content context, but says nothing about ordering, date ranges, limits, or whether results are scoped per site or project.

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 front-loaded sentence that names the verb, resource and scope with no filler. It is lean, though the leanness comes at the cost of the missing detail noted elsewhere.

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 both parameters undocumented, an agent must guess what siteId/projectId accept and what a 'measured effect' looks like in the response. For a two-parameter list tool the description is workable but clearly under-specified.

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 neither siteId nor projectId carries any description. The phrase 'for a website' loosely maps to siteId but leaves projectId unexplained and does not say what identifies a change record. The description does not compensate for the schema 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?

Specific verb 'List' plus the resource 'on-page changes logged for a website', and it adds scope with 'their measured effect'. It is clearly a read of logged changes, distinguishable from the write-side sibling log_seo_change, though it never names that 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?

Usage is implied: retrieve the log of changes already recorded for a site. There is no explicit when-to-use statement, no mention of the log_seo_change counterpart that produces these entries, and no guidance on filtering or pagination.

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

list_seo_diagnosesList traffic drop diagnosesC
Read-only
Inspect

List the traffic drop diagnoses run for a website.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, covering the safety profile. The description adds only that the diagnoses were 'run for a website', with no pagination, ordering, freshness, or return-shape context beyond what annotations provide.

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 with no wasted words. It is appropriately sized for a simple list operation and every part of the 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?

The tool is simple and read-only, so annotations and the schema carry much of the load. However, with no output schema and zero parameter descriptions, the definition does not explain what a diagnosis contains or how projectId/siteId should be supplied, leaving clear gaps for 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% for two required parameters. 'For a website' loosely hints at siteId, but projectId is never mentioned, and neither parameter is explained in the description. With low 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?

States a specific verb ('List') and resource ('traffic drop diagnoses'), with scope ('run for a website'). It clearly differs from siblings like get_seo_diagnosis (singular fetch) and start_seo_diagnosis (run new), though it does not name those alternatives explicitly.

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 when-to-use or when-not-to-use guidance, no prerequisites, and no mention of alternative tools such as get_seo_diagnosis or list_seo_changes. The agent must infer context entirely from the name and title.

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

list_sitesList a Project's websitesA
Read-only
Inspect

List the websites in a Project. Most tools need a siteId from this list.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYes

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, covering the safety profile. The description adds the project-scoping trait (websites in a Project) but does not disclose return format, pagination, auth, or error behavior; with annotations carrying the safety burden, this is minimal added 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?

Two short sentences, front-loaded with the core action; the second sentence adds high-value usage context. Nothing extraneous.

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

Completeness4/5

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

For a simple read-only list with one required parameter and annotations covering safety, the description gives enough to call it and explains why it matters downstream. It omits return shape and pagination details, but those are minor for this complexity level.

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 single projectId parameter has 0% schema description coverage, so the description must compensate. Saying 'in a Project' signals that projectId identifies the project, but it adds no format, source, or example beyond the property name, leaving the parameter 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 states a specific verb ('List') and resource ('websites in a Project'), scoping it to a project's sites. This distinguishes it from sibling list_* tools for other resources like articles or backlinks, 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 provides clear context that this list supplies the siteId most other tools require, telling the agent when this tool is needed. It does not name when not to use it or an alternative tool, so it falls short of full when/when-not guidance.

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

log_seo_changeLog an SEO changeCInspect

Record a change made to a page so its effect on search performance is measured.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
noteNo
afterNo
beforeNo
siteIdYes
pageUrlYes
changedAtNo
projectIdYes
confirmStackedNo

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so 'record' is consistent with a non-destructive write. However, the description adds nothing further: it never explains confirmStacked (which implies stacked/bundled changes need confirmation), the before/after capture behavior, or any auth/rate constraints.

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 front-loaded sentence with no filler, and the purpose clause is placed last for impact. It is efficient, though arguably too terse for a 9-parameter mutation tool.

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 write tool with 9 parameters, no output schema, and 0% schema coverage, the one-sentence description leaves too much undocumented. Critical semantics such as what before/after contain and what confirmStacked gates are absent.

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% across 9 parameters, so the description must carry the burden and largely does not. Only a loose mapping to pageUrl ('a change made to a page') is inferable; kind, before, after, note, changedAt, projectId, siteId, and confirmStacked are all unexplained.

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 (record/log) and resource (a change made to a page), and adds the downstream purpose (measuring search performance effect). The name and sibling 'list_seo_changes' make read vs write distinguishable, but the description never names the sibling to reinforce the contrast.

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 stated purpose ('so its effect on search performance is measured') implies why you would log a change, but there is no explicit when-to-use, when-not-to, or reference to alternatives such as list_seo_changes. Usage is only implied.

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

mark_outreach_lostMark an outreach thread as lostCInspect

Close an outreach thread that did not earn a link.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
siteIdYes
threadIdYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare a non-read-only, non-destructive, closed-world mutation, so the safety profile is covered. The description adds that the thread must not have earned a link, but says nothing about reversibility, whether it terminates an active sequence, or auth requirements. With annotations carrying the safety burden, this is adequate but thin.

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 front-loaded sentence with the verb and resource leading and zero filler. It is well-structured, though arguably too terse given the gaps elsewhere.

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 state-mutating tool with 4 undocumented parameters and no output schema, the description should at least explain what closing accomplishes and what happens to the thread afterward. It omits reversibility, side effects, and any parameter meaning, leaving meaningful 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?

Schema description coverage is 0% across 4 parameters, so the description carries the full explanatory burden — yet it mentions no parameter at all. The ID fields are inferable from their names, but the optional 'reason' field (why the thread is lost) is entirely unexplained in both schema and description.

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 verb 'Close' plus the resource 'an outreach thread' and the qualifying condition 'that did not earn a link' state exactly what the tool does, and the condition implicitly distinguishes it from the sibling mark_outreach_won. It doesn't name that sibling explicitly, but an agent can still route correctly.

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 when-to-use guidance, no mention of prerequisites, and no reference to alternatives such as reopen_outreach_thread or mark_outreach_won. The only usable signal is the implicit 'lost' condition, leaving usage largely to inference.

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

mark_outreach_wonMark an outreach thread as wonCInspect

Record that the outreach earned a link and start tracking that backlink.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
threadIdYes
projectIdYes
sourceUrlYes
targetUrlYes
expectedAnchorNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the agent knows this is a safe, non-destructive write. The description adds meaningful context that the call has a side effect beyond the thread state change ('start tracking that backlink'), but omits whether the action is reversible, what state the thread must be in, and what happens on a repeat call.

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 front-loaded sentence with no filler or repetition. However, for a 6-parameter write tool the terseness edges toward under-specification rather than disciplined brevity.

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?

A mutation tool with five required parameters, 0% schema description coverage, and no output schema needs the description to explain inputs and effects. It conveys only the high-level intent and leaves parameter meaning, preconditions, and the tracking side effect largely unexplained.

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% across 6 parameters, so the description carries the full burden and fails to explain any of them. It vaguely implies a thread and a link but never clarifies what sourceUrl, targetUrl, or the optional expectedAnchor mean or how they relate to the tracking it starts.

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 ('Record') and outcome ('the outreach earned a link and start tracking that backlink'), making it clear this is the win-terminal action for an outreach thread. It doesn't explicitly name its counterpart mark_outreach_lost, so sibling differentiation is left to the tool name rather than the text.

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 call this versus alternatives such as mark_outreach_lost or reopen_outreach_thread, and no stated preconditions (e.g., thread must be in an active state). Usage is only implied by the word 'won'.

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

move_ai_visibility_promptsMove prompts to a topicBInspect

Move prompts into a topic, or pass topicId null to ungroup them.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
topicIdYes
projectIdYes
monitorIdsYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare a non-read-only, non-destructive mutation. The description adds real value by explaining the topicId=null ungroup behavior, but omits behavioral details such as batch limits (up to 200 monitorIds), whether moving replaces existing topic assignment, or what happens to prompts already in another topic.

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 front-loaded sentence with no wasted words. It is efficient, though the brevity comes at the cost of omitting useful parameter and batching context.

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 4-required-parameter bulk mutation tool with no output schema and no schema descriptions, the description is too thin. It covers the ungroup case but leaves scoping, batch behavior, and the fate of previously assigned topics unexplained.

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 carry the burden, yet it only clarifies topicId's null semantics. It says nothing about projectId, siteId, or monitorIds (a required array with min 1 / max 200), leaving three of four required 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?

States a specific verb ('move') and resource ('prompts into a topic'), and adds the ungroup variant. An agent can tell it reassigns topic membership, but it does not explicitly contrast with related siblings like update_ai_visibility_prompt or bulk_create_ai_visibility_prompts.

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 one conditional use case (pass topicId null to ungroup), which is helpful, but offers no guidance on when to prefer this tool over update_ai_visibility_prompt or other prompt-management siblings. Usage remains largely implied.

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

move_lead_stageMove a Ranklybee lead to a stageBInspect

Move a lead to to_qualify, to_contact, in_conversation, or closed. This fires any stage-changed automations the user configured.

ParametersJSON Schema
NameRequiredDescriptionDefault
stageYes
leadIdYes
projectIdYes

TDQS

B3.2/5.0
Behavior4/5

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

Annotations only cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false), so the description's disclosure that the call fires the user's stage-changed automations is real added value — a downstream side effect an agent could not learn from structured fields. It does not cover permissions, reversibility, or failure behavior, keeping it below a 5.

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

Conciseness4/5

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

Two tight sentences with the action front-loaded and the side-effect warning following; no filler. Minor waste in re-listing the four enum values that the schema already enumerates.

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 three-required-parameter mutation with annotations covering safety and no output schema, the key behavioral note (automation firing) is present, but the description is silent on permission requirements, what happens if the stage is unchanged, and how projectId/leadId relate. Adequate but with clear 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?

Schema description coverage is 0%, so the description carries the full burden, yet it only restates the stage enum values already present in the schema and says nothing about leadId or projectId — notably how projectId scopes the lead. With three required params and no schema descriptions, the description leaves two parameters semantically 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 specific verb (Move) and resource (lead) plus the destination stages, so the action is unambiguous and clearly distinct from sibling lead tools like dismiss_lead or restore_lead. It stops short of explicitly naming a sibling it is not, and the stage enumeration duplicates the schema enum rather than adding scope information.

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 move a lead versus using dismiss_lead, restore_lead, set_lead_favorite, or update_lead_monitor, nor any prerequisite or state requirement (e.g., legal source stages). The agent must infer usage entirely from the name.

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

pause_distribution_campaignPause a distribution campaignCInspect

Pause a running campaign.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes
campaignIdYes

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, openWorldHint=false, and destructiveHint=false, so the agent knows this is a non-read-only but non-destructive mutation. The description only adds the precondition that the campaign must be running; it does not explain reversibility, side effects, permissions, or what happens if the campaign is already 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 zero waste, which is highly concise. However, for a tool with three required undocumented parameters, it is arguably too thin rather than optimally sized.

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?

Given three required parameters with no schema descriptions, no output schema, and sibling tools that perform related state changes, the description should at least indicate which identifiers are needed or how pausing relates to cancel/resume. It does neither, leaving important context to inference.

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 for three required parameters (projectId, siteId, campaignId), and the description never mentions any of them. It adds no meaning beyond the bare parameter names in the input 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 gives a specific verb (pause) and resource (campaign), and the title/name clarify it is a distribution campaign. It does not distinguish the tool from siblings like cancel_distribution_campaign or resume_distribution_campaign, so it is clear but lacks 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 phrase 'a running campaign' implies the tool should be used when a campaign is currently running, giving minimal prerequisite context. However, it does not explicitly say when to use this versus cancel, resume, or update, and it offers no alternative guidance.

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

prepare_outreach_draftDraft an outreach email automaticallyBInspect

Write a first email to a prospect's contact, letting Ranklybee pick the sender and template. Nothing is sent.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
contactIdYes
projectIdYes
prospectIdYes

TDQS

B3.4/5.0
Behavior4/5

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

Annotations declare a non-destructive, closed-world write; the description goes beyond that by confirming 'Nothing is sent' (no external side effect) and disclosing that sender and template are chosen automatically, which is real behavioral context. It still omits whether a persistent draft record is created or how an existing draft is handled.

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 zero filler; the essential constraint ('Nothing is sent') is placed where it will be read immediately.

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 four-required-parameter write tool with no parameter documentation and no output schema, the description leaves too much unsaid: no explanation of the ID parameters, no prerequisites, and no note on what is produced (draft location/state). Adequate for identifying the tool's intent, insufficient for invoking 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% and nothing in the description explains projectId or siteId, two of the four required IDs. The phrase 'a prospect's contact' weakly implies prospectId and contactId, but half the parameters remain undocumented in both the schema and the description.

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 and resource ('Write a first email to a prospect's contact') and adds a differentiating detail — Ranklybee auto-selects the sender and template. This distinguishes it conceptually from explicit-selection siblings, but it never names create_outreach_draft or regenerate_outreach_draft, so the agent must infer which of the very similar draft tools applies.

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?

'First email' implies the initial-touch use case, implicitly contrasted with send_outreach_follow_up. However, there is no explicit when-to-use-vs-alternative statement covering create_outreach_draft, update_outreach_draft, or regenerate_outreach_draft, and no stated prerequisites (e.g., contact verification).

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

publish_articlePublish an articleBInspect

Publish an approved article to a connected CMS. The article goes live on the user's website, so confirm with the user first.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
assetIdYes
projectIdYes
connectionIdYes
idempotencyKeyYes

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and openWorldHint=true, and the description adds real behavioral context beyond them: that the article becomes publicly live on the user's site and that user confirmation is required beforehand. It does not address reversibility, retry/idempotency behavior, or failure modes, which keeps it out of 5 territory.

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

Conciseness5/5

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

Two short sentences, zero filler, with the action and the safety instruction front-loaded in order of importance. Every sentence carries information the agent needs.

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

Completeness2/5

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

For a write tool with five fully undocumented required parameters and no output schema, the description does not supply enough to invoke it correctly — idempotency semantics, what a 'connection' is, and how failures surface are all unaddressed. Annotations cover the safety profile but not the invocation contract.

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% across five required parameters, so the schema provides no meaning at all. The description only obliquely maps 'article' to assetId and 'connected CMS' to connectionId; projectId, siteId, and especially idempotencyKey are left entirely unexplained despite being required.

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+resource ('publish an approved article') and names the destination ('a connected CMS'), which is enough to separate it from generate_article or update_article. It does not explicitly name the adjacent stage tools (submit_article_for_review, verify_article_publication), so differentiation is implied rather than stated.

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

Usage Guidelines3/5

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

The words 'approved article' imply a prerequisite state and 'confirm with the user first' gives a conditional instruction, so usage is partially implied. However, it never contrasts against the obvious alternatives in the review/verification pipeline, nor says what to do if the article is not yet approved.

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

regenerate_article_fieldsRewrite parts of an articleCInspect

Rewrite the chosen fields of an article with AI.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsYes
siteIdYes
assetIdYes
projectIdYes
idempotencyKeyYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, so the write nature is partly covered. However, the description omits the key behavioral fact that this overwrites existing field content (the very thing an agent needs before calling an AI rewrite), and says nothing about required idempotency, cost, latency, or whether results are staged for review. No contradiction, but thin disclosure for a mutation.

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 short sentence, front-loaded with the verb and resource, with zero filler. It is concise but under-specified rather than economical.

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 five required parameters at 0% description coverage, no output schema, and a non-trivial AI mutation that overwrites content, the one-line description leaves an agent without enough to call it correctly or predict 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 coverage is 0% across five required parameters. The phrase 'chosen fields' gestures at the `fields` array but never explains the enum values (full, title, excerpt, body, meta) or what 'full' implies, and projectId, siteId, assetId, and idempotencyKey are entirely unexplained in both schema and description.

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 names a specific verb (rewrite) and resource (chosen fields of an article) plus the mechanism (with AI), which cleanly separates it from generate_article (full creation) and update_article (manual edit). It stops short of naming those siblings explicitly, so an agent must infer the boundary.

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

Usage Guidelines2/5

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

There is no statement of when to use this versus generate_article, update_article, apply_article_improvement, or regenerate_distribution_post, and no prerequisites or exclusions. The agent gets a purpose but no routing guidance in a tool list crowded with article-mutation siblings.

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

regenerate_distribution_postRewrite a distribution postDInspect

Write a post again with AI.

ParametersJSON Schema
NameRequiredDescriptionDefault
postIdYes
siteIdYes
projectIdYes

TDQS

D1.8/5.0
Behavior2/5

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

Annotations declare write (readOnlyHint=false), non-destructive, and closed-world, so the description is not contradictory. However, it adds no behavioral context - it doesn't say whether the existing post content is replaced (destructiveHint=false suggests it isn't, yet rewriting sounds like replacement), whether it consumes AI credits, or whether the operation is long-running.

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?

It is a single short sentence, but that brevity comes from omission rather than economy - the sentence adds no information beyond the tool name, so it does not earn its place as documentation.

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 three required parameters, no output schema, and terse annotations, the description carries the full burden and delivers essentially nothing about input sourcing, behavior, or results. It is inadequate for invoking this tool 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?

All three required identifiers (projectId, siteId, postId) have 0% schema description coverage, and the description mentions none of them. An agent gets no signal about what these IDs refer to or where to obtain them, so the description fails to compensate for the schema gap.

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

Purpose2/5

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

"Write a post again with AI" essentially restates the name and title (regenerate = write again, distribution post = post) without naming the resource domain or distinguishing it from siblings like edit_distribution_post or regenerate_article_fields. It conveys only that AI is involved.

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 when-to-use guidance whatsoever: it does not say whether this should be preferred over edit_distribution_post, whether it requires an existing post to already exist, or what state the post must be in. The tool name implies a regeneration of an existing post, but the description states nothing.

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

regenerate_outreach_draftRewrite an outreach draftBInspect

Rewrite an unsent draft following an instruction.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
threadIdYes
projectIdYes
instructionYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare this is a non-read-only, non-destructive, closed-world mutation, so the safety profile is covered. The description adds that only unsent drafts are affected, but says nothing about whether the existing draft body is replaced or preserved, whether the instruction is bounded (the schema caps it at 500 chars), or any rate/cost behavior for what is presumably an AI generation call.

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 tight sentence with the action and its two key constraints front-loaded and no filler. It is efficient, though it errs toward under-specification rather than maximal informativeness.

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 4-parameter mutation with no output schema, no parameter documentation and no sibling differentiation, the description leaves too much unresolved: what a successful call returns, whether the prior draft text is overwritten, and what each ID refers to.

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% across 4 required parameters, so the schema gives no meaning at all. The description only alludes to 'instruction'; projectId, siteId and threadId are entirely unexplained, and no format or example for the instruction is offered.

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+resource ('Rewrite ... draft') and adds two useful qualifiers: the draft must be 'unsent' and the rewrite follows an 'instruction'. That is enough to distinguish it from create_outreach_draft, but it never names or contrasts update_outreach_draft, the closest 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 word 'unsent' implies a precondition (an existing draft that has not been sent), which is mild guidance, but there is no explicit when-to-use statement and no routing against update_outreach_draft or prepare_outreach_draft.

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

reject_distribution_postsReject distribution postsCInspect

Reject posts so they are not published.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
postIdsYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the safety profile is partly covered. The description adds the meaningful outcome (posts are withheld from publishing), but says nothing about reversibility, whether rejected posts can be re-approved, or required 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?

A single front-loaded sentence with no filler. It is efficient, though arguably under-specified rather than truly concise.

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 3-required-parameter mutation with no output schema and no schema descriptions, the definition is too thin. It should at least state the effect on the posts' lifecycle, whether the action is reversible, and what the identifiers refer to.

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% for all three required parameters (projectId, siteId, postIds), and the description does not compensate. Only postIds is loosely implied by 'posts'; projectId and siteId are entirely undocumented and the 200-item array limit is unexplained.

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 ('Reject') and resource ('posts') plus the effect ('not published'). It does not name the obvious sibling approve_distribution_posts, but the action 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?

No when-to-use guidance, no prerequisites, and no mention of the inverse tool approve_distribution_posts. The agent must infer that this is the counterpart to approval.

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

reject_prospectReject a prospect or block its domainAInspect

Reject one prospect, or block its whole domain from future discovery (a reason is required to block).

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
decisionYes
projectIdYes
prospectIdYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only supply a safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false), so the description carries the burden of describing effect and does add real context: blocking affects future discovery of the entire domain, and blocking requires a reason. It omits reversibility (an unblock tool exists) and any 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?

A single front-loaded sentence covering both operating modes and the one hard constraint, with zero filler. Nothing could be removed without losing meaning.

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 mutation tool with annotations covering the safety profile and no output schema to explain, the description covers both branches of the operation and the reason requirement. Gaps remain around reversibility of the domain block and whether the prospect record is retained, but nothing essential to invoking the tool correctly 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?

Schema description coverage is 0%, and the description only illuminates the 'decision' parameter (reject vs block, reason required for block) — which largely restates the schema's oneOf required fields. projectId, siteId, and prospectId receive no explanation of what they identify or how to obtain them.

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 ('reject one prospect') plus a second mode ('block its whole domain from future discovery'), so the dual behavior of the tool is evident. It does not explicitly name or contrast with the sibling that reverses the block (unblock_prospect_domain), 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 Guidelines3/5

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

It gives a conditional hint ('a reason is required to block'), which tells the agent which branch needs what, but there is no explicit guidance on when to reject a single prospect versus blocking the whole domain, and no named alternatives. Usage is implied rather than prescribed.

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

remove_article_keywordsRemove saved article keywordsC
Destructive
Inspect

Remove keywords from the website's saved keyword list.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
phrasesYes
projectIdYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=false, so the safety profile is covered structurally and the description does not contradict it. However, the description adds no behavioral context beyond the annotations: it does not say whether removal is permanent, what happens to phrases not present in the list, or whether confirmation is needed.

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 front-loaded sentence with zero filler. Sizing is appropriately tight, though its extreme brevity leaves room the description could have used for scope and behavior.

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 destructive, three-parameter mutation tool with no output schema and no parameter documentation, the description is too thin. It omits which site/project scope applies, what constitutes a successful removal, and any interaction with the add/import/list keyword siblings.

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% for all three required parameters (projectId, siteId, phrases). The description mentions 'keywords,' loosely gestures at 'phrases,' but explains nothing about project/site scoping or the array-of-strings format, so it fails to compensate for the coverage 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?

States a specific verb (remove) and resource (keywords from the website's saved keyword list), which clearly distinguishes it from add_article_keywords, list_article_keywords, and search_article_keywords by action alone. It does not name any sibling explicitly, but the verb difference 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?

There is no when-to-use guidance, no mention of alternatives (e.g., add_article_keywords for the inverse operation), and no prerequisites or exclusions. The action implies use, but nothing tells the agent when removal is the right call versus re-importing or listing.

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

remove_outreach_keywordRemove an outreach keywordCInspect

Remove one prospecting keyword.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
keywordIdYes
projectIdYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false and openWorldHint=false, and notably destructiveHint=false for a removal operation, but the description adds nothing to clarify this: it does not say whether the keyword is deleted permanently or merely deactivated, whether in-flight outreach referencing it is affected, or what permissions are needed. With annotations carrying the safety profile, the description still contributes zero 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.

Conciseness3/5

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

A single short sentence with no filler, so nothing is wasted, but the terseness here reflects under-specification rather than disciplined conciseness.

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 three-parameter removal tool with no output schema and no parameter documentation, the description leaves the agent without the scoping, reversibility, or side-effect information needed to call 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% across three required parameters (projectId, siteId, keywordId). The word "one" hints that keywordId identifies a single keyword, but the description never explains why both a project and a site id are required or how they scope the deletion.

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 verb+resource pair ("Remove ... keyword") is clear, but the resource is called a "prospecting keyword" while the tool and its siblings (list_outreach_keywords, add_outreach_keywords) use "outreach keyword," so the naming is slightly off. No attempt is made to distinguish it from the adjacent remove_article_keywords or delete_lead_keyword, so an agent must infer scope from the name alone.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool, when not to, or which sibling handles the related cases. The description contains no context or prerequisites at all.

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

rename_ai_visibility_topicRename a prompt topicDInspect

Rename a prompt topic.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
siteIdYes
topicIdYes
projectIdYes

TDQS

D1.8/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is clear. However, the description adds no behavioral context beyond annotations — no information on whether it overwrites the existing name, what permissions are needed, 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.

Conciseness2/5

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

It is a single short sentence, but that sentence is redundant with the tool name and title, so it fails the principle that every sentence must earn its place. This is under-specification rather than effective conciseness.

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?

For a mutation tool with four required identifiers and no output schema, the description is completely inadequate. It omits required context such as scope, permissions, and identity requirements.

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% for all four required parameters (projectId, siteId, topicId, name). The description provides zero parameter information, leaving required identifier semantics completely undocumented.

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

Purpose2/5

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

"Rename a prompt topic" is a tautological restatement of the tool name and title. It states a verb and resource but does not distinguish from siblings like update_ai_visibility_prompt or create/delete_ai_visibility_topic, nor clarify the scope of "topic."

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 when-to-use, prerequisites, or alternatives are provided. The description does not mention required identifiers or when to choose this over update_ai_visibility_prompt or other topic operations.

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

reopen_outreach_threadReopen an outreach threadBInspect

Reopen a thread that was marked won or lost.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
threadIdYes
projectIdYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations declare the tool is not read-only and not destructive, so the mutation safety profile is partly covered. The description adds a useful precondition (thread must be marked won or lost), but it omits side effects such as whether the won/lost status is cleared, whether related automation resumes, and what permissions are required.

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 wasted words. It is efficient, but its extreme brevity leaves no room for structure or supporting 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?

For a three-parameter mutation tool with no parameter descriptions and no output schema, the description is too thin. It gives the purpose and a precondition but does not explain parameter semantics, expected response, or operational side effects an agent would need to call 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?

Schema description coverage is 0% for all three required parameters (projectId, siteId, threadId). The description only says 'a thread', which weakly maps to threadId and leaves projectId and siteId entirely unexplained, failing to compensate for the schema's lack of detail.

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 (reopen) and resource (outreach thread), plus the key condition that the thread was marked won or lost. It clearly differentiates the operation from marking a thread won or lost, though it does not explicitly name sibling 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 phrase 'that was marked won or lost' gives an implicit condition for use: reopen a thread only after it has reached a terminal status. However, it does not state when not to use the tool, what to do if the thread is already active, or how it relates to siblings like mark_outreach_won or mark_outreach_lost.

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

reschedule_content_briefReschedule an article briefCInspect

Move an article brief to another date (YYYY-MM-DD) on the content calendar.

ParametersJSON Schema
NameRequiredDescriptionDefault
planIdYes
siteIdYes
briefIdYes
projectIdYes
scheduledDateYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, covering the safety profile. The description adds nothing beyond that: it doesn't say whether the previous scheduled date is overwritten, whether the brief must be in a particular state (e.g., draft vs. approved) to be rescheduled, or what permissions are required. The '(YYYY-MM-DD)' hint merely restates the schema's date format.

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 front-loaded sentence with no filler; the verb and target land first. It is efficiently written, though for a 5-parameter mutation the brevity borders on under-specification rather than pure conciseness.

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?

A non-read-only mutation with 5 required IDs, zero schema descriptions, no output schema, and no guidance leaves significant gaps. The description should at minimum identify the four required IDs and state what happens to the prior schedule; as written it is not complete enough to invoke 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% across 5 required parameters, so the description must carry the burden and does not. It only touches scheduledDate (and only its format, already encoded in the schema pattern), leaving projectId, siteId, planId and briefId entirely unexplained — an agent cannot tell where these IDs come from or what they scope.

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 (move/reschedule), the affected resource (article brief), and the target attribute (scheduled date on the content calendar), so an agent understands the operation immediately. It never distinguishes itself from near-neighbors like update_content_brief_instructions or decide_content_brief, but no sibling performs the same rescheduling action, so confusion risk is low.

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 when-to-use guidance, no statement of prerequisites, and no mention of alternatives such as update_content_brief_instructions for changing brief content. Usage is only inferable from the name and one-line description.

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

restore_ai_visibility_brandRestore an excluded brandBInspect

Bring an excluded brand back into competitor comparisons.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes
normalizedNameYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the agent knows this is a non-destructive internal write. The description adds that the operation reverses an exclusion and re-includes the brand in comparisons, but says nothing about idempotency, error behavior for non-excluded brands, or the affected scope of the restoration.

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 eleven-word sentence with no filler and the effect front-loaded. It is efficient, though the extreme brevity borders on under-specification rather than deliberate conciseness.

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 three-required-parameter mutation tool with 0% schema coverage, no output schema, and only safety-hint annotations, the description covers only the high-level intent. An agent gets no guidance on parameter meaning, identifier format, or the outcome of the call.

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% for all three required params (projectId, siteId, normalizedName) with no enums. The description never mentions any parameter, format, or normalization requirement; the word 'brand' only loosely hints that normalizedName is a normalized brand identifier. With full schema silence, the description should be compensating and 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 pairs a specific verb ('bring back', i.e. restore) with a specific resource ('excluded brand') and states the resulting effect ('into competitor comparisons'). It is distinguishable from sibling 'exclude_ai_visibility_brand' by implication, though it never names that counterpart explicitly.

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?

Usage is only implied: the phrase 'an excluded brand' hints the precondition is that the brand is currently excluded, presumably via exclude_ai_visibility_brand. There is no explicit when-to-use, no statement about what happens if the brand is not excluded, and no named alternative.

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

restore_leadRestore a dismissed leadCInspect

Bring back a dismissed lead.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
mentionIdYes
projectIdYes

TDQS

C2/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, so the agent knows this mutates state non-destructively, but the description adds nothing about which stage the lead returns to, whether prior stage/favorite/feedback data is preserved, or whether permissions are required. For a state-restoring mutation with no annotation detail beyond the safety flags, this is a material gap.

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 sentence is short and front-loaded with no filler, but its brevity comes from under-specification rather than economy of expression. Nothing in it is wasted, yet very little is there.

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?

A mutating, three-required-parameter tool with zero schema descriptions and no output schema leaves the agent without the information needed to call it confidently. The description does not compensate for that missing structure.

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% across three required parameters (projectId, siteId, mentionId), and the description mentions none of them. The 'mentionId' identifier for a lead is particularly non-obvious and is left completely unexplained.

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

Purpose2/5

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

The single sentence 'Bring back a dismissed lead' is a paraphrase of the title 'Restore a dismissed lead' and adds no distinguishing detail. It implies the inverse of dismiss_lead but never names it or scopes the action any further.

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 versus dismiss_lead, whether the lead must currently be in a dismissed state, or what happens if it is already active. The agent must infer the invocation context entirely.

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

resume_distribution_campaignResume a distribution campaignCInspect

Resume a paused campaign.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes
campaignIdYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description adds only the 'paused' precondition and does not say what resuming triggers (e.g., email sends, scheduling resumption) or whether costs/quota are consumed — a meaningful gap for a state-changing campaign action.

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 short, front-loaded sentence with no filler or repetition. It is efficient, though its brevity is under-specification rather than true conciseness, which is reflected in the other dimensions.

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 mutating tool with three undocumented required params, no output schema, and easily confused siblings (activate/pause/cancel/update_distribution_campaign), the definition is missing critical context. It does not establish the difference between resume and activate or describe the resulting campaign state.

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?

All three required parameters (projectId, siteId, campaignId) have 0% schema description coverage, and the description says nothing about them. It neither explains the ID formats nor which scope each ID identifies, so an agent gets no help beyond the parameter names.

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 adds the state precondition ('paused') beyond the name, but 'Resume a campaign' is essentially a restatement of the tool name and title rather than a distinguishable verb+resource statement. It does not differentiate itself from siblings like activate_distribution_campaign or pause_distribution_campaign.

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 resume versus activate_distribution_campaign, which sounds nearly synonymous, nor any preconditions (e.g., campaign must currently be paused). The 'paused' state is implied by the word 'resume' but no alternative routing is given.

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

review_outreach_replySend or dismiss a suggested replyCInspect

Act on a reply Ranklybee drafted for an inbound email. action=send emails a real person; get the user's approval first.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
actionYes
siteIdYes
projectIdYes
suggestionIdYes

TDQS

C2.9/5.0
Behavior4/5

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

Annotations already flag readOnlyHint=false and openWorldHint=true, but the description adds genuinely useful context beyond them: that action=send 'emails a real person' and that the user's approval must be obtained first. This is the key irreversible-side-effect caveat an agent needs. It stops short of explaining the dismiss or retry_confirmed_unsent behaviors.

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 tight sentences, front-loaded with the resource and the most consequential behavior (real email + approval). Nothing is padded, though the brevity comes partly from under-specification rather than pure efficiency.

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 five required parameters, a three-value action enum, no output schema, and no schema descriptions, this definition is too thin. An agent cannot confidently map values like retry_confirmed_unsent or know what body should contain.

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 there are five required parameters, so the description carries the full burden — yet it only touches one value of the action enum ('action=send'). projectId, siteId, suggestionId, and body are left entirely unexplained, and the send/dismiss/retry_confirmed_unsent distinction is not clarified.

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's verb is vague ('Act on a reply'), though the title 'Send or dismiss a suggested reply' and the phrase 'reply Ranklybee drafted for an inbound email' together give a usable sense of the resource. It does not clearly differentiate from related tools like update_lead_reply or send_outreach_follow_up, and it never accounts for the third action value, retry_confirmed_unsent.

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 guidance is 'get the user's approval first,' which is an approval precondition rather than when-to-use-vs-alternatives guidance. There is no indication of when to pick send versus dismiss versus retry_confirmed_unsent, and no named alternative tools.

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

review_page_snippetReview a page's search snippetC
Read-only
Inspect

Fetch a page and review its title and meta description against the queries it ranks for.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
pageUrlYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds that a fetch happens and that the comparison is against ranking queries, which is useful context, but it says nothing about latency, pagination, or what the review produces.

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 efficient sentence with the action and target front-loaded. No wasted words, though it is arguably too terse for a tool with three undocumented required parameters.

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?

No output schema exists, so the description carries the burden of explaining what the review returns (snippet issues, suggested rewrites, etc.), and it does not. Combined with 0% parameter coverage, an agent lacks what it needs to call this 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% and all three parameters (projectId, siteId, pageUrl) are undocumented in both schema and description. The description gestures at a 'page' but never maps to pageUrl/siteId/projectId or explains what form pageUrl takes. It fails to compensate for the coverage 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?

States specific verbs (fetch, review) and a specific resource (a page's title and meta description relative to its ranking queries). It is clearly distinguishable from inventory/list siblings. It does not, however, name any sibling to contrast with.

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 when-to-use or when-not-to-use guidance. The agent cannot tell from the text when to pick this over get_search_performance or list_ctr_opportunities, which also concern query/page performance. Usage is only implied by the verb 'review'.

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

run_ai_visibility_promptRun an AI visibility prompt nowBInspect

Ask the AI engines one tracked prompt now and record the answers.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
monitorIdYes
projectIdYes
idempotencyKeyYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and openWorldHint=true, so the agent knows this writes state and reaches external AI engines. The description adds that answers are 'recorded', implying a persisted run record, but says nothing about cost, latency, rate limits, or what happens if the same prompt is run repeatedly.

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 with no filler; the action and its effect are stated immediately and nothing is repeated from the structured 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 non-read-only tool with four required, undocumented parameters and no output schema, the description is too thin: it does not explain how to specify the prompt, the role of the idempotency key, or what the recorded result looks like.

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% across four required parameters (projectId, siteId, monitorId, idempotencyKey). The phrase 'one tracked prompt' loosely implies the monitorId identifies the target, but idempotencyKey, whose behavior is the most consequential, is entirely unexplained in both schema and description.

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 concrete action on a concrete resource: ask AI engines one tracked prompt and record the answers. This clearly separates it from configuration siblings like create_ai_visibility_prompt or update_ai_visibility_prompt, but it never names those siblings or explicitly contrasts the execution semantics with list_ai_visibility_prompt_runs.

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 word 'now' hints at on-demand execution, but there is no explicit when-to-use guidance, no prerequisites, and no mention of alternatives such as bulk_create_ai_visibility_prompts for multiple prompts or list_ai_visibility_prompt_runs for checking prior results.

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

run_lead_scanScan for leads nowBInspect

Search the monitored platforms now and score what is found. Uses the plan's lead scan allowance.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, openWorldHint=true, destructiveHint=false, covering the safety profile. The description adds a genuinely non-obvious behavioral trait the annotations do not: the call consumes the plan's lead scan allowance, which is important quota/billing context for an agent deciding whether to fire it.

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 followed by the resource-consumption caveat. Very little waste, though there is no room left for the scoping or return-behavior detail an agent would need.

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 an open-world, non-read-only operation with no output schema and undocumented parameters, the description covers the essentials (on-demand scan, quota impact) but omits whether the scan is synchronous, what it returns, and how siteId/projectId scope the monitored platforms. Adequate but with clear 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?

Schema description coverage is 0% for both required parameters, so the description carries the full burden and provides nothing on siteId or projectId format, scoping, or provenance. The names are self-explanatory, which keeps this above a 1, but there is no added semantic 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?

States a specific verb+resource pair: search monitored platforms and score the findings, which is clearly a lead scan rather than a retrieval like list_leads or get_lead. It does not explicitly differentiate itself from neighbouring discovery/scan siblings such as start_prospect_discovery, 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 Guidelines3/5

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

'now' implies an on-demand, immediate execution as opposed to scheduled monitoring, which is the only usage cue. There is no explicit statement of when to prefer this over start_prospect_discovery or the lead-alert-rule tools, so usage is only implied.

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

save_linkable_assetSave a linkable assetCInspect

Add or update a page worth pitching, with what makes it link-worthy.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
typeYes
titleYes
siteIdYes
summaryYes
projectIdYes
uniqueValueYes

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the write-but-non-destructive profile is covered. The description adds the upsert nuance ('add or update'), which is genuinely useful context beyond the annotations, but says nothing about what an update overwrites, auth requirements, or rate limits.

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 front-loaded sentence with no filler or repetition. It is efficient, though its terseness at 0% schema coverage is part of the completeness problem rather than a structural flaw.

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 7 required, entirely undocumented parameters and no output schema, the description is far too thin. Missing parameter semantics and missing routing guidance leave an agent without what it needs to call this correctly versus its siblings.

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% across 7 required parameters, and the description names none of them beyond a vague gesture at 'what makes it link-worthy' (the uniqueValue field). It fails to compensate for the coverage gap: url, type enum, summary, title, projectId, and siteId are all unexplained in both schema and description.

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 verb (add/update, i.e. upsert) and resource (a linkable asset, described as 'a page worth pitching') are present, so the core action is inferable. However, 'worth pitching' and 'link-worthy' are colloquial restatements of 'linkable asset' rather than a precise explanation, and nothing distinguishes it from siblings like add_backlink or create_backlink_submission.

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 when-to-use guidance, no prerequisites, and no alternatives. 'Add or update' is the only usage signal, implicitly indicating upsert behavior, but which tool to reach for versus the many backlink/outreach siblings is left entirely to inference.

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

schedule_outreachSend or schedule an outreach emailAInspect

Schedule a drafted thread with up to two follow-ups. mode=live emails a real person from the user's mailbox; show the user the exact email and get approval first. mode=simulation sends nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYes
siteIdYes
sendNowNo
threadIdYes
followUpsNo
projectIdYes
idempotencyKeyYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations establish write (readOnlyHint=false), external (openWorldHint=true), and non-destructive. The description adds meaningful context beyond that: live mode emails a real person from the user's mailbox and requires showing the exact email for approval first, while simulation is a true no-op. Gaps remain on idempotency/sendNow 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 tight sentences, action front-loaded, and the highest-stakes detail (live emails a real person, get approval first) is stated early. No 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 7-parameter mutation tool with a 0%-coverage schema and no output schema, the description covers the decisive behavioral facts (approval gate, simulation safety) but omits idempotency and sendNow semantics an agent needs to call it correctly.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must carry parameter meaning. It thoroughly explains the mode enum (live vs simulation) and hints at the followUps cap ('up to two follow-ups'), but leaves sendNow, idempotencyKey, projectId, siteId and threadId unexplained.

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 and resource ('Schedule a drafted thread') and adds scope ('up to two follow-ups'), so the agent knows this schedules an existing thread rather than creating one. It does not explicitly differentiate from close siblings like schedule_outreach_batch or send_outreach_follow_up, so a 4 rather than a 5.

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

Usage Guidelines3/5

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

Explains the mode=live vs mode=simulation choice and adds an approval workflow step for live sends, which is real usage context. However, it never says when to pick this tool over schedule_outreach_batch, send_outreach_follow_up, or stop_outreach_sequence, leaving selection to inference.

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

schedule_outreach_batchSend or schedule several outreach emailsAInspect

Schedule several drafted threads at once. mode=live emails real people; get the user's approval of every email first.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYes
siteIdYes
followUpsNo
projectIdYes
threadIdsYes
idempotencyKeyYes

TDQS

A3.5/5.0
Behavior4/5

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

Annotations only say readOnlyHint=false, openWorldHint=true, destructiveHint=false. The description adds the crucial consequence that mode=live actually emails real people and that explicit user approval is required beforehand — a real external side effect and a workflow constraint beyond the structured fields. It does not mention idempotency behavior or batching limits, hence not a 5.

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

Conciseness5/5

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

Two tight sentences with zero filler; the destructive live-send warning is front-loaded in the second sentence and is the most decision-relevant information in the whole definition.

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 batch irreversible-send tool with no output schema and 0% schema coverage, the description covers the critical safety gate but omits the meaning/handling of idempotencyKey for retries, the followUps scheduling mechanics, and the 100-thread / 2-follow-up limits. Adequate but with clear gaps an agent must guess around.

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% across 6 parameters, so the description carries the full burden, yet it only explains the semantics of 'mode' (live sends real emails). The other five parameters — projectId, siteId, threadIds, idempotencyKey, followUps — receive no meaning, valid ranges, or usage notes in either place.

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 (schedule) and resource (several drafted threads/outreach emails) in one clause, and distinguishes itself from the singular sibling schedule_outreach via 'several ... at once'. It stops short of naming that sibling explicitly, but an agent can still tell batch from single-send.

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?

Gives an important precondition for the live path ('get the user's approval of every email first'), which is effectively a when-you-may-use-this rule. However it never contrasts this tool with schedule_outreach, send_outreach_follow_up, or prepare_outreach_draft, so selection guidance between siblings is left implicit.

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

search_article_keywordsResearch article keywordsBInspect

Look up keyword ideas for a seed phrase with volume, difficulty, and whether each is already in the plan. The ideas are saved to the website's keyword list.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
siteIdYes
projectIdYes

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already flag readOnlyHint=false and openWorldHint=true, but the description adds genuinely useful context: despite sounding like a lookup, the returned ideas are persisted to the website's keyword list. It also names the response fields. It stops short of describing auth needs, rate limits, result counts, or whether existing keywords are overwritten.

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 tight sentences with no filler, and the core purpose is front-loaded. The second sentence about persistence is the most decision-relevant fact and is placed well, though the phrase 'in the plan' is slightly ambiguous about which plan.

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?

With no output schema, the description usefully summarizes the returned fields, and it discloses the write side-effect. However, for a 3-parameter, 0%-coverage tool it leaves the two ID parameters unexplained and says nothing about result volume, cost, or how repeated calls interact with the existing keyword list.

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 carry parameter meaning. It only implies the mapping for 'query' via 'seed phrase'; siteId and projectId are undocumented in both the schema and the description, leaving two required identifiers with no semantics at all.

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 and resource ('look up keyword ideas for a seed phrase') plus the fields returned (volume, difficulty, plan membership), so the agent knows exactly what the tool produces. It does not distinguish itself from near-siblings such as list_article_keywords, add_article_keywords, or import_article_keywords, which is the main clarity gap.

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 explicit when-to-use or when-not-to-use guidance and no alternatives named. The use case is only inferable from the verb phrase 'look up keyword ideas for a seed phrase'; nothing tells the agent whether to prefer this over list_article_keywords or add_article_keywords.

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

select_prospect_contactChoose a prospect's contactCInspect

Set which email address outreach to a prospect goes to.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
siteIdYes
projectIdYes
prospectIdYes
idempotencyKeyYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations only declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, which conveys that it is a local mutation but nothing more. The description does not say whether this overwrites an existing selection, whether the contact must already exist, or what authorization is required for a non-read-only write operation.

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 efficient sentence with the verb front-loaded and zero filler. Its brevity is a virtue structurally, though it comes at the cost of the missing behavioral detail noted elsewhere.

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 output schema and five completely undocumented parameters, so the description should do much more work. As written, an agent lacks the information to call it correctly beyond guessing parameter roles from names.

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% across 5 required parameters, so the description must carry the burden and it barely does. Only 'email' and the prospect concept are implied; projectId, siteId, prospectId, and idempotencyKey are entirely unexplained.

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 ('Set') and resource ('which email address outreach to a prospect goes to'), making the operation understandable. It does not explicitly differentiate itself from the nearby sibling find_prospect_contact, so the agent must infer the read-vs-select distinction from the names alone.

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 when-to-use or when-not-to-use guidance and no mention of alternatives such as find_prospect_contact. The agent gets a purpose statement but no context for choosing this tool over sibling contact/prospect tools.

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

send_outreach_follow_upSend a follow-up or replyBInspect

Send a message in an existing outreach thread from the user's mailbox. Get the user's approval of the exact text first.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
siteIdYes
ccEmailsNo
threadIdYes
projectIdYes
idempotencyKeyYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful context: the message goes from the user's mailbox, targets an existing thread, and requires prior approval of exact text. It does not explain idempotency behavior, cc handling, or failure semantics for what is a real outbound send.

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, front-loaded sentences with no filler; the action is stated before the approval caveat. It is efficient, though for a six-parameter outbound send it is arguably too terse rather than optimally sized.

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 mutating, open-world send tool with five required parameters, no output schema, no enum guidance, and no parameter descriptions. The description omits idempotency semantics, cc behavior, and error/failure handling — significant gaps for an agent that must call it correctly the first time.

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% across six parameters (five required), and the description names none of them. Nothing is said about body constraints, ccEmails, threadId/projectId/siteId targeting, or the purpose of idempotencyKey — which is especially consequential for a send operation that must not duplicate. The description fails to compensate for the coverage 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 states a specific verb and resource: sending a message in an existing outreach thread from the user's mailbox. The 'existing thread' qualifier scopes it usefully against tools that create or prepare drafts. It stops short of naming which sibling (e.g. schedule_outreach) it is not, so it is clear but not sibling-differentiating.

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 only guidance is the workflow instruction to obtain the user's approval of the exact text first, which is helpful but does not address when to use this versus schedule_outreach, prepare_outreach_draft, or review_outreach_reply. Usage is implied rather than contrasted with alternatives.

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

set_ai_sentiment_taskMark an AI sentiment taskBInspect

Mark a suggested sentiment task as done or not done.

ParametersJSON Schema
NameRequiredDescriptionDefault
doneYes
siteIdYes
taskIdYes
projectIdYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare it is a non-read-only, non-destructive mutation, and "done or not done" is consistent with destructiveHint=false (it is a reversible state set rather than a delete). The description adds that both directions are supported, but says nothing about side effects of marking a sentiment task done or any required permissions; with annotations covering the safety profile this is adequate but thin.

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 short sentence that front-loads the action and its two target states. No filler or 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?

For a simple 4-parameter state mutation with annotations and no output schema, the bare sentence is minimally viable, but it omits where the sentiment task comes from and whether an existing query tool must be called first to obtain taskId.

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% across 4 required parameters. The description only maps to the boolean "done"; projectId, siteId and taskId are undocumented in both places, leaving format/source of the IDs to inference.

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 ("Mark") and resource ("suggested sentiment task") plus the state it assigns (done / not done), so the action is unambiguous. It does not explicitly differentiate itself from the sibling read tools (get_ai_sentiment_benchmark/driver/overview), 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 word "suggested" hints the task originates from a suggestion list, but there is no statement of when to call this versus other task/status tools, no prerequisite (e.g. which tool produces the task), and no exclusion guidance.

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

set_ai_visibility_prompt_statusPause or resume an AI visibility promptCInspect

Pause or resume tracking for one prompt.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
statusYes
monitorIdYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already establish this is a non-read-only, non-destructive, closed-world mutation, so the safety profile is covered. The description adds that the operation is scoped to a single prompt and is reversible in nature (pause/resume), but says nothing about whether pausing halts historical run data, cancels in-flight runs, or requires any permission.

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 short sentence with no filler and the key scoping fact ('for one prompt') front-loaded. It is efficient, though the brevity shades into under-specification rather than crispness.

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 four required, undocumented identifiers, no output schema, and no parameter descriptions, the description is too thin. An agent still cannot tell what the three ID parameters require or what the response confirms.

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% across four required parameters, and the description does not compensate. 'Pause or resume' loosely maps to the status enum (active/paused), but projectId, siteId, and monitorId are entirely unexplained, as is which value of status corresponds to which action.

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 pair and resource: 'pause or resume tracking for one prompt.' That distinguishes it from content-editing siblings like update_ai_visibility_prompt and delete_ai_visibility_prompt, though it never names them explicitly.

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 explicit guidance on when to use this versus update_ai_visibility_prompt (edit) or delete_ai_visibility_prompt (remove). The 'pause or resume' framing only weakly implies 'use this for a temporary stop rather than deletion,' and prerequisites are unstated.

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

set_lead_alert_rule_statusPause or resume a lead alert ruleCInspect

Pause or resume one alert rule.

ParametersJSON Schema
NameRequiredDescriptionDefault
ruleIdYes
siteIdYes
statusYes
projectIdYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, and the pause/resume framing is consistent with a non-destructive status flip. However, the description adds nothing beyond the annotations: no confirmation that this is reversible, no permission requirements, no side effects on active leads or deliveries.

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 short sentence with the action front-loaded and no filler. It is efficient, though its brevity is also the source of the coverage gaps rather than a sign of completeness.

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 touching four required identifiers with no output schema and no parameter documentation, the description is too thin. It should at least clarify what ruleId/siteId/projectId refer to and whether the status change is immediately effective.

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 all four parameters (projectId, siteId, ruleId, status) are required but wholly undocumented in both schema and description. The 'pause or resume' wording loosely maps to the status enum, but the three identifier parameters get no explanation of what they must reference.

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 pair ('pause or resume') and resource ('alert rule'), making the operation understandable in isolation. It doesn't distinguish itself from siblings like create_lead_alert_rule, delete_lead_alert_rule, or list_lead_alert_rules, and the title's fuller 'lead alert rule' phrasing is trimmed to 'alert rule'.

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 pause versus resume, no prerequisites, and no routing to alternatives such as delete_lead_alert_rule or list_lead_alert_rules. The agent must infer usage entirely from the name and enum values.

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

set_lead_favoriteStar a leadCInspect

Add or remove a lead from the user's favorites.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
favoriteYes
mentionIdYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description usefully clarifies that the operation is bidirectional (the boolean both stars and unstars) rather than needing two tools, but says nothing about permissions, idempotency, or what happens to a lead that no longer exists.

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, front-loaded with the verb and resource, with no padding or filler. It is efficient, though it is arguably under-specified rather than optimally concise.

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?

A four-required-parameter mutation tool with no annotations covering semantics beyond safety, no output schema, and zero parameter documentation. The description gives no indication of which identifiers are needed or how the toggle behaves, leaving the agent to guess at 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% across four required parameters. The description only gestures at 'favorite' (the add/remove semantics) and leaves projectId, siteId and mentionId completely unexplained in both schema and text, so it does not compensate for the coverage 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?

States a specific verb pair ('add or remove') and the resource ('a lead from the user's favorites'), so the agent knows this is a toggle-style mutation on a lead. It does not name or contrast any sibling (e.g. dismiss_lead, restore_lead, set_lead_feedback), but the purpose itself 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?

No guidance on when to call this versus alternatives, no note that it is the single tool covering both starring and unstarring, and no prerequisites (does the lead need to exist, can a dismissed lead be favorited?). The agent must infer all routing decisions.

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

set_lead_feedbackRate a leadCInspect

Tell Ranklybee whether a lead was a good match so scoring improves.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
feedbackYes
mentionIdYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is known. The description adds that the feedback affects scoring, which is useful context, but it does not describe whether feedback can be changed, any auth requirements, or other 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, front-loaded sentence with no wasted words. It is concise, though its brevity leaves gaps that hurt other dimensions rather than conciseness itself.

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 four required parameters, zero schema descriptions, and no output schema, the description is far too thin. It does not explain what the identifiers are, how to obtain them, or what happens after feedback is submitted, leaving the agent under-equipped 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 all four parameters are required, so the description must compensate by explaining them. It only vaguely maps to the feedback parameter ('whether a lead was a good match') and provides no meaning for projectId, siteId, or mentionId.

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 (provide feedback on a lead's match quality) and outcome (scoring improves), making the tool's basic purpose understandable. However, it does not distinguish this tool from similar sibling tools such as set_lead_favorite, move_lead_stage, or update_lead_reply.

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 explicit guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. The purpose implies it is for feedback on a lead, but the agent receives no routing information among the many lead-related siblings.

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

set_lead_keyword_statusPause or resume a lead keywordCInspect

Pause or resume monitoring for one keyword.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
statusYes
keywordIdYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so safety is largely conveyed structurally. The description adds that the mutation affects *monitoring* for a single keyword, implying a reversible toggle rather than deletion, which is useful context, but it says nothing about side effects, idempotency, or what happens to collected data.

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 tight sentence with the verb pair front-loaded and no padding. It is efficient, though its brevity shades into under-specification rather than genuine economy.

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 four required parameters, zero schema descriptions, and no output schema, the description is far too thin. It never names the status values or explains that project/site/keyword identifiers are all required, leaving an agent to rely entirely on the raw schema.

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 compensates for none of it. It implies a keyword identifier ('one keyword') but never mentions projectId, siteId, or the status parameter, whose active/paused enum values are only discoverable by opening 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?

States a specific action pair (pause/resume) and resource (keyword monitoring), which is clearer than the bare name. It does not, however, differentiate itself from close siblings like update_lead_keyword or delete_lead_keyword, so an agent must still infer which is the right mutation.

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 when-to-use guidance, no statement of prerequisites, and no mention of the alternative tools (update_lead_keyword, delete_lead_keyword) that could plausibly also change keyword state. The agent is left to guess from the tool name alone.

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

set_outreach_automation_statusPause or resume outreach automationBInspect

Pause or resume the outreach agent. While active it finds prospects and sends emails on its own.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
statusYes
projectIdYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=true, so the mutation/safety profile is partly covered. The description adds genuinely useful context that 'active' means autonomous prospecting and email sending, signalling real-world outbound side effects, but omits what happens to already-scheduled or in-flight sends on pause, which is the key behavioral question here.

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 operation, and the second sentence earns its place by explaining the meaning of the active state. No padding or repetition of 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 simple status toggle with no output schema this is roughly adequate, but with 0% parameter coverage and no statement about the effect of pausing on running sequences or queued emails, an agent lacks the detail needed to call it with 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% for three required parameters (projectId, siteId, status). The description never mentions any parameter, nor clarifies that 'resume' maps to status='active' and 'pause' to status='paused' — that mapping is only inferable from the enum 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?

States a specific verb pair and resource: 'Pause or resume the outreach agent', which is unambiguous about the operation. It does not, however, distinguish itself from nearby siblings like stop_outreach_sequence, pause_distribution_campaign, or resume_distribution_campaign, so an agent must infer which control surface each one toggles.

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 when-to-use guidance and no alternatives named. With siblings such as stop_outreach_sequence and pause_distribution_campaign present, the description should say when to pause the automation agent rather than stop a sequence or pause a campaign, but it offers nothing.

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

set_product_statusShow or hide a catalog productCInspect

Set whether articles may feature a product.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
statusYes
productIdYes
projectIdYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the write/non-destructive profile is covered structurally. The description adds almost nothing beyond this — it doesn't explain reversibility, what happens to the product when hidden, or any auth/permission requirements, and its 'articles may feature' wording is loosely aligned with the active/hidden enum rather than clarifying it.

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?

A single short sentence with no wasted words, but the brevity reflects under-specification rather than disciplined conciseness. It is front-loaded but too sparse to earn a higher mark.

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 four required, undocumented parameters and no output schema, the description is far too thin. It neither explains parameter roles nor confirms the effect of the operation, leaving significant gaps an agent would need to call this 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% across 4 required parameters (projectId, siteId, productId, status), so the description carries the full burden of explaining them. It mentions none of them explicitly, offering only the vague phrase 'whether articles may feature a product' which does not clarify the meaning of productId, siteId, projectId, or the status enum values.

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 names a specific verb ('set') and resource ('product'), but 'Set whether articles may feature a product' is a vague framing that doesn't clearly convey the tool's actual behavior of toggling a product's visibility to active/hidden. The title ('Show or hide a catalog product') is clearer than the description itself, and no differentiation from siblings like update_product or delete_product is given.

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 indication of when to use this tool versus update_product, create_product, or list_products, nor any prerequisites or context. The agent must infer intended usage entirely from the name and title.

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

start_prospect_discoveryFind prospects by keywordBInspect

Search the web for link prospects. Runs in the background; poll get_prospect_discovery with the returned job. Uses the plan's prospecting allowance.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalNo
siteIdYes
refreshNo
projectIdYes
selectedKeywordsNo
confirmedKeywordsNo

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already tell the agent this is a non-read-only, open-world, non-destructive operation. The description adds value beyond them by disclosing the asynchronous background execution model, the polling contract via get_prospect_discovery, and the fact that it consumes the plan's prospecting allowance (a quota/cost signal). It omits what happens to prior results or job-expiry 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 tight sentences, front-loaded with the purpose before the async mechanics and the cost note. No filler. Could be marginally denser with parameter hints, but there is no wasted prose.

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?

Coverage of the async lifecycle is solid, and no output schema means return values need not be explained. However, for a six-parameter, zero-schema-coverage tool with no annotations describing parameter effects, leaving every input undocumented makes the definition only partially complete for correct 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% across six parameters (including an enum goal, a refresh flag, selectedKeywords max 10, and confirmedKeywords that requires exactly 2), and the description never mentions a single one of them. The title's "by keyword" offers only a faint hint about keyword input. A description carrying this many undocumented parameters should compensate, and it 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?

States a specific verb and resource ("Search the web for link prospects"), which reads as a distinct action from siblings like list_prospects, add_prospect, and find_prospect_contact. It also implicitly differentiates from get_prospect_discovery by framing itself as the launcher. It does not, however, explicitly name which siblings it should be preferred over.

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 establishes the async usage pattern clearly ("Runs in the background; poll get_prospect_discovery with the returned job"), which is genuinely useful routing information. But it gives no when-to-use vs when-not guidance relative to alternatives such as add_prospect or find_prospect_contact, and no prerequisites beyond the quota note. Implied usage only.

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

start_seo_diagnosisDiagnose a traffic dropBInspect

Analyze a year of search data for the cause of a traffic drop, optionally for a date range (YYYY-MM-DD).

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
rangeEndNo
projectIdYes
rangeStartNo

TDQS

B3.2/5.0
Behavior2/5

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

With readOnlyHint=false and no annotations explaining the side effect, the description should carry the burden of saying what starting a diagnosis does. It never says whether this creates an asynchronous job, how results are later retrieved (get_seo_diagnosis / list_seo_diagnoses), whether it consumes quota, or how long it runs. 'Analyze' reads as passive, but the annotation declares a non-read operation that the description does not explain.

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 stating purpose, default scope, and the optional narrowing parameter. Nothing is wasted and the most important information comes first.

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 non-read, 4-parameter tool with no output schema and 0% schema coverage, the description is too thin. It does not explain the required projectId/siteId scope, whether the call is asynchronous, what it returns or how to fetch the resulting diagnosis, so an agent cannot invoke it confidently end-to-end.

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 does clarify the two optional date parameters (date range in YYYY-MM-DD and the one-year default window), which adds meaning beyond the bare regex pattern, but projectId and siteId — both required — are left entirely unexplained.

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 (analyze) and resource (a year of search data) with a clear goal (find the cause of a traffic drop), so an agent knows what it triggers. It does not explicitly differentiate from close siblings like get_seo_diagnosis or list_seo_diagnoses, leaving the start-vs-retrieve distinction to be inferred from the name.

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?

It gives implicit context by stating the default scope (a year of search data) and the optional date-range narrowing, which helps an agent decide how to call it. There is no explicit when-to-use guidance, no mention of the retrieve-side siblings, and no indication of when a diagnosis should be triggered at all.

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

stop_outreach_sequenceStop an outreach sequenceCInspect

Cancel the remaining emails of a scheduled sequence.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonYes
siteIdYes
projectIdYes
sequenceIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so safety is partly covered. The description adds real value by scoping the effect to "remaining" emails, implying already-sent mail is untouched, but it says nothing about irreversibility, idempotency, or whether the sequence can be resumed.

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 front-loaded sentence with zero filler, and the key effect (remaining emails only) is stated immediately. It is efficient, though arguably too terse for a four-parameter mutation.

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 four required, undocumented parameters, no output schema, and ambiguous siblings, the description leaves critical gaps: what happens to in-flight or sent emails, whether the action is reversible, and what the required reason is for. An agent could invoke it but cannot predict the outcome.

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% for four required parameters, and the description adds no parameter meaning at all. Most notably the required "reason" field (5-500 chars) is undocumented — its purpose, expected content, and whether it is user-facing or audited are left entirely to guesswork.

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?

"Cancel the remaining emails of a scheduled sequence" gives a specific verb (cancel) plus resource and scope, and clarifies that only pending emails are affected. It does not differentiate itself from close siblings such as pause_distribution_campaign, set_outreach_automation_status, or reschedule flows, so the agent must infer the boundary from the name alone.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no statement of preconditions (sequence must still be scheduled), and no named alternative for related cases like pausing versus permanently stopping outreach. The only implied usage is that a scheduled sequence exists.

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

submit_article_for_reviewSubmit an article for approvalCInspect

Send a draft article to the approval step.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
assetIdYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the agent knows this is a non-destructive, closed-world mutation. The description adds the one behavioral fact annotations cannot convey — that the call moves the article into an approval step — but says nothing about resulting state, reversibility, resubmission, or notifications, which is thin for a workflow mutation.

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 front-loaded sentence with no filler or redundancy. It is well-structured, though the extreme brevity for a three-required-parameter workflow mutation means it is arguably undersized rather than optimally concise.

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 output schema, three undocumented required parameters, and no state prerequisites disclosed, the description is too thin. An agent cannot tell from this text what state the article must be in, what the resource identifiers mean, or what the call returns.

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 explains none of the three required parameters. 'Draft article' loosely hints that assetId identifies the article, but projectId and siteId are entirely unexplained and their relationship is never stated, so the description does not compensate for the coverage 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?

States a specific verb (send) and resource (draft article) plus the destination state (approval step), so an agent can tell this is a workflow transition rather than a read or a publish. It does not explicitly distinguish itself from close siblings like approve_article, decide_article, or submit_article_improvement, so it falls 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 when-to-use guidance and no preconditions. It never says the article must be in draft state, that this must precede approval/decision, or how it relates to decide_article/publish_article, leaving the agent to infer everything about routing.

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

submit_article_improvementSubmit an improvement for approvalCInspect

Send a drafted improvement to the approval step.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes
improvementIdYes

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is partially covered. The description adds only that the target is an 'approval step'; it does not say whether submission is reversible, whether it blocks further edits, who approves, or what state the improvement enters afterward.

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 short sentence with no filler and the action front-loaded. It is efficient, though the terseness is under-specification rather than economy of expression.

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 three undocumented required parameters, no output schema, and a workflow that clearly has adjacent sibling steps, this description is too thin. It omits preconditions, lifecycle position, and post-submission state, leaving the agent likely to confuse it with submit_article_for_review or decide_article_improvement.

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?

All three required parameters (projectId, siteId, improvementId) have 0% schema description coverage, and the description supplies no meaning for any of them. It does not explain that improvementId targets a specific drafted improvement within a project/site scope, so the description fails to compensate for the schema 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 names a specific verb (send/submit) and resource (drafted improvement) and indicates the target state (approval step). However, it does not distinguish this tool from close siblings like submit_article_for_review, decide_article_improvement, or apply_article_improvement, so an agent cannot tell which stage of the improvement lifecycle this covers.

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 explicit when-to-use guidance, no stated precondition that an improvement must first be drafted or generated, and no mention of alternatives such as deciding or applying an improvement. The 'drafted' qualifier implies a precondition but leaves it for the agent to infer.

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

suggest_ai_visibility_promptsSuggest AI visibility promptsBInspect

Ask AI for prompts worth tracking for the website. Nothing is tracked until you create them.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes
descriptionNo

TDQS

B3.3/5.0
Behavior4/5

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

Annotations only give readOnlyHint=false, openWorldHint=false, destructiveHint=false; the description adds the genuinely useful behavioral fact that suggestions are ephemeral and nothing is persisted until creation. It omits any auth, cost, or latency context for what is evidently an LLM-backed call, keeping it from a 5.

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

Conciseness4/5

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

Two short sentences, purpose first and the persistence caveat second; no filler. The phrasing 'Ask AI for prompts' is slightly informal/imprecise about what is actually returned, but the structure is sound.

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 0% schema description coverage, the description carries the full burden yet never explains what a suggestion looks like, how many come back, or what the parameters mean. An agent can tell what the tool is for but not enough to call it confidently with correct arguments.

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% across siteId, projectId, and the optional description parameter. The description only loosely gestures at site scoping ('for the website') and says nothing about what the description parameter does or the site/project identification requirements.

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+resource: it asks an AI to produce prompt suggestions for the site's tracking, which is distinguishable from the create/bulk_create/list siblings by the 'suggest' framing. It doesn't explicitly name those alternatives, so it falls 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 Guidelines3/5

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

The clause 'Nothing is tracked until you create them' implies the follow-up step (create/bulk_create), but the description never states when to use this tool versus create_ai_visibility_prompt or list_ai_visibility_prompts. Usage is only implied, not spelled out.

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

suppress_contactStop emailing a contactCInspect

Add a contact to the do-not-email list with a reason.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeYes
reasonYes
siteIdYes
sourceNomanual
contactIdYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, openWorldHint=false, destructiveHint=false, so the agent knows this mutates local state without external side effects. The description adds that the effect is a do-not-email list entry plus a required reason, but omits the crucial behavioral facts: whether suppression is reversible, whether it stops in-flight outreach sequences, and how project vs global scope changes the blast radius.

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 front-loaded sentence with no filler or repetition. It is efficient, though the brevity is partly a symptom of under-specification rather than disciplined editing.

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, 5-required state-changing tool with no output schema and 0% schema coverage, one sentence is far too thin. An agent cannot determine scope semantics, valid reasons/sources, or the consequences of suppression from this definition alone.

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% across 6 parameters, so the description carries the full burden and fails. It mentions only 'reason' and the contact implicitly; scope (project vs global), source (manual/unsubscribe/bounce/complaint/platform_policy), and projectId/siteId are entirely undefined anywhere.

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 action and target: add a contact to the do-not-email list. That distinguishes it from create_contact, verify_contact, and the outreach-sending siblings, though it never names an alternative. The title adds the plain-language framing ('Stop emailing a contact').

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 statement of when to use this versus verify_contact, stop_outreach_sequence, or reject_prospect, and no prerequisites (permissions, required project/site context). The only usage signal is the implied 'reason' requirement.

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

sync_search_consoleSync Search Console nowCInspect

Pull the latest data from Google Search Console.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes
idempotencyKeyYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=true, so the agent knows this is a non-destructive action against an external system. The description adds nothing beyond that: no mention of external API auth, latency/duration, rate limits, or whether the sync is incremental versus full.

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 tight sentence with no filler, front-loaded on the action. Its brevity is efficient but borders on under-specification rather than true conciseness.

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 an action tool with three required parameters, 0% schema coverage, and no output schema, the description is too thin. It omits what the sync returns or affects, how long it takes, and how the required identifiers map to the target site/project.

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% across all three required parameters, so the description carries the full burden and fails to explain projectId, siteId, or the non-obvious idempotencyKey. Only the phrase 'Google Search Console' weakly hints that siteId identifies a GSC property; idempotency semantics (dedupe of repeated syncs) are left entirely unexplained.

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 ('pull') and resource ('data from Google Search Console'), so an agent knows this is a sync/ingest action rather than a pure read. However, it does not distinguish itself from read-oriented siblings such as get_search_performance or get_seo_health, which also surface Search Console data.

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 trigger a sync versus reading existing data via get_search_performance, and no prerequisites or timing advice despite the title implying an on-demand action ('now'). The agent must infer usage entirely from the name.

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

unblock_prospect_domainUnblock a prospect's domainCInspect

Allow a previously blocked domain to appear in discovery again.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
projectIdYes
prospectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare this is not read-only, not destructive, and not open-world, so the safety profile is covered. The description adds the behavioral outcome that the domain becomes eligible for discovery again, which is useful, but says nothing about side effects, idempotency, or what happens if the domain was never blocked.

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 short sentence with no wasted words and the key effect front-loaded. It is efficient, but the terseness is partly under-specification rather than disciplined concision.

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 three required, entirely undocumented identifiers and no output schema, the description omits the information an agent most needs: how to identify the domain/prospect, what scope projectId and siteId provide, and what the result looks like. Annotations cover only the safety hint.

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% for three required parameters (projectId, siteId, prospectId), so the description carries the full burden and fails: it mentions none of them. Worse, it describes the target as a 'domain' while the schema identifies targets by prospectId, leaving the agent to guess how a domain maps to these IDs.

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 gives a clear verb ('unblock'/'allow') and resource ('a previously blocked domain'), and states the observable effect: it will 'appear in discovery again'. It is distinguishable from siblings like reject_prospect or start_prospect_discovery, though it never names the symmetric block tool, and it refers to a 'domain' while no domain parameter exists.

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 call this versus related sibling tools (reject_prospect, add_prospect, start_prospect_discovery) and no prerequisites stated, such as the domain needing to have been previously blocked. The only implicit usage signal is the phrase 'previously blocked'.

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

update_ai_visibility_promptEdit an AI visibility promptCInspect

Replace a tracked prompt's settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
monitorYes
monitorIdYes
projectIdYes

TDQS

C2.1/5.0
Behavior2/5

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

Annotations establish readOnlyHint=false, destructiveHint=false, openWorldHint=false, so the safety profile is partly covered. The description adds only the word "Replace," which hints that existing settings are overwritten rather than merged, but it never states prerequisites (projectId/siteId/monitorId all required), permission needs, or what happens to fields omitted from the nested monitor object.

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?

A single short sentence with no filler and no buried information, which is structurally clean. The problem is the opposite of verbosity: it is under-specified for a four-parameter mutation with a nested payload.

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?

For a mutation tool with a required nested object, zero schema field descriptions, and no output schema, the description should carry identification keys, replacement-vs-merge semantics, and validation constraints. One sentence mentioning "settings" leaves the agent without enough information to call this correctly, especially when all four top-level and five nested fields are mandatory.

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% across four required parameters, one of which is a nested monitor object with ten documented-by-schema-only fields (question, keywords, brandAliases, engines, frequency, topicId, category, volumeTier). The description contributes no parameter meaning at all beyond the generic word "settings," so it fails to compensate for the coverage 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?

"Replace a tracked prompt's settings" gives a verb (replace) plus a resource (tracked prompt's settings), so the operation is identifiable. However, it never distinguishes itself from close siblings like create_ai_visibility_prompt, set_ai_visibility_prompt_status, move_ai_visibility_prompts, or bulk_create_ai_visibility_prompts, and the verb "replace" conflicts with the tool's own name "update," leaving full-vs-partial semantics unclear.

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 create_ai_visibility_prompt, bulk_create_ai_visibility_prompts, or set_ai_visibility_prompt_status. The agent must infer from the name alone that this edits an already-tracked prompt.

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

update_articleEdit an articleAInspect

Replace an article's editable content. Read it with get_article first and send every content field back.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
assetIdYes
contentYes
projectIdYes

TDQS

A4/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description then adds valuable behavioral context: the operation is a full replacement, not a partial patch, hence the instruction to send every content field back. It does not describe error cases or the response, but with annotations present the bar is lower.

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 action and followed by the prerequisite workflow. No filler, no restatement 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?

For a 4-parameter mutation tool with a detailed nested content schema and no output schema, the description supplies the essential operational picture: it is a full replace that requires a prior read. It leaves the ID parameters and failure/return behavior unaddressed, but nothing critical to invoking it correctly 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?

Schema description coverage is 0%, so the description carries the burden for parameter meaning. It compensates partly by stating every content field must be supplied, which matches the nested object's required list, but the three ID parameters (projectId, siteId, assetId) get no explanation at all. Marginal value over the (self-documenting) nested 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?

States a specific verb and resource ('Replace an article's editable content'), which clearly separates it from get_article and delete_article. It even names the read sibling in the workflow, though it does not explicitly distinguish itself from adjacent writes like regenerate_article_fields or update_article_improvement.

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 concrete workflow guidance: read with get_article first, then send every content field back. This establishes the read-modify-write pattern the agent must follow. It lacks explicit when-not-to-use or routing against other article-mutation siblings, keeping it short of a 5.

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

update_article_improvementEdit an article improvementBInspect

Replace the drafted content of an improvement. Send every content field back.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
contentYes
projectIdYes
improvementIdYes

TDQS

B3.1/5.0
Behavior4/5

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

Annotations declare write/non-destructive/openWorld=false, so the safety profile is already covered. The description adds the non-obvious behavioral fact that this is a wholesale replacement and that omitting fields is not allowed ('Send every content field back'). It does not mention permissions or the response shape, keeping it short of a 5.

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

Conciseness4/5

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

Two tight sentences with the mutation and the full-replacement rule front-loaded. No filler, though the second sentence is terse enough to feel clipped rather than instructive.

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?

A write tool with no output schema, 0% schema coverage, and a required nested object demands more than two sentences. The description covers the replacement contract but leaves all identifier parameters and the required content fields undocumented, so an agent cannot call it confidently without opening the schema.

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 there are 4 required params plus an 8-field nested content object. The description only gestures at the content object ('every content field') and says nothing about projectId, siteId, or improvementId, so it does not compensate for the documentation 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?

States a specific verb and resource: 'Replace the drafted content of an improvement.' The phrase 'drafted content' narrows scope to the improvement's editable draft, which separates it from update_article (article body) and from apply/submit/decide improvement siblings. It stops short of explicitly naming which sibling to prefer, but the resource is identifiable.

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?

'Send every content field back' implies this is a full replacement rather than a patch, which is a usage constraint. However, there is no guidance on when to use this versus apply_article_improvement, submit_article_improvement, or generate_article_improvement, and no stated prerequisites.

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

update_content_automationUpdate content automation settingsAInspect

Replace the automatic writing and publishing schedule. Read it with get_content_automation first; auto_publish_approved publishes without a human review.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYes
siteIdYes
enabledYes
timezoneYes
projectIdYes
publishTimeYes
publishingDaysYes
generationLeadHoursYes
defaultCmsConnectionIdYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false), and the description adds genuinely new behavioral context — that 'Replace' overwrites the existing schedule wholesale and that one mode value publishes without human review. It still omits permission requirements, validation failure behavior, and what happens to already-scheduled posts, keeping it below 5.

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 mutation semantics come first and the prerequisite read plus the risk disclosure follow. Every clause 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 9-required-parameter mutation tool with no parameter descriptions and no output schema, the definition is under-specified — an agent cannot construct a correct call because the meaning, format, and constraints of most fields (timezone string format, day-index array, lead hours) are invisible. The mode caveat is helpful but does not close this 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?

There are 9 required parameters with 0% schema description coverage, so the description must carry parameter meaning — yet it explains none of them (timezone, generationLeadHours, publishingDays, publishTime, defaultCmsConnectionId are all opaque). Only the 'auto_publish_approved' enum value gets any gloss, which is a small fraction of the documentation burden.

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 ('Replace') and resource ('the automatic writing and publishing schedule'), making the mutation scope unambiguous. It also implicitly distinguishes itself from its read counterpart by directing the agent to get_content_automation, so an agent can route correctly without opening a schema.

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

Usage Guidelines4/5

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

Gives clear prescriptive context: read current state with get_content_automation before replacing it, and names the risky enum value (auto_publish_approved → publishes without human review). No when-not-to-use guidance or alternatives beyond read-before-write, so it falls short of a 5.

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

update_content_brief_instructionsSet writer instructions for a briefBInspect

Set the notes the writer follows for one article brief. Send an empty string to clear them.

ParametersJSON Schema
NameRequiredDescriptionDefault
planIdYes
siteIdYes
briefIdYes
projectIdYes
instructionsYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare this is a non-read-only, non-destructive write. The description adds the clearing semantics (empty string wipes the notes) which is behavior beyond the annotations and clarifies a potential edge case. It doesn't say whether existing instructions are overwritten, what permissions are needed, or the 2000-char limit's implications.

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 core action and followed immediately by the one non-obvious rule. Nothing is padded or wasted.

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 5 required ID parameters at 0% schema coverage and no output schema, the description is too thin. It never explains the project/site/plan/brief ID hierarchy or where those identifiers come from, which an agent needs to invoke this 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% across 5 required parameters, so the schema carries no semantics. The description only implicitly covers the 'instructions' parameter and hints at 'one article brief' (briefId), leaving projectId, siteId, and planId entirely undocumented in both schema and description.

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?

Specific verb (Set) plus resource (the notes/instructions a writer follows for one article brief), and it clarifies what 'instructions' means in practice. It doesn't explicitly distinguish itself from siblings like update_content_brief_keyword or reschedule_content_brief, but the resource 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 one concrete operational rule — send an empty string to clear the notes — which is genuinely useful usage guidance. It offers no when-to-use context or comparison against sibling brief-mutation tools, so it stays at implied usage.

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

update_content_brief_keywordChange a brief's target keywordCInspect

Change the target keyword of one article brief.

ParametersJSON Schema
NameRequiredDescriptionDefault
phraseYes
planIdYes
siteIdYes
briefIdYes
projectIdYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, so safety is covered structurally. The description adds nothing behavioral beyond that – it doesn't say whether the previous keyword is discarded, whether adjacent brief fields (title, instructions) are unaffected, or whether the change requires brief approval state.

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 front-loaded sentence with no filler or redundancy. It is efficient, though it is arguably too terse for a five-parameter mutation tool rather than deliberately concise.

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 five required parameters, no output schema, and only a minimal description, an agent lacks what it needs to build a correct call – particularly the project/site/plan/brief ID hierarchy and the effect of the change. The description is underspecified for the tool's 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 coverage is 0% across 5 required parameters, so the description carries the full burden and mostly fails. Only the mapping of 'target keyword' to the `phrase` parameter is implied; the roles and required nesting of projectId, siteId, planId, and briefId are never explained, nor is the 2-120 character constraint.

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 ('change') and resource ('target keyword of one article brief'), which clearly separates it from update_content_brief_instructions. It does not explicitly name the sibling it might be confused with, so it lands just below full marks.

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 when-to-use guidance, no prerequisites, and no mention of alternatives such as update_content_brief_instructions or reschedule_content_brief. The agent must infer applicability entirely from the name.

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

update_distribution_campaignEdit a distribution campaignCInspect

Replace a draft campaign's settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYes
nameYes
endsAtYes
siteIdYes
cadenceYes
pageUrlYes
startsAtYes
projectIdYes
accountIdsYes
campaignIdYes
maxPostsPerAccountYes
autoPublishAccountIdsNo

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already establish this is a non-read, non-open-world, non-destructive write. The description adds real context beyond them: it is a full replacement of settings (not a partial patch) and applies only to drafts. It stops short of stating auth requirements, what happens to fields not supplied, or reversibility.

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?

A single front-loaded sentence with zero filler is structurally clean, but for a 12-parameter nested mutation it is under-specified rather than genuinely concise; the brevity reflects missing content, not economy.

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 complex mutation with 11 required params, a nested cadence object, and no schema descriptions, one sentence is far too thin. No output schema exists, so returns need not be explained, but the parameter and behavioral gaps are substantial.

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% across 12 parameters (11 required, plus a nested cadence object and a mode enum), so the schema gives an agent no prose semantics. The description compensates with nothing about any parameter, leaving the entire surface 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?

States a specific verb and resource ("Replace a draft campaign's settings") and, crucially, corrects the name/title's "update/edit" to the more precise "replace" (full PUT-style semantics) while scoping to draft campaigns. It is clear on its own, though it never distinguishes itself from distribution siblings like create_distribution_campaign or activate_distribution_campaign.

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 word "draft" implies a precondition (only drafts are editable), which is the only usage signal. There is no explicit when-to-use, no when-not-to-use, and no routing to alternatives such as create/activate/get_distribution_campaign.

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

update_lead_icpEdit an ideal customer profileDInspect

Replace a customer profile.

ParametersJSON Schema
NameRequiredDescriptionDefault
icpYes
icpIdYes
siteIdYes
projectIdYes

TDQS

D1.8/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, but the description adds no behavioral context of its own. Critically, it does not say whether omitted optional fields (roles, industries, painPoints, etc., which default to []) are wiped on replace or preserved, which is exactly the risk an agent needs disclosed 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.

Conciseness2/5

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

One short sentence is concise on its face, but here brevity equals under-specification rather than efficiency — nothing is front-loaded because nothing substantive is said.

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?

A mutation tool with four required params, a nested payload object, no output schema and 0% schema description coverage needs a far richer description. Nothing an agent needs in order to call this safely or correctly is present.

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% across four required parameters, including a nested icp object with seven undocumented fields. The description contributes nothing: no meaning for icpId vs siteId vs projectId, no explanation of the roles/industries/exclusions arrays, and no clarification of full-vs-partial replacement semantics.

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

Purpose2/5

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

"Replace a customer profile" restates the title with no added specificity: it never says the resource is an ideal customer profile (ICP), never mentions the scoping IDs, and gives no signal distinguishing it from create_lead_icp or delete_lead_icp. The verb "replace" also implies different semantics than "update" in the tool name.

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 when-to-use guidance, no mention of prerequisites (valid projectId/siteId/icpId), and no routing to alternatives such as create_lead_icp for new profiles or delete_lead_icp for removal. The agent must infer everything from the tool name.

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

update_lead_keywordEdit a lead keywordCInspect

Replace a monitoring keyword's phrases and platforms.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
keywordYes
keywordIdYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare it is a non-read-only, non-destructive, closed-world mutation. The description adds real value with the word 'Replace', signaling overwrite semantics rather than a merge, but it does not say whether omitted fields (name, type, negativeKeywords) are reset or preserved — critical for an edit 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?

A single front-loaded sentence with no filler. It is efficient, though its brevity is partly under-specification rather than genuine concision.

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 a nested payload, zero schema description coverage, and no output schema, this is too thin. It omits the semantics of the replace operation and does not describe most of the writable fields an agent must populate.

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 carries the full burden, yet it only references phrases (queries) and platforms. The name, type, negativeKeywords nested fields and the three ID parameters are left entirely 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?

States a specific verb ('Replace') and resource ('a monitoring keyword's phrases and platforms'), so the agent knows this edits an existing lead keyword. It does not, however, distinguish itself from siblings like create_lead_keyword, set_lead_keyword_status, or delete_lead_keyword.

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 when-to-use guidance and no named alternatives. With siblings such as create_lead_keyword and set_lead_keyword_status available, the agent gets no help deciding when a full edit is appropriate versus those operations.

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

update_lead_monitorUpdate the lead monitorBInspect

Set how often leads are scanned and whether the monitor is active.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
statusYes
frequencyYes
projectIdYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds that it changes exactly two behaviors (cadence and active state), which is useful, but says nothing about permissions, whether existing scan history is affected, or whether changes take effect immediately.

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 tight sentence with the two configurable dimensions front-loaded and no filler. It is efficient, though the extreme brevity leaves no room for the usage context an agent would need.

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 4-required-parameter mutation tool with 0% schema coverage and no output schema, the description is too thin: two identifiers (projectId, siteId) are never explained, and neither the effect of pausing nor the relationship to run_lead_scan is 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?

Schema description coverage is 0%, but the two enum parameters map onto the description's two clauses: frequency ('how often leads are scanned') and status ('whether the monitor is active'). The required projectId and siteId have no explanation in either the schema or the description, leaving 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?

States a specific verb (set/update) and resource (lead monitor) and names the two settings it controls: scan frequency and active state. It is distinguishable from run_lead_scan (which triggers a scan now) and create_lead_alert_rule, though it never names those siblings explicitly.

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 says what is configured but not when to call this versus alternatives like run_lead_scan (immediate scan) or set_lead_alert_rule_status. No prerequisites, no exclusions, no routing guidance beyond what the name implies.

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

update_lead_replyEdit or resolve a lead replyBInspect

Edit a drafted reply, or record that the user posted or dismissed it.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
actionYes
siteIdYes
mentionIdYes
projectIdYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so safety profile is partly covered. The description adds real semantic context by mapping the actions to meanings (edit the draft vs. record a posted/dismissed outcome), but does not say what happens to the draft on dismissal, whether the change is reversible, or what the body requirement is.

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 with no filler; the operation and its two resolution modes appear immediately, every clause 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 5-parameter mutation tool with no output schema and 0% schema description coverage, the description is too thin — it never explains the required identifiers or what an agent must supply to edit vs. resolve. It should do more to compensate for the missing field documentation.

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% across 5 parameters, so the description carries the burden. It only loosely implies the 'body' for editing and the action values; the identifiers (projectId, siteId, mentionId) and maxLength constraints get no explanation in the description, leaving the schema to speak entirely for itself.

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 gives a specific verb+resource ('edit a drafted reply') and names the two status-recording modes ('posted' or 'dismissed'), aligning with the action enum. It distinguishes the write intent from read-oriented siblings like get_lead and from generate_lead_reply, though it does not explicitly contrast itself with those 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?

Usage is implied by the phrase 'a drafted reply' and the three modes, but there is no explicit when-to-use vs. generate_lead_reply or review_outreach_reply, and no prerequisites stated. Adequate but with clear gaps.

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

update_lead_sourcesChoose the lead platformsCInspect

Set which platforms are searched for leads.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
platformsYes
projectIdYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds little beyond that: it does not say whether the provided list replaces the existing set or appends to it, what happens to leads from de-selected platforms, or whether site/project scope is required. 'Set' hints at replacement, but that is left implicit.

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 front-loaded sentence with no filler. It is efficient, though the terseness borders on under-specification for a three-parameter mutation rather than being optimally concise.

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 output schema, zero parameter documentation, and only bare safety annotations, the description omits too much: scope requirements, replace-vs-append semantics, and any effect on existing leads. It is not sufficient on its own for an agent to call this 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% and all three parameters (projectId, siteId, platforms) are undocumented in the schema. The description names only the platforms concept and says nothing about projectId/siteId scoping or that platforms is a bounded list of up to 10 enum values, so it does not compensate for the coverage 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?

States a clear verb and resource: setting which platforms are searched for leads. An agent can tell this configures lead-source platforms, though nothing distinguishes it from nearby siblings like update_lead_monitor, update_lead_icp, or run_lead_scan.

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 when-to-use guidance, no prerequisites, and no mention of alternatives among the many other lead-related update tools. The agent must infer that this is the configuration step for scan sources.

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

update_outreach_automation_exceptionResolve an outreach automation exceptionCInspect

Change the status or notes of an exception.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
statusYes
projectIdYes
exceptionIdYes
assigneeUserIdNo
resolutionNotesNo

TDQS

C2.4/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so safety is partially covered. However, the description adds almost nothing: it doesn't disclose that status changes (e.g., resolved/dismissed) affect the automation pipeline, doesn't mention the assignee mutation at all, and doesn't describe side effects on retrying exceptions.

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?

A single short sentence with no padding, which is structurally clean. However, the brevity comes at the cost of under-specification rather than efficiency, so it is only middling on this dimension.

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 six parameters, four required, zero schema description coverage, and no output schema, this description is far too thin. An agent lacks the identifier semantics, allowed status values context, and consequence of resolution needed 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?

Schema description coverage is 0%, so the description carries the full burden, yet it only alludes to status and notes. It omits three required identifiers (projectId, siteId, exceptionId) and the assigneeUserId parameter entirely, leaving most parameters undocumented anywhere.

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 states a verb and resource ('change ... of an exception') and names two of the mutable fields, so the general intent is inferable. But the verb is generic ('change' rather than 'resolve' as the title says), and it gives no differentiation from siblings like list_outreach_automation_exceptions or set_outreach_automation_status. Purpose is merely adequate.

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 when-to-use guidance, no prerequisites (e.g., obtaining exceptionId via list_outreach_automation_exceptions), and no indication of which status transitions are permitted. The agent is left to guess when this tool applies versus adjacent automation tools.

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

update_outreach_draftEdit an outreach draftCInspect

Replace the subject and body of an unsent draft.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
siteIdYes
subjectYes
threadIdYes
projectIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare a non-destructive, non-open-world write, so the safety profile is covered. The description adds one genuine behavioral fact — the draft must be unsent — and 'Replace' implies whole-field overwrite rather than a merge, but it says nothing about failure modes for sent/missing threads or what the call returns.

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

Conciseness4/5

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

A single front-loaded sentence with no filler and the key constraint ('unsent') placed inline. It is efficient, though arguably too terse for a five-parameter mutation, which limits how much it can earn.

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 required-parameter-heavy mutation with 0% schema description coverage and no output schema, the description omits the identifier parameters, preconditions, and result behavior. What remains is a bare statement of intent, insufficient to call the tool 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% and all five parameters are required, yet the description only names two of them (subject, body). The three identifier parameters (projectId, siteId, threadId) are left entirely undocumented in both schema and prose, so the description fails to compensate for the coverage 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 pairs a specific verb ('Replace') with the target fields ('subject and body') and the resource ('unsent draft'), so the action is unambiguous. It does not, however, name or contrast itself with close siblings like regenerate_outreach_draft or prepare_outreach_draft, which an agent must disambiguate on its own.

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

Usage Guidelines2/5

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

The only usage signal is the implicit constraint that the draft must be 'unsent'; there is no explicit when-to-use statement and no mention of alternatives such as regenerate_outreach_draft or update_outreach_template. An agent gets no routing guidance.

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

update_outreach_send_policyUpdate a sender's sending limitsCInspect

Set the sending window, weekdays, and daily limit for one sender identity.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
statusYes
projectIdYes
dailyLimitYes
allowedWeekdaysYes
windowEndMinuteYes
senderIdentityIdYes
windowStartMinuteYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations declare a non-destructive write, which is the main safety signal, but the description adds nothing further. It does not say whether this is a full replacement of the policy (all 8 params are required, implying overwrite), whether omitted prior settings survive, or whether the change takes effect immediately for in-flight sequences.

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 front-loaded sentence with no filler. It is efficient, though given eight required parameters and a policy-overwrite semantic it is arguably under-sized rather than tight.

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 an 8-required-param mutation with no output schema and no annotation detail beyond hints, the description should cover field semantics and overwrite behavior. It covers less than half the parameters and omits any statement about effect on running outreach.

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% across 8 required parameters. The description names three concepts (sending window, weekdays, daily limit) that map to roughly four fields, but leaves status, projectId, siteId, and senderIdentityId completely undocumented in both schema and prose, and never clarifies the minute-offset or weekday-index encoding.

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?

Specific verb (Set) plus the three resource facets it controls (sending window, weekdays, daily limit) scoped to 'one sender identity'. An agent knows exactly what changes, though nothing distinguishes it from siblings like set_outreach_automation_status or get_outreach_automation_policy.

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 when-to-use guidance, no prerequisites, and no mention of the adjacent siblings (get_outreach_automation_policy to read current values, set_outreach_automation_status to pause/resume). The agent must infer that this is the write counterpart to the policy read tool.

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

update_outreach_templateEdit an outreach templateCInspect

Replace an email template's content.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
siteIdYes
projectIdYes
templateIdYes
bodyTemplateYes
fallbackValuesNo
subjectTemplateYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so safety basics are covered. The description adds nothing beyond that: it doesn't say whether omitted fields are preserved or wiped by the 'replace', what permissions are needed, or what happens to templates in use by an active outreach sequence.

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?

One short sentence with no filler and the operation front-loaded, so nothing is wasted. However, brevity here reflects under-specification rather than discipline — there is simply not enough content to evaluate structure against.

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 7 parameters, 6 of them required, a nested object, 0% schema description coverage, and no output schema, a single nine-word sentence is inadequate. An agent cannot tell what it must supply, what 'replace' does to unspecified fields, or how to interpret the call's 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% across 7 parameters, including a nested fallbackValues object, so the description carries the full burden and delivers almost nothing. It never mentions projectId/siteId/templateId, the required name/subjectTemplate/bodyTemplate trio, or the fallback map; only the vague word 'content' gestures at the payload fields.

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 verb+resource pair ('Replace an email template's content') is concrete enough to separate it from create_outreach_template and delete_outreach_template, and 'Replace' hints at whole-object semantics. But 'content' is vague — it never names subject/body/name — and the mismatch between 'Replace' in the description and 'update' in the name leaves the update-vs-overwrite question open.

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 when-to-use guidance at all. With 125+ siblings including create_outreach_template, delete_outreach_template, list_outreach_templates, and update_outreach_draft, the agent gets no help deciding between them or knowing that the template must already exist.

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

update_productEdit a catalog productBInspect

Replace a product's fields. Send every field back.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsYes
siteIdYes
productIdYes
projectIdYes
imageStorageKeyNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: this is a full-field replacement, not a merge, so untouched fields may be overwritten. It does not disclose permissions, reversibility, or what happens to imageStorageKey, which a mutation tool of this shape would benefit from.

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 waste, with the replacement semantics front-loaded before the operational instruction. Appropriate size for the message it conveys.

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 5-parameter mutation with a nested required object, no output schema, and zero schema description coverage, the definition is far too thin. An agent gets no sense of the identity-scoping parameters, the optional imageStorageKey, or what the call returns.

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% across 5 parameters, including a nested 'fields' object with five required sub-keys, so the description carries the full burden and largely fails it. 'Send every field back' hints that fields must be complete, but projectId, siteId, productId, and imageStorageKey are never mentioned or explained.

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 and resource ('Replace a product's fields'), and the word 'Replace' distinguishes it from create_product, delete_product, and set_product_status without needing the schema. It stops short of explicitly naming which sibling it supersedes for partial edits.

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?

'Send every field back' implies full-replacement semantics rather than a partial patch, which is genuinely useful selection guidance. It never names an alternative tool or states when not to use it, so the guidance is implied rather than explicit.

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

update_prospect_discovery_settingsUpdate prospect discovery settingsCInspect

Replace the settings used to find prospects. Send every field.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
pageTypesYes
projectIdYes
maxDomainRatingYes
minDomainRatingYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false). The description adds genuine behavioral value by saying 'Replace', signaling full-overwrite rather than merge/patch semantics, and 'Send every field' reinforces that all five required fields must be supplied. It omits what happens to omitted fields, permission needs, and whether an active discovery run is affected.

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, front-loaded sentences with no filler; the replacement semantic leads. It is arguably too terse for the tool's complexity, but nothing in the text is wasted.

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 five-required-parameter mutation tool with zero schema coverage and no output schema, the description is far too thin. It never explains what the settings control, the rating bounds, or the page-type options an agent must choose from.

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% across five parameters, so the description is the only place meaning could be added, and it adds none beyond 'Send every field'. Terms like minDomainRating, maxDomainRating, and pageTypes (whose enum values drive prospect selection) are left entirely undefined.

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 ('Replace') and resource ('settings used to find prospects'), clearly distinguishing it from the sibling getter get_prospect_discovery_settings. It stops short of explicitly naming that sibling, but the replace/read contrast is evident from the name.

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 when-to-use guidance, no prerequisites, and no mention of alternatives such as start_prospect_discovery or get_prospect_discovery_settings. 'Send every field' is an invocation constraint rather than usage context.

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

update_site_profileUpdate the site profileAInspect

Replace the editable site profile. Read it with get_site_profile first and send every field back, changing only what the user asked for.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteIdYes
profileYes
projectIdYes

TDQS

A3.8/5.0
Behavior4/5

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

Goes meaningfully beyond the annotations, which only say readOnlyHint=false, destructiveHint=false, openWorldHint=false. The description discloses the crucial trait that this is a full replacement, not a merge, so omitted fields are dropped, and it prescribes the read-then-resubmit pattern that prevents data loss. It does not cover permissions, auth, 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.

Conciseness5/5

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

Two tight sentences, front-loaded with the mutation semantics and followed by the required workflow. Every clause carries information useful for correct invocation; nothing is wasted.

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 mutation tool with a large nested object and no output schema, the description covers the biggest risk (full replacement) and the correct call sequence, while annotations already cover the safety profile. Remaining gaps are minor: no note on validation-failure behavior or visibility of edits.

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 carry the burden for three parameters. It only clarifies that the profile object must be sent whole and only the requested change applied; projectId, siteId, and the 23 required nested profile fields receive no explanation. This is real but partial compensation for a worst-case coverage 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?

States a specific verb ("Replace") and resource ("the editable site profile"), so the agent knows this is a full write to the site profile. It does not explicitly contrast with other update tools, but it names get_site_profile, which anchors it as the write counterpart to a known read tool.

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 a clear prerequisite workflow: read with get_site_profile first, then send every field back with only the user's change applied. This tells the agent both when and how to use it. It stops short of naming an alternative for cases where only a partial update is intended or stating 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.

verify_article_publicationRecord a published article URLBInspect

Record the live URL of an article the user published by hand, after checking the page.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
siteIdYes
assetIdYes
projectIdYes
idempotencyKeyYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare this is a non-destructive write (readOnlyHint=false, destructiveHint=false) in an open world. The description adds the useful context that this is a manual, checked-page recording, but it discloses nothing about side effects, idempotency behavior (notable given the idempotencyKey param), or what recording changes.

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 front-loaded sentence with no wasted words; the action and its precondition come first. It is tight, though its brevity is partly a symptom of under-specification rather than disciplined editing.

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 five-required-parameter mutation with no output schema and no meaningful parameter documentation, this is thin. The description gives no guidance on identifiers, idempotency keys, or result behavior, which an agent invoking a write tool would need.

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% across 5 required parameters, so the description must carry the burden. It only clarifies the 'url' parameter as the live page URL and says nothing about projectId, siteId, assetId, or idempotencyKey, leaving four required identifiers 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?

States a specific verb ('Record') and resource ('live URL of an article'), and the phrase 'published by hand' distinguishes it from the automated publish_article sibling. The name says 'verify' while the description says 'record', a mild tension, but the description and title together resolve it clearly enough to act on.

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?

Usage context is implied rather than stated: it is for articles the user published manually, and the 'after checking the page' clause hints at sequencing. However, it never names an alternative (e.g., publish_article) or states a when-not condition, so the routing guidance is only inferred.

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

verify_contactVerify a contact's emailCInspect

Check whether a contact's email address is deliverable.

ParametersJSON Schema
NameRequiredDescriptionDefault
notesNo
siteIdYes
sourceYes
statusYes
providerYes
contactIdYes
projectIdYes
costMicrosYes
idempotencyKeyYes
providerReferenceNo

TDQS

C2.1/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false, so this is state-changing, yet the description frames it as a passive 'check' and never mentions the write, the cost/costMicros accounting, or the idempotencyKey requirement. Annotations do cover the safety profile (destructiveHint=false, openWorldHint=true), but the description still hides the mutation and billing side effects that matter for invocation.

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?

A single front-loaded sentence with no filler, which is structurally clean. But brevity here is under-specification rather than economy: eight required parameters and a mutation are dispatched with nine words.

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?

No output schema exists, so the description would need to explain the return, and it does not; it also omits the recording behavior implied by required status/source/provider/costMicros fields. With 10 parameters, 0% schema coverage, and no annotations detail added, an agent lacks what it needs to call this 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% across 10 parameters (8 required), and the description adds no parameter meaning at all — nothing about status values, provider/source semantics, costMicros units, or the idempotency key. For a tool this parameter-heavy, the description fully fails to compensate for the undocumented schema.

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?

Names a verb (check/verify) and a resource (a contact's email deliverability), so the basic intent is legible. However, it never clarifies whether the tool performs the deliverability check itself or records a caller-supplied result, and it does nothing to distinguish itself from sibling verification tools such as verify_article_publication or check_backlink. The purpose is stated but left ambiguous at the exact point that matters.

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 call this tool versus alternatives (e.g., list_contacts, suppress_contact, find_prospect_contact) and no mention of prerequisites. The agent must infer placement in the workflow entirely from the name.

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.

  1. 194 tool updates
    • First observedactivate_content_plan
    • First observedactivate_distribution_campaign
    • First observedadd_ai_visibility_competitor
    • First observedadd_article_keywords
    • First observedadd_backlink
    • First observedadd_internal_link_target
    • First observedadd_outreach_keywords
    • First observedadd_prospect
    • First observedanalyze_site
    • First observedapply_article_improvement
    • First observedapprove_distribution_posts
    • First observedatomize_distribution_page
    • First observedbulk_create_ai_visibility_prompts
    • First observedcancel_distribution_campaign
    • First observedcheck_backlink
    • First observedcheck_site_backlinks
    • First observedclose_backlink
    • First observedcompare_article_improvement
    • First observedcreate_ai_visibility_prompt
    • First observedcreate_ai_visibility_topic
    • First observedcreate_backlink_submission
    • First observedcreate_contact
    • First observedcreate_distribution_campaign
    • First observedcreate_lead_alert_rule
    • First observedcreate_lead_icp
    • First observedcreate_lead_keyword
    • First observedcreate_outreach_draft
    • First observedcreate_outreach_template
    • First observedcreate_product
    • First observeddecide_article
    • First observeddecide_article_improvement
    • First observeddecide_content_brief
    • First observeddecide_content_plan
    • First observeddelete_ai_visibility_prompt
    • First observeddelete_ai_visibility_topic
    • First observeddelete_article
    • First observeddelete_lead_alert_rule
    • First observeddelete_lead_icp
    • First observeddelete_lead_keyword
    • First observeddelete_outreach_template
    • First observeddelete_product
    • First observeddetect_article_improvements
    • First observeddismiss_article_improvement
    • First observeddismiss_lead
    • First observededit_distribution_post
    • First observedexclude_ai_visibility_brand
    • First observedfind_prospect_contact
    • First observedgenerate_article
    • First observedgenerate_article_improvement
    • First observedgenerate_content_plan
    • First observedgenerate_lead_reply
    • First observedget_ai_response
    • First observedget_ai_sentiment_benchmark
    • First observedget_ai_sentiment_driver
    • First observedget_ai_sentiment_overview
    • First observedget_ai_visibility_citations
    • First observedget_ai_visibility_competitor
    • First observedget_ai_visibility_competitors
    • First observedget_ai_visibility_domain_pages
    • First observedget_ai_visibility_overview
    • First observedget_article
    • First observedget_article_improvements
    • First observedget_article_settings
    • First observedget_backlink_inventory_status
    • First observedget_backlink_submission
    • First observedget_backlink_submission_profile
    • First observedget_backlinks_overview
    • First observedget_brand_mentions_overview
    • First observedget_content_automation
    • First observedget_content_plan
    • First observedget_distribution_campaign
    • First observedget_distribution_page_atoms
    • First observedget_distribution_status
    • First observedget_lead
    • First observedget_leads_overview
    • First observedget_outreach_automation_overview
    • First observedget_outreach_automation_policy
    • First observedget_outreach_draft_options
    • First observedget_outreach_sending_dashboard
    • First observedget_plan_usage
    • First observedget_prospect_discovery
    • First observedget_prospect_discovery_settings
    • First observedget_prospecting_summary
    • First observedget_search_performance
    • First observedget_seo_diagnosis
    • First observedget_seo_health
    • First observedget_site_profile
    • First observedimport_article_keywords
    • First observedlist_ai_visibility_prompt_runs
    • First observedlist_ai_visibility_prompts
    • First observedlist_article_keywords
    • First observedlist_articles
    • First observedlist_backlink_submission_projects
    • First observedlist_backlink_submission_sources
    • First observedlist_backlinks
    • First observedlist_cms_connections
    • First observedlist_contacts
    • First observedlist_ctr_opportunities
    • First observedlist_distribution_campaigns
    • First observedlist_distribution_pages
    • First observedlist_distribution_posts
    • First observedlist_featured_backlinks
    • First observedlist_internal_link_targets
    • First observedlist_lead_alert_rules
    • First observedlist_lead_keywords
    • First observedlist_leads
    • First observedlist_linkable_assets
    • First observedlist_mentions
    • First observedlist_outreach_automation_exceptions
    • First observedlist_outreach_automation_runs
    • First observedlist_outreach_keywords
    • First observedlist_outreach_templates
    • First observedlist_outreach_threads
    • First observedlist_products
    • First observedlist_projects
    • First observedlist_prospects
    • First observedlist_seo_changes
    • First observedlist_seo_diagnoses
    • First observedlist_sites
    • First observedlog_seo_change
    • First observedmark_outreach_lost
    • First observedmark_outreach_won
    • First observedmove_ai_visibility_prompts
    • First observedmove_lead_stage
    • First observedpause_distribution_campaign
    • First observedpreflight_backlink_submission
    • First observedprepare_outreach_draft
    • First observedpublish_article
    • First observedrecord_backlink_submission_outcome
    • First observedregenerate_article_fields
    • First observedregenerate_distribution_post
    • First observedregenerate_outreach_draft
    • First observedreject_distribution_posts
    • First observedreject_prospect
    • First observedremove_article_keywords
    • First observedremove_internal_link_target
    • First observedremove_outreach_keyword
    • First observedrename_ai_visibility_topic
    • First observedreopen_outreach_thread
    • First observedreschedule_content_brief
    • First observedrestore_ai_visibility_brand
    • First observedrestore_lead
    • First observedresume_distribution_campaign
    • First observedreview_outreach_reply
    • First observedreview_page_snippet
    • First observedrun_ai_visibility_prompt
    • First observedrun_lead_scan
    • First observedsave_linkable_asset
    • First observedschedule_outreach
    • First observedschedule_outreach_batch
    • First observedsearch_article_keywords
    • First observedselect_prospect_contact
    • First observedsend_outreach_follow_up
    • First observedset_ai_sentiment_task
    • First observedset_ai_visibility_prompt_status
    • First observedset_lead_alert_rule_status
    • First observedset_lead_favorite
    • First observedset_lead_feedback
    • First observedset_lead_keyword_status
    • First observedset_outreach_automation_status
    • First observedset_product_status
    • First observedstart_backlink_inventory
    • First observedstart_competitor_backlink_discovery
    • First observedstart_prospect_discovery
    • First observedstart_seo_diagnosis
    • First observedstop_outreach_sequence
    • First observedsubmit_article_for_review
    • First observedsubmit_article_improvement
    • First observedsuggest_ai_visibility_prompts
    • First observedsuppress_contact
    • First observedsync_search_console
    • First observedunblock_prospect_domain
    • First observedupdate_ai_visibility_prompt
    • First observedupdate_article
    • First observedupdate_article_improvement
    • First observedupdate_backlink_task
    • First observedupdate_content_automation
    • First observedupdate_content_brief_instructions
    • First observedupdate_content_brief_keyword
    • First observedupdate_distribution_campaign
    • First observedupdate_lead_icp
    • First observedupdate_lead_keyword
    • First observedupdate_lead_monitor
    • First observedupdate_lead_reply
    • First observedupdate_lead_sources
    • First observedupdate_outreach_automation_exception
    • First observedupdate_outreach_draft
    • First observedupdate_outreach_send_policy
    • First observedupdate_outreach_template
    • First observedupdate_product
    • First observedupdate_prospect_discovery_settings
    • First observedupdate_site_profile
    • First observedverify_article_publication
    • First observedverify_contact

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to access self-hosted SEO data and workflows, including keyword research, rank tracking, competitor insights, backlinks, site audits, and AI visibility.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI clients to query SiteData website rankings (traffic growth, Domain Rating, payment traffic) and manage website/keyword favorites through OAuth.
    -
  • F
    license
    Not graded
    quality
    A
    maintenance
    A remote, OAuth-authenticated server that exposes SEO data and analytics so agents can build content briefs, keyword clusters, backlink gap prospect lists, technical and content audits, schema markup, sitemap comparisons, and AI Search share-of-voice reports. It also supports competitor gap analysis, ad intelligence, drift monitoring, and SERP-based SXO diagnostics.
    -
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI assistants to search Google SERPs, track rankings across locations, run Lighthouse SEO audits, find broken internal links, analyze backlinks, and get keyword volume data through a hosted service.
    15
    182 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources