Skip to main content
Glama

Server Details

135 MCP tools: geo, email, phone, company, DNS, FX, equities, weather, tax, econ, intel — one key.

Status
Unhealthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4/5 across 107 of 129 tools scored. Lowest: 3.1/5.

Server CoherenceB
Disambiguation3/5

The tool set is organized into clear domain groups with generally distinct purposes, but the high number of similar 'profile' and 'enrich' endpoints (e.g., address_enrich vs address_validate, geo_zip_lookup vs geo_enrich, jobs_role_skills vs jobs_related_skills) can cause misselection without careful reading. Descriptions help clarify, but some boundaries remain fuzzy.

Naming Consistency5/5

All tool names follow a consistent snake_case pattern with a domain prefix followed by an action (e.g., dns_lookup, fx_convert, weather_forecast). The 'batch' and 'auto' suffixes are systematically used for variants. No mixed conventions exist.

Tool Count1/5

With 129 tools, the server presents an extreme number of options per agent context, far exceeding the 3-15 well-scoped range. While the breadth reflects a multi-domain design, the count is likely to overwhelm navigation and increase token usage.

Completeness4/5

The tool surface is remarkably comprehensive within each covered domain—address, company, DNS, email, FX, jobs, weather—covering most read/lookup operations and even offering composite signal endpoints. Minor gaps exist (e.g., flight is limited to historical data, no live tracking), but the overall coverage is thorough.

Available Tools

129 tools
address_enrichAddress EnrichmentA
Read-onlyIdempotent
Inspect

Validate a US address and return the full ZIP enrichment (demographics, risk, climate, nearest airport, hazards) in one call.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesFree-form US address: street, city, state, ZIP.
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering safety. The description adds value by listing the enrichment categories returned and noting it's a one-call operation, but does not discuss limits, input normalization, or error behavior. With annotations present, this is adequate baseline credit.

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 that front-loads the action and includes the key enrichment categories. No filler or redundancy; every word earns its place.

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

Completeness4/5

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

Given a simple single-parameter tool with complete schema coverage, the description lists the main enrichment content (demographics, risk, climate, nearest airport, hazards) and mentions it's a one-call operation. It lacks output format details, but no output schema exists, so the listed categories are sufficient for the agent to understand the response scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (address described as 'Free-form US address: street, city, state, ZIP.'). The description echoes 'US address' and adds the enrichment context, but does not introduce new parameter meaning beyond the schema. Baseline 3 applies.

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

Purpose5/5

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

The description clearly states the action ('Validate a US address') and the resource ('US address') with a specific outcome ('return the full ZIP enrichment'), listing concrete enrichment categories. It distinguishes from sibling tools like address_validate by emphasizing the enrichment result in one call.

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

Usage Guidelines4/5

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

The description provides context that this tool is for validation plus enrichment, making it clear when it would be preferred over a simple validation tool. It does not explicitly name alternatives or exclusions, but the use case is well-implied by the listed enrichment categories.

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

address_validateUS Address ValidationA
Read-onlyIdempotent
Inspect

Parse and validate a free-form US address: standardize street/unit/city/state/ZIP and cross-check the ZIP against the geo dataset for state and city consistency.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesFree-form US address — street, city, state, ZIP.
Behavior4/5

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

Annotations already cover the safety profile (read-only, idempotent, non-destructive). The description adds behavioral context by explaining that the tool standardizes components and cross-checks the ZIP against a geo dataset for state/city consistency, which goes beyond mere annotation repetition.

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, well-structured sentence that front-loads the core purpose and then adds specific details. Every word earns its place, with no redundancy or filler.

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

Completeness4/5

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

The tool is simple with one parameter and no output schema. Annotations provide safety context, and the description explains the processing behavior. It doesn't describe the return format, but for a validation tool this is reasonably inferable. The description is complete enough for an agent to understand core functionality.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single 'address' parameter, which already describes it as a free-form US address. The description reinforces this but adds limited additional semantic meaning beyond the schema, mainly clarifying that the tool will parse and standardize the given components.

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

Purpose5/5

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

The description clearly states a specific action ('parse and validate') on a specific resource ('free-form US address'), and goes into detail about standardization and ZIP cross-checking. This distinguishes it from sibling tools like address_enrich and address_validate_batch by focusing on validation with geo-dataset consistency checks.

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

Usage Guidelines3/5

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

The description implies usage for free-form US addresses but does not explicitly mention when not to use it or alternatives. Given sibling tools like address_validate_batch, explicit guidance would be beneficial, but it's not present. The context is clear enough that an agent might infer it's for single address validation.

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

address_validate_batchAddress Validation BatchA
Read-onlyIdempotent
Inspect

Validate up to 50 US addresses in one request. Per-item errors are returned inline.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesUp to 50 free-form US addresses.
Behavior4/5

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

Annotations already disclose read-only, idempotent, and non-destructive behavior. The description adds valuable context with 'Per-item errors are returned inline', indicating that failures do not fail the entire batch. This goes beyond what the schema or annotations state.

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

Conciseness5/5

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

Two concise sentences, front-loaded with the primary action and scope. The second sentence adds useful behavioral detail. 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?

With no output schema, the description should explain what a successful response looks like (e.g., standardized address, validation status). It only mentions per-item errors, leaving the success return format unspecified. For a simple validation tool, this is a notable gap.

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 100% for the single parameter, which already describes 'Up to 50 free-form US addresses.' The tool description repeats this information without adding new meaning. Baseline 3 is appropriate since the schema handles the param description.

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

Purpose5/5

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

The description clearly states the action ('Validate'), the resource ('US addresses'), and the batch scope ('up to 50 in one request'). This distinguishes it from sibling tools like address_validate, which presumably handles a single address.

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 batch usage through 'up to 50' and 'in one request', but it does not explicitly state when to choose this over address_validate or mention alternatives. The context is clear, but no explicit when-not or alternative guidance is provided.

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

bin_lookupBIN / Card LookupA
Read-onlyIdempotent
Inspect

Identify the issuing bank, scheme (Visa / Mastercard / Amex / etc), card type (credit/debit/prepaid), and country behind a card BIN. Accepts a 6-8 digit BIN or a full PAN (Luhn-checked, never echoed). Returns scheme + card_type + brand + issuer_bank + country + risk_band. PCI-safe.

ParametersJSON Schema
NameRequiredDescriptionDefault
card_or_binYes6-8 digit BIN or full PAN (with or without spaces/dashes).
use_binlist_fallbackNoWhen false, force offline-only response (curated table + scheme prefix detection only).
Behavior4/5

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

The description adds valuable behavioral details beyond the annotations: it mentions Luhn-checking, that the PAN is never echoed, and that it is PCI-safe. These security/privacy practices are not captured in the readOnlyHint or other annotations, giving the agent useful context about how input 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?

The description is two sentences, front-loaded with the tool's purpose, then lists inputs and outputs compactly. Every sentence carries useful information without redundancy or fluff.

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

Completeness4/5

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

The description covers the main purpose, input requirements, and explicit return fields (scheme, card_type, brand, issuer_bank, country, risk_band). With a simple tool and 100% schema coverage, the description is sufficiently complete, though it could mention edge-case behavior like errors for invalid BINs.

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 100%: both `card_or_bin` and `use_binlist_fallback` already have clear descriptions. The description does not add much beyond restating the input format for `card_or_bin` and doesn't mention the fallback parameter at all. With full schema coverage, baseline 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb 'Identify' with a clear resource ('card BIN') and enumerates the exact outputs (issuing bank, scheme, card type, country). It distinguishes from sibling tools by uniquely addressing card BIN/PAN lookup among address, phone, company, and other lookup tools.

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

Usage Guidelines4/5

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

The description clearly states the accepted input types (6-8 digit BIN or full PAN) and what the tool returns, providing adequate context for when to use it. It does not explicitly mention alternatives or exclusions, but no sibling tool handles card BINs, so confusion is unlikely.

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

calendar_business_days_addAdd US Business DaysB
Read-onlyIdempotent
Inspect

Add N business days to a date and return the resulting business day.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesStart date YYYY-MM-DD.
daysYes
Behavior3/5

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

Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds the 'business day' concept, which implies holiday/weekend handling, but doesn't detail edge cases or the exact holiday calendar used.

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 redundant information.

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

Completeness3/5

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

For a simple date calculation tool with safe annotations, the description covers the core functionality and return value. However, it omits details about negative days, holiday calendar specifics, and behavior when the start date falls on a weekend, which are relevant for business-day calculations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: 'date' is described but 'days' is not. The description maps 'N' to the days parameter and 'date' to the date parameter, but adds no additional details like valid ranges, negative values, or zero-day behavior.

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

Purpose4/5

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

The description clearly states the action (add) and the resource (business days to a date), and mentions the return value. It does not explicitly distinguish itself from sibling calendar tools like calendar_is_business_day or calendar_holidays, 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 the calendar siblings, nor any exclusions or alternative recommendations. It simply describes the operation.

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

calendar_holidaysUS Federal HolidaysA
Read-onlyIdempotent
Inspect

List US federal holidays for a year, including observed dates per OPM rules.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds a valuable behavioral detail: holidays are according to 'OPM rules' and include 'observed dates,' which is not apparent from the schema or annotations. It does not fully detail return format, but the burden is lowered by the strong 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, information-dense sentence. It leads with the action and resource, then adds a specific rule detail, with no wasted words or redundancy.

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

Completeness5/5

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

For a simple tool with one optional parameter and no output schema, this description is complete. It states what is returned (federal holidays), the scope (for a year), and a key rule (OPM observed dates). No further context is needed to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must clarify the parameter. The phrase 'for a year' directly indicates that the year parameter determines the output. Although it does not state that the year is optional or define a range, it provides essential meaning beyond the bare schema property name.

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

Purpose5/5

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

The description uses a specific verb 'List' and clearly identifies the resource: 'US federal holidays for a year.' It also mentions 'including observed dates per OPM rules,' which adds scope and distinguishes it from sibling tools like calendar_business_days_add and calendar_is_business_day.

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

Usage Guidelines4/5

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

The description clearly indicates this tool is for obtaining federal holiday listings, providing clear context for when to use it. It does not explicitly state exclusions or name alternative tools, but the focus on holidays and OPM rules makes the appropriate use case unambiguous.

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

calendar_is_business_dayIs US Business DayA
Read-onlyIdempotent
Inspect

Check whether a US date is a business day (weekday and not a federal holiday).

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesISO date YYYY-MM-DD.
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 the business-day definition (weekday and not federal holiday), which is useful. However, it does not disclose any nuances such as observed holidays, timezone assumptions, or default behavior on weekends, so it adds moderate value 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?

One succinct sentence that fully defines the tool's purpose and the meaning of 'business day.' No word wasted, and the key information is front-loaded.

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

Completeness5/5

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

For a simple read-only predicate with one parameter and no output schema, the description is complete. It explains the input, the rule, and the scope (US federal holidays). The rich annotations further cover safety and idempotency, making this adequate for an agent to invoke 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?

The single parameter 'date' has 100% schema coverage with a descriptive type ('ISO date YYYY-MM-DD'). The description does not add any semantic detail beyond the schema, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb ('Check') and clear resource ('a US date') with an explicit definition of business day ('weekday and not a federal holiday'). It distinguishes itself from siblings like calendar_business_days_add and calendar_holidays by focusing on checking a single date rather than arithmetic or listing.

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

Usage Guidelines4/5

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

The description clearly implies when to use this tool: to test whether a specific date is a US business day. It does not explicitly mention alternatives or exclusions, but the context of sibling tools (e.g., calendar_business_days_add) makes the use case apparent. Lacks explicit 'use instead of' guidance which would merit a 5.

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

company_changeCompany Change SignalA
Read-onlyIdempotent
Inspect

SEC 8-K change-signal envelope for a public company. Pulls recent 8-K filings live from EDGAR, classifies item codes into change categories (M&A, leadership, restructuring, material agreement, financial, auditor, governance, disclosure), and returns a change-velocity score (0-100), dominant theme, and buyer-shaped action_hint tuned by buyer profile (sales_outreach, recruiter, investor_research, competitive_intel).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
domainNoCompany domain. One of domain or ticker required.
tickerNoStock ticker. Used when domain not provided.
window_daysNo
buyer_profileNosales_outreach
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false. The description adds behavioral context: live EDGAR lookup, item-code classification, and output composition (score, theme, action_hint). This goes beyond the annotations without contradicting them.

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

Conciseness4/5

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

The description is a single, dense sentence that packs all essential information without filler. It is front-loaded with the tool's core identity. Slightly long but every clause adds value.

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

Completeness4/5

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

With no output schema, the description adequately explains the return values: change-velocity score (0-100), dominant theme, and buyer-shaped action_hint. It also mentions the data source. It could specify the structure of returned data in more detail, but it covers the key aspects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 40% (domain and ticker have descriptions). The description compensates somewhat by explaining buyer_profile and its enum values, but limit and window_days rely on their names and defaults. It does not fully compensate for the low coverage.

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

Purpose5/5

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

The description states a specific action: pulls SEC 8-K filings live from EDGAR, classifies item codes into change categories, and returns a score/theme/action_hint. It clearly differentiates from siblings like company_changes or company_signal by focusing on a change-signal envelope for public companies.

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

Usage Guidelines4/5

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

The description gives clear context: for public company change signals, with buyer_profile indicating use cases (sales_outreach, recruiter, etc.). It does not explicitly state when not to use it or name alternatives, but the context is strong enough to guide selection.

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

company_changesCompany Change LogA
Read-onlyIdempotent
Inspect

Vendor / counterparty change monitoring. Returns time-ordered entity changes (status flips, parent acquisitions, renames) filtered by since-date, LEI, change_type, or country. Critical for continuous KYC and M&A monitoring.

ParametersJSON Schema
NameRequiredDescriptionDefault
leiNoRestrict to a single LEI.
pageNo1
sinceNoISO 8601 datetime or date. Default 7 days ago.
domainNoRestrict via domain resolution.
countryNoISO 3166-1 alpha-2 country.
per_pageNo50
change_typeNoFilter by change type. Comma-separated for multiple.
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive behavior. The description adds value by disclosing that results are time-ordered and enumerates the types of changes (status flips, acquisitions, renames), going beyond the annotations. It does not mention pagination or rate limits, but the core behavioral traits are covered.

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

Conciseness5/5

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

The description is compact, with the first sentence immediately stating the domain, the second detailing functionality, and the third providing use-case context. Every sentence earns its place with no redundancy.

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

Completeness4/5

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

For a list tool with 7 parameters and no output schema, the description conveys the core purpose, filter options, and typical use cases. It lacks explicit information about response structure or pagination, but the essence of the tool is well captured. A bit more detail about return fields would make it fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 71%, and the description renames the same filters (since-date, LEI, change_type, country) without adding new meaning. The 'domain' parameter is not mentioned in the description, and page/per_page are left undocumented in both schema and description. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool returns 'time-ordered entity changes' with specific examples like 'status flips, parent acquisitions, renames,' making its purpose obvious. It distinguishes itself from sibling lookup tools by focusing on change monitoring rather than current state.

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

Usage Guidelines4/5

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

The description provides clear context for use: 'Critical for continuous KYC and M&A monitoring.' It does not explicitly mention alternatives or when not to use it, but the use case is well-defined. Lacks explicit exclusions, so not a 5.

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

company_cikCompany by SEC CIKA
Read-onlyIdempotent
Inspect

Resolve a SEC EDGAR Central Index Key (CIK) to a unified company profile. Accepts CIK with or without leading zeros (320193 = 0000320193 = Apple).

ParametersJSON Schema
NameRequiredDescriptionDefault
cikYesSEC EDGAR CIK, e.g. '320193' or '0000320193'.
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the useful behavioral detail that leading zeros are accepted and normalized, with an explicit example. This goes beyond the annotations by clarifying input 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?

The description is two sentences, front-loaded with the primary action and resource. Every sentence contributes useful information: what the tool does and how input is normalized. No fluff 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?

The tool has no output schema, so the description should explain what the return value looks like. It says 'unified company profile' but does not enumerate any fields or structure. For a simple lookup tool with rich annotations and schema, this is a minor gap, making it adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a description for the 'cik' parameter that includes the same leading-zeros example. The tool description repeats this example, adding marginal value ('Apple' as a concrete instance). Baseline 3 is appropriate because the schema already documents the parameter fully.

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

Purpose5/5

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

The description uses specific language: 'Resolve a SEC EDGAR Central Index Key (CIK) to a unified company profile.' It clearly states the input (CIK) and the output (unified company profile), and provides an illustrative example (Apple). This distinguishes it from siblings like company_search or company_enrich, which have different purposes.

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

Usage Guidelines4/5

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

The description implicitly tells when to use this tool: when you have a CIK and want a unified company profile. It does not explicitly contrast with sibling tools (e.g., company_search, company_lookup_auto), nor does it mention when not to use it, but the context is clear enough for an agent to infer the appropriate use case.

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

company_classifyCompany ClassifyB
Read-onlyIdempotent
Inspect

Classify a domain using the loaded curated company profile set.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesDomain or URL, for example nvidia.com.
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds context about using a 'loaded curated company profile set' but doesn't disclose output format, error behavior, or state requirements 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.

Conciseness5/5

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

A single, front-loaded sentence communicates the core action and data source with no filler. It is highly concise and easily parsed.

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

Completeness3/5

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

For a single-parameter tool with strong annotations, the description is adequate but ambiguous about what 'classify' means or what output to expect. Without an output schema, the description could better clarify the classification result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema fully describes the 'url' parameter with an example, so description adds no extra semantics beyond confirming the input is a domain. Baseline of 3 applies because schema coverage is 100%.

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?

Description clearly states the tool classifies a domain using a curated company profile set. The verb 'classify' and resource 'domain' are specific, though it doesn't explicitly distinguish from sibling tools like company_industry or company_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?

No guidance on when to use this tool versus alternatives, and no mention of prerequisites. The phrase 'loaded curated company profile set' implies a dependency but doesn't clarify how or when the tool should be invoked.

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

company_domainCompany DomainB
Read-onlyIdempotent
Inspect

Return a company profile by domain. Demo mode allows selected sample domains.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesCompany domain or URL.
Behavior3/5

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

Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds the demo mode qualifier, which is useful, but does not describe return format, error handling, or domain normalization.

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 concise sentence states the core function and adds a relevant qualifier about demo mode. Every word earns its place, and the description is front-loaded with the primary action.

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

Completeness3/5

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

For a single-parameter read-only lookup, the description is adequate but lacks details about what the profile contains or how demo mode affects results. Given the many sibling tools, additional differentiation would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% coverage with a parameter description ('Company domain or URL.'). The tool description adds no meaningful parameter semantics beyond what the schema already states.

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 'Return' with resource 'company profile by domain' clearly states the function. It distinguishes from search/enrich siblings by specifying domain-based lookup, but does not explicitly name alternatives or define what a profile includes.

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

Usage Guidelines2/5

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

No guidance is provided on when to choose this over company_enrich, company_search, or company_lookup_auto. The demo mode note is a behavioral hint, not a usage directive.

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

company_domains_batchCompany Domain BatchA
Read-onlyIdempotent
Inspect

Return multiple company profiles by domain in one bounded request. Demo mode allows selected sample domains.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainsYesCompany domains, for example ["apple.com", "microsoft.com"]. A comma-separated string is also accepted.
Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds useful context beyond annotations: 'bounded request' (the 10-item max) and 'Demo mode' with selected sample domains. This clarifies limits not captured elsewhere, though error handling for invalid domains remains unspecified.

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 of minimal length: the first states the function, the second adds a demo-mode caveat. Everything included is relevant and there is no redundant or filler content.

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

Completeness4/5

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

For a tool with one fully described parameter, rich annotations, and no output schema, the description is adequately complete for selection and invocation. It lacks detail on error behavior or partial results, but these are minor given the simple interface.

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 100% for the single parameter 'domains', with an example and note about comma-separated strings. The description merely repeats 'domain' without adding further semantics, so the baseline of 3 applies.

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

Purpose5/5

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

Uses a specific verb 'Return' with a clear resource 'multiple company profiles', scoped by 'domain'. The phrase 'in one bounded request' distinguishes it from single-domain tools like company_domain and other batch operations.

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 a batch use case ('multiple company profiles', 'one bounded request') but never explicitly contrasts with alternatives such as company_domain for a single lookup or company_lookup_batch for name-based matches. No when-not-to-use guidance is provided.

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

company_enrichCompany EnrichmentA
Read-onlyIdempotent
Inspect

One-call company enrichment: identity + DNS + tech stack + SEC filings (if public) + cyber risk score.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesCompany domain, e.g. stripe.com.
Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds valuable context by disclosing the actual data categories included and that SEC filings are conditional on public status, which is beyond the schema and 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, highly informative sentence that is front-loaded with the core action ('one-call company enrichment') and then lists the specific data elements. Every word earns its place with no redundancy.

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

Completeness4/5

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

Although there is no output schema, the description gives a clear high-level summary of the expected return contents (identity, DNS, tech stack, SEC filings, cyber risk score). For an aggregate enrichment tool, this adequately sets expectations, though it could provide more detail on the structure of the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully covers the single parameter 'domain' with a clear description and example, giving 100% coverage. The description does not add any additional meaning beyond what the schema already provides, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool's purpose with a specific verb ('one-call enrichment') and enumerates the exact resources returned (identity, DNS, tech stack, SEC filings, cyber risk score). This distinguishes it from the many sibling tools that cover only one of these aspects.

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

Usage Guidelines4/5

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

The phrase 'one-call' indicates the tool should be used when multiple data categories are needed in a single request, differentiating it from individual data tools. However, it does not explicitly mention alternatives or situations where separate calls would be preferable.

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

company_industryCompany Industry SearchA
Read-onlyIdempotent
Inspect

Search loaded curated company profiles by industry, category, or description signals.

ParametersJSON Schema
NameRequiredDescriptionDefault
industryYesIndustry query, for example technology.
Behavior4/5

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

Annotations already declare read-only, open-world, idempotent, and non-destructive behavior. The description adds context with 'loaded curated' profiles, indicating the search operates on a specific pre-filtered dataset, and 'category, or description signals' shows it runs on semantic signals, which is useful beyond the raw 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 that immediately starts with the verb 'Search' and communicates the essential purpose without unnecessary words. It is concise and well-structured.

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

Completeness4/5

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

For a simple single-parameter search tool, the description covers the core functionality and data scope. It lacks explicit return-value details, but since there is no output schema and the tool is straightforward, this is acceptable. The mention of 'loaded curated' adds important context about data limitations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a basic description of the 'industry' parameter. The tool description enriches this by stating the search also covers category and description signals, giving the agent a broader understanding of what qualifies as a valid query value, though it may slightly conflict with the schema's simpler definition.

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

Purpose5/5

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

The description clearly states the tool 'searches loaded curated company profiles by industry, category, or description signals,' which specifies the verb (search), resource (company profiles), and search criteria. This distinguishes it from sibling tools like company_search or company_enrich by focusing on industry/category/description signals.

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

Usage Guidelines3/5

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

The description implies usage through the search criteria, but it does not explicitly compare to alternatives or state when not to use it. It would benefit from mentioning that other company search tools cover different query types (e.g., name, domain).

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

company_insightsCompany Insights (everything)B
Read-onlyIdempotent
Inspect

Single-call mega-endpoint — subject profile + hierarchy + corporate-family network + lifecycle timeline + peer benchmark in one response. The 'everything we know' company call.

ParametersJSON Schema
NameRequiredDescriptionDefault
leiNo
domainNo
tickerNo
include_peersNo
include_changesNo
include_filingsNoLive SEC EDGAR filings fetch (adds latency; public companies only).
include_networkNo
include_timelineNo
include_hierarchyNo
include_risk_indicatorsNo
Behavior3/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows it is safe. The description adds the scope of the response but does not disclose additional behaviors such as response size, pagination, rate limits, or any latency caveats beyond what's in the schema for include_filings.

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

Conciseness5/5

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

The description is extremely concise—two short sentences with no filler. It front-loads the key value proposition and lists the main components efficiently.

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

Completeness2/5

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

For a complex 'mega-endpoint' with 10 parameters and no output schema, the description is under-specified. It does not explain how to provide a company identifier, what the response shape looks like, or any caveats (e.g., filings only for public companies, latency). The tagline 'everything we know' overpromises without operational 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?

Only 1 of 10 parameters has a schema description (include_filings), and the tool description does not explain any parameters or how the identifier fields (lei, domain, ticker) relate to each other. The description's list of included components loosely maps to the boolean flags, but does not clarify defaults or selection logic, leaving a significant semantics 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 identifies the tool as a single-call aggregate endpoint and enumerates its components (profile, hierarchy, network, timeline, peer benchmark), clearly distinguishing it from narrower sibling tools like company_enrich or company_peer_comparison. However, it lacks an explicit verb phrase like 'retrieve' or 'get', relying on the title and tagline to convey the action.

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

Usage Guidelines3/5

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

The description implies this is the go-to call for a comprehensive company view ('everything we know'), but it does not explicitly state when to choose this over alternatives or any exclusions or prerequisites. No alternative tools are named, and there is no guidance on trade-offs like latency or cost.

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

company_lookup_autoCompany Smart LookupA
Read-onlyIdempotent
Inspect

Auto-detect identifier type and route. Accepts LEI, CIK, domain, email, ticker, or exact name. Returns resolution.matched_on so caller can confirm what type was used.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYesAny of: LEI (20 chars), CIK (digits), domain (has dot), email (has @), ticker (1-5 letters), or exact company name.
Behavior4/5

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

Annotations already declare readonly and idempotent behavior, lowering the bar. The description adds useful context by disclosing that resolution.matched_on is returned so the caller can confirm which identifier type was used, going beyond the schema and 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 only two sentences, front-loaded with the core action and followed by valuable return behavior information. Every word earns its place with no redundancy or fluff.

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

Completeness4/5

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

For a simple one-parameter lookup with rich annotations and no output schema, the description covers purpose, accepted inputs, and a key return field. It is adequate for typical use, though it could have briefly mentioned the broader resolution object or error behavior for full completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and already provides detailed heuristics for each accepted identifier type. The description merely lists the same types without adding new meaning, so it meets the baseline without enhancing parameter understanding.

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

Purpose5/5

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

The description uses a specific verb ('Auto-detect and route') and clearly states the resource and accepted identifier types (LEI, CIK, domain, email, ticker, exact name). It distinguishes itself from siblings like company_cik or company_lookup_batch by emphasizing type auto-detection for a single lookup.

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

Usage Guidelines4/5

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

The 'Auto-detect identifier type' phrasing clearly implies use when the identifier type is unknown, which distinguishes it from type-specific tools. However, it does not explicitly name alternative tools or state when not to use it, stopping short of full guidance.

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

company_lookup_batchCompany Batch Multi-Identifier LookupA
Read-onlyIdempotent
Inspect

Resolve up to 50 mixed identifiers (domain, LEI, ticker, name) in a single POST. Each result preserves the original input for join-back.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifiersYes
Behavior4/5

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

Annotations already convey read-only, idempotent, and non-destructive behavior. The description adds meaningful behavioral context by stating that each result preserves the original input for join-back, which is not implied by the annotations or schema. This provides useful insight into the response structure, though it doesn't cover all edge-case behaviors.

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, each earning its place. The first states the core function and limit; the second adds a critical join-back detail. No filler or redundancy.

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

Completeness4/5

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

For a single-parameter batch tool with no output schema, the description covers the essential aspects: identifier types, batch size, single request, and result join-back. It lacks details on error handling or partial success behavior, but given the simplicity and good annotations, it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description carries the burden of explaining the parameter. It enumerates the allowed identifier types (domain, LEI, ticker, name), which directly corresponds to the schema enum, and explains that they can be mixed. This adds semantic value beyond the bare schema, though it doesn't describe the exact object structure (type/value) in prose.

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 ('Resolve') and resource ('up to 50 mixed identifiers') with clear enumeration (domain, LEI, ticker, name). It distinguishes itself from siblings by highlighting the batch capability and the mixed-type support, making the tool's purpose unmistakable.

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

Usage Guidelines4/5

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

The description clearly indicates the tool is for batch resolution (up to 50 items in a single POST), which implies the use case of processing multiple identifiers at once. However, it does not explicitly mention when not to use it or point to alternatives like single-lookup tools, so it stops short of full guidance.

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

company_networkCompany Corporate FamilyA
Read-onlyIdempotent
Inspect

Walk the GLEIF ultimate-parent hierarchy and return every entity sharing the same conglomerate root. Excludes pension/retirement trusts by default.

ParametersJSON Schema
NameRequiredDescriptionDefault
leiNoResolve subject by GLEIF LEI.
pageNo
domainNoResolve subject by domain.
per_pageNo1-200.
include_pension_trustsNo
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false, so safety profile is covered. The description adds meaningful behavioral context: it walks a specific hierarchy (GLEIF ultimate-parent), returns all entities at that root, and excludes pension/retirement trusts by default. This goes beyond annotations by clarifying scope and default filtering behavior. A small gap: it doesn't mention whether this is paginated or how many results may be returned, but with openWorldHint and no output schema, it's reasonably transparent.

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

Conciseness5/5

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

Two concise sentences: the first states the core action and outcome, the second adds a key default behavior. No filler, no repetition of schema or annotations, and it front-loads the core purpose.

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

Completeness4/5

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

For a read-only lookup with annotations covering safety and idempotency, the description covers the main entity-relationship semantics (walk ultimate-parent hierarchy, return same-root entities, default exclusion). No output schema, but the purpose is clear and the parameters are mostly documented. A minor gap is not explaining pagination behavior or result limits, but this is a moderate-complexity tool and the description is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 60%, with 3 of 5 params described (lei, domain, per_page) and 2 minimal (page, include_pension_trusts). The description adds important meaning for include_pension_trusts by stating the default exclusion of pension/retirement trusts, which directly explains the parameter's role. It also clarifies 'lei' and 'domain' are resolution paths, but the schema already indicates that. It doesn't fully explain 'page' semantics, but the schema default and integer type give some clue. Overall, the description compensates for the schema gaps and adds value.

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

Purpose5/5

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

The description uses a specific verb ('Walk') and resource ('GLEIF ultimate-parent hierarchy') and clearly states the result: 'return every entity sharing the same conglomerate root.' It also distinguishes itself from sibling tools like company_enrich (single-entity lookup) and company_peer_comparison by focusing on the corporate family/root hierarchy.

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

Usage Guidelines4/5

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

The description implies when to use this tool: when you need the full ultimate-parent hierarchy ('every entity sharing the same conglomerate root'), which is distinct from other company tools. It doesn't explicitly name alternatives or exclusions (e.g., 'for single-entity lookup use company_enrich'), but the context of the goal and siblings makes the use case clear. The 'Excludes pension/retirement trusts by default' notes a default behavior that guides expected use.

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

company_nonprofit_einCompany Nonprofit EINB
Read-onlyIdempotent
Inspect

Return a nonprofit identity profile by EIN.

ParametersJSON Schema
NameRequiredDescriptionDefault
einYesEmployer Identification Number, for example 20-0049703.
Behavior2/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds no additional behavioral context such as data freshness, rate limits, or return format, providing no 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?

The description is a single sentence that is front-loaded with the verb and resource. No wasted words or redundancy.

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

Completeness4/5

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

For a simple single-parameter lookup tool with strong annotations and full schema coverage, the description is mostly adequate. However, without an output schema, it leaves the contents of 'identity profile' unspecified and doesn't point to alternative tools, so a slight improvement could be made.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single 'ein' parameter, with an example provided. The tool description merely restates 'by EIN' without adding additional semantic meaning beyond the schema already provides, so baseline 3 is appropriate.

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

Purpose5/5

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

Description uses specific verb 'Return' with clear resource 'nonprofit identity profile' and input 'EIN'. This distinguishes it from sibling tools like company_nonprofit_search (likely searching by name or criteria) and company_enrich (which may use other identifiers).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description does not mention when to use EIN-based lookup vs other company tools, nor does it include any exclusions or preconditions.

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

company_peer_comparisonCompany Peer ComparisonA
Read-onlyIdempotent
Inspect

Benchmark a company against same-industry/same-country peers — employee distribution, jurisdiction mix, founding-decade histogram, and where the subject ranks within the peer set.

ParametersJSON Schema
NameRequiredDescriptionDefault
leiNoResolve subject by GLEIF LEI.
scopeNoindustry_country
domainNoResolve subject by domain.
tickerNoResolve subject by ticker.
Behavior4/5

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

Annotations already disclose read-only, idempotent, and non-destructive behavior. The description adds valuable context about the output's analytical dimensions, which helps the agent set expectations. It does not cover edge cases like empty peer sets or failure modes, but given the annotations, the added context is sufficient.

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

Conciseness5/5

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

The description is a single, well-structured sentence that starts with the action and lists the key outputs without filler. Every phrase adds informational value, making it both concise and informative.

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?

With no output schema, the description takes on the burden of explaining what the tool returns, and it does so by listing the specific peer-set analytics. It does not describe the response structure or peer-selection criteria in depth, but for a benchmarking tool with clear annotations, this is a solid level of completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has descriptions for lei, domain, and ticker (75% coverage). The description does not elaborate on these parameters, nor does it explain the 'scope' enum values beyond the default 'industry_country' implied by 'same-industry/same-country'. The semantics are mostly left to the schema, and the missing scope description is not compensated for, though the enum values are fairly self-explanatory.

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

Purpose5/5

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

The description clearly identifies the tool's verb ('Benchmark') and resource ('a company'), and specifies the peer comparison context with concrete output dimensions (employee distribution, jurisdiction mix, founding-decade histogram, rank). This strongly differentiates it from sibling tools like company_enrich or company_industry.

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

Usage Guidelines4/5

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

The description establishes a clear use case: benchmarking a company against peers in the same industry/country. It implies when to use this tool, but does not explicitly mention alternatives or exclusion cases (e.g., 'if you only need one metric, use X'). Still, the context is unambiguous enough for an agent to select it over unrelated tools.

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

company_registrationCompany Registration NumberA
Read-onlyIdempotent
Inspect

Resolve a registry-assigned registration number (Companies House, Delaware file number, Handelsregisternummer, etc.) to a company profile. Pass country= to disambiguate since regnums aren't globally unique.

ParametersJSON Schema
NameRequiredDescriptionDefault
regnumYesRegistration number, e.g. Stripe's Delaware file number '4675506'.
countryNoOptional ISO 3166-1 alpha-2 country code to disambiguate.
jurisdictionNoOptional ISO 3166-2 jurisdiction for finer scoping.
Behavior4/5

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

The description adds behavioral context beyond the annotations: it warns that registration numbers aren't globally unique and that country disambiguation is necessary. This clarifies result ambiguity, which readOnlyHint/idempotentHint do not cover. No contradiction with annotations.

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

Conciseness5/5

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

The description is two sentences with front-loaded purpose and a practical usage tip. Every word earns its place; no filler.

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

Completeness5/5

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

For a simple resolution tool, the description is complete: it specifies the input (registration number), the required disambiguation (country), and the output (company profile). The schema fully documents parameters, and annotations cover safety/idempotency, so no critical gaps remain.

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?

All three parameters are described in the schema (100% coverage), so the baseline is 3. The description enhances the semantics by explaining why the country parameter matters ('regnums aren't globally unique'), which is not evident from the schema alone. It also provides a concrete example (Stripe's Delaware file number) in the schema description.

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

Purpose5/5

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

The description uses the verb 'Resolve' and clearly identifies the resource ('registry-assigned registration number ... to a company profile'). It provides concrete examples (Companies House, Delaware file number, Handelsregisternummer), which distinguishes it from sibling lookup tools that operate on domains or names.

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

Usage Guidelines4/5

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

The description clearly indicates this tool is for when you have a registry-assigned registration number. It also instructs to pass country= for disambiguation because registration numbers aren't globally unique. However, it does not explicitly name alternatives or exclusion criteria, so it stops short of complete 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.

company_signalCompany Buyer SignalA
Read-onlyIdempotent
Inspect

Composite B2B buyer-signal score (0-100) for a company. Joins curated identity + live SEC EDGAR filings + DNS/DMARC + WHOIS + curated hiring signals into one explainable score tuned by buyer profile (enterprise_sales, smb_sales, investor_research, vendor_diligence). Returns overall score, tier, verdict, six sub-scores with notes, tech-stack hint, and SEC activity summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoCompany domain (e.g. apple.com). One of domain or ticker is required.
tickerNoStock ticker (e.g. AAPL). Used when domain is not provided.
buyer_profileNoBuyer profile that tunes the sub-score weights.enterprise_sales
include_filingsNoFetch live SEC EDGAR filings (adds ~400ms upstream).
Behavior4/5

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

Annotations already cover read-only, idempotent, open-world, non-destructive. The description adds meaningful behavioral context: it joins identity, SEC filings, DNS/DMARC, WHOIS, and hiring signals; calculates an explainable score tuned by buyer profile; and returns specific outputs. This enriches the behavioral profile 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.

Conciseness4/5

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

One densely packed sentence that efficiently conveys purpose, inputs, methodology, and outputs without fluff. Every clause adds information, though it could be slightly restructured for readability.

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

Completeness4/5

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

For a tool without output schema, the description lists all major return components (overall score, tier, verdict, six sub-scores, tech-stack hint, SEC activity summary). It also mentions the join logic and profile tuning, providing a solid understanding of what the tool computes. Some edge cases like domain/ticker precedence are left to the schema, which is acceptable.

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 already documents all 4 parameters with 100% coverage, including enums and defaults. The description reinforces the buyer_profile concept and the SEC filings dependency but doesn't add new parameter details beyond schema.

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

Purpose5/5

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

Clearly states it produces a composite B2B buyer-signal score (0-100) for a company, and differentiates from related tools like funding_signal or hiring_signal by combining multiple signal types and buyer profile tuning.

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?

Description implies usage for B2B buyer signaling with a specific buyer profile, clearly connecting to the buyer_profiles sibling tools, but does not explicitly name alternatives or exclusions. The context is clear enough for an agent to select this over single-signal tools.

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

company_statsCompany Stats AggregationsA
Read-onlyIdempotent
Inspect

Return aggregate counts across the 3.3M-entity registry — by country, jurisdiction, industry, entity_type, employee_range, decade founded, plus hierarchy/data-quality coverage. Filter the slice with country/jurisdiction/industry/naics.

ParametersJSON Schema
NameRequiredDescriptionDefault
top_nNoItems returned per facet (1-50).
countryNoISO 3166-1 alpha-2 country, e.g. 'US'.
industryNoIndustry keyword.
naics_codeNo2-digit NAICS sector code.
jurisdictionNoISO 3166-2 jurisdiction, e.g. 'US-DE'.
Behavior4/5

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

Annotations already declare the tool read-only, idempotent, and non-destructive. The description adds useful behavioral detail about the scope (3.3M entities), the facets computed, and the inclusion of hierarchy/data-quality coverage, going 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?

Two concise sentences that front-load the core purpose and then list facets and filters. Every word earns its place; no redundancy or filler.

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

Completeness4/5

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

Given the tool's simplicity, the description covers the main behavior and available filters. There is no output schema, but the description states that aggregate counts are returned. It could specify the exact return structure, but this is not critical for an aggregation tool with optional parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides 100% description coverage for all parameters. The description reinforces which filter parameters exist (country, jurisdiction, industry, naics) but adds no additional semantic detail beyond the schema. Top_n and its range are only in the schema.

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

Purpose5/5

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

The description clearly states the tool returns aggregate counts from a specific resource (the 3.3M-entity registry) and enumerates the grouping dimensions. It distinguishes itself from sibling lookup/enrichment tools by focusing on aggregations rather than individual records.

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

Usage Guidelines4/5

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

The description implies usage for statistical overviews and mentions filtering by parameters, giving context for when to call it. However, it does not explicitly state exclusions or name alternatives, so it falls short of full guidance.

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

company_tickerCompany TickerB
Read-onlyIdempotent
Inspect

Return a loaded curated company profile by public ticker.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesTicker symbol, for example NVDA.
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the basic safety profile. The description adds 'loaded curated', which hints at a pre-processed or cached profile, but does not disclose any additional behavioral traits such as rate limits, data freshness, or error conditions. This is acceptable given the strong annotation coverage.

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

Conciseness5/5

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

The description is a single, concise sentence that conveys the essential purpose without redundant words. It is front-loaded with the action ('Return') and resource, making it easy to parse quickly.

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

Completeness4/5

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

For a simple single-parameter lookup tool with strong annotations and no output schema, the description is sufficient for an agent to know what input to provide and what kind of output to expect (a curated company profile). The lack of explicit sibling differentiation is a minor gap, but the tool is straightforward enough that this does not impede correctness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides a clear description for the only parameter (ticker: 'Ticker symbol, for example NVDA.'), with 100% schema coverage. The description's phrase 'by public ticker' aligns with the schema but adds no new semantic detail, so a baseline score of 3 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?

The description clearly states the verb ('Return') and resource ('loaded curated company profile'), scoped by 'public ticker'. It is specific enough to distinguish from many of the 80+ sibling tools, though it does not explicitly mention how it differs from similar company-related tools like company_enrich or equities_ticker.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of exclusions, prerequisites, or comparative context with any sibling tools, leaving the agent to infer suitability solely from the name and description.

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

company_timelineCompany TimelineA
Read-onlyIdempotent
Inspect

Chronological lifecycle event list for any company — founding year, SEC former-name rebrand events, current status, parent disclosures.

ParametersJSON Schema
NameRequiredDescriptionDefault
leiNoResolve subject by GLEIF LEI.
domainNoResolve subject by domain.
tickerNoResolve subject by ticker.
Behavior4/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 clear. The description adds meaningful context beyond annotations by specifying the type of events returned (founding year, SEC rebrands, parent disclosures) and that the list is chronological. It does not contradict annotations and provides useful behavioral insight into the output.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that packs in the core purpose and examples without any fluff. Every clause adds value, making it highly concise and well structured.

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 read-only lookup tool with 3 optional parameters and no output schema, the description gives a solid sense of what is returned (chronological list, specific event types). It does not explain parameter precedence or behavior when no params are provided, but this is a minor gap given the simplicity of the tool and the annotations. Overall, it is sufficiently complete for an agent to select and invoke 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 100%, with each parameter (lei, domain, ticker) described as 'Resolve subject by ...'. The description does not add further parameter semantics or clarify precedence when multiple identifiers are provided. Baseline of 3 is appropriate since the schema already documents each parameter.

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

Purpose5/5

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

The description clearly states the tool returns a 'Chronological lifecycle event list for any company' with concrete examples (founding year, SEC former-name rebrand events, current status, parent disclosures). This distinguishes it from sibling tools like company_enrich or company_registration, which focus on current data rather than a timeline.

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

Usage Guidelines3/5

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

The description implies when to use the tool (when you need lifecycle events), but it does not explicitly state alternatives or exclusions. For example, it does not say 'use company_enrich for current details' or 'avoid this if you only need current status'. The usage context is implied rather than explicit, so it falls short of strong guidance.

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

compliance_signalCompliance Signal (Sanctions + Enforcement)A
Read-onlyIdempotent
Inspect

Compliance-status snapshot for a company: screens against Treasury OFAC SDN entries and SEC enforcement actions, and returns a 0-100 compliance score, tier, decision_hint (proceed / proceed_with_review / escalate / block_pending_review), and critical flags. Tuned by buyer profile (kyc_onboarding, vendor_diligence, regulated_industry, marketplace_listing). SCOPE: decision-support only — does not replace formal KYC or licensed sanctions screening.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoCompany domain — used to resolve canonical name.
tickerNoStock ticker — used to resolve canonical name + CIK.
companyNoCompany name. One of company / domain / ticker required.
buyer_profileNokyc_onboarding
Behavior5/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false. The description adds significant behavioral detail: it lists the specific data sources (OFAC SDN, SEC enforcement), the output components (score, tier, decision_hint with enumerated values, critical flags), and the tuning by buyer_profile. It also adds the critical scope limitation ('decision-support only'). This goes well beyond the annotations without contradicting them, so a 5 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?

The description is concise and well-structured: 3 sentences, each with a distinct purpose (function/outputs, tuning, scope). It is front-loaded with the main verb and resource, and every sentence adds value without fluff or repetition.

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

Completeness4/5

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

Given there is no output schema, the description does a good job explaining return values (score, tier, decision_hint with enumerations, critical flags) and the input context (company resolution via domain/ticker/company, buyer_profile tuning). It is complete for a snapshot tool, but could be slightly richer about data freshness or how the score is derived. Still, it is sufficient, so a 4.

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 75% (domain, ticker, company have descriptions; buyer_profile has an enum but no description). The description mentions 'Tuned by buyer profile' and lists the profile values, but this largely duplicates schema info. It does not add meaning to domain/ticker/company beyond what the schema already states about resolving canonical names. Since baseline for high coverage is 3, and the description provides minimal added param context, a 3 is warranted.

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

Purpose5/5

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

The description clearly states the tool's function: 'Compliance-status snapshot for a company: screens against Treasury OFAC SDN entries and SEC enforcement actions, and returns a 0-100 compliance score, tier, decision_hint, and critical flags.' It uses a specific verb ('screens') and resource ('compliance status'), and distinguishes from siblings like sanctions_search (which is a raw search) and company_signal (a general signal) by focusing on compliance scoring and decision support.

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

Usage Guidelines4/5

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

The description provides clear context for use: 'Tuned by buyer profile' and 'SCOPE: decision-support only — does not replace formal KYC or licensed sanctions screening.' This gives a when-not-to-use warning (not for formal KYC) but does not explicitly name alternative tools, such as sanctions_search or intel_compliance_profiles. Thus it has clear context but no explicit exclusions or alternatives, meriting a 4.

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

counterparty_riskCounterparty Risk SnapshotA
Read-onlyIdempotent
Inspect

B2B counterparty-risk composite: should we extend terms to this company? Joins curated identity + live SEC EDGAR filings + DNS/DMARC + WHOIS into a risk-weighted 0-100 score (higher = lower risk), plus a tier and a decision_hint that maps to AR/AP actions (approve_net_30, approve_with_credit_check, require_prepayment, decline_pending_review). Supports four risk profiles for different underwriting postures.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoCompany domain. One of domain or ticker required.
tickerNoStock ticker. Used when domain not provided.
risk_profileNoar_default
include_filingsNo
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, openWorld). The description adds meaningful behavioral context: it joins live SEC EDGAR filings (implying network calls and potential latency), defines the score scale (0-100, higher = lower risk), and explains the decision_hint mapping to AR/AP actions. It does not discuss missing-data scenarios, but the incremental transparency is solid.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, then data sources and outputs. Every clause adds value, with no repetition of schema/annotations. The description is dense but efficient.

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

Completeness4/5

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

The description covers the core purpose, inputs (implied), and outputs (score, tier, decision_hint) even without an output schema. It is complete for a read-only composite risk tool, though it could improve by specifying parameter semantics and edge-case behavior. Overall, it gives an agent enough to invoke the tool correctly for its primary use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50% (domain and ticker have descriptions). The description vaguely references risk_profile ('four risk profiles') but does not explain what each profile means or how to choose. include_filings is not mentioned at all, despite the description emphasizing SEC EDGAR filings. The description fails to compensate for the undocumented parameters.

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

Purpose5/5

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

The description clearly states a specific verb and resource: computing a B2B counterparty-risk composite to decide whether to extend terms. It enumerates the data sources (identity, SEC EDGAR, DNS/DMARC, WHOIS) and the outputs (score, tier, decision_hint), making it distinct from sibling tools like cyber_risk or company_enrich.

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

Usage Guidelines4/5

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

The description gives a clear use case ('should we extend terms to this company?') and mentions four risk profiles for different underwriting postures, implying how to adapt usage. It does not explicitly name alternative tools or when-not-to-use scenarios, but the context is concrete enough for an agent to select it for credit decisions.

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

cyber_riskCyber Risk SignalA
Read-onlyIdempotent
Inspect

DNS-hygiene + tech-stack-exposure surface for a domain. Returns a 0-100 cyber score (higher = lower risk) with six sub-scores (email security, DNS hardening, domain hygiene, infra exposure, tech-stack exposure, spoofability), critical flags, and concrete recommended actions. Tuned by buyer profile. SCOPE: inspects published DNS only — no port scans, breach lookups, or CVE matching.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesCompany domain, e.g. example.com.
buyer_profileNocyber_insurance_underwriting
Behavior5/5

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

Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior. The description adds substantial behavioral context: the scale interpretation ('higher = lower risk'), the exact six sub-score categories, critical flags, recommended actions, and the crucial scope limitation (published DNS only). This goes well beyond what annotations provide and gives the agent a clear model of the tool's behavior and output.

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

Conciseness5/5

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

Two sentences, front-loaded with the core purpose and output, and a second sentence for scope. Every clause adds value: the sub-score enumeration is compact but informative, and the SCOPE line prevents misuse. No filler or redundancy.

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

Completeness5/5

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

The tool has no output schema, so the description must explain return values, which it does thoroughly (score, sub-scores, flags, actions). It also covers input tuning (buyer_profile) and scope boundaries. For a read-only scoring tool with two parameters, this is complete enough for an agent to select and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema describes the 'domain' parameter but not 'buyer_profile'. The description adds meaning to 'buyer_profile' by stating the tool is 'Tuned by buyer profile', which explains its role in adjusting the score. For 'domain', the schema description suffices. With 50% schema coverage, the description partially compensates but could have elaborated on how buyer_profile affects results more concretely.

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

Purpose5/5

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

The description states a specific verb-resource pair ('DNS-hygiene + tech-stack-exposure surface for a domain') and clearly distinguishes the tool from siblings by detailing the composite 0-100 cyber score, six sub-scores, and explicit scope exclusions. This is much more specific than a generic label and differentiates it from DNS-only or tech-stack-only tools.

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

Usage Guidelines4/5

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

The description implies when to use this tool (for a domain-level cyber risk assessment) and explicitly states what it does not do ('no port scans, breach lookups, or CVE matching'), which helps rule out alternatives. However, it never names sibling tools like dns_lookup or tech_stack as alternatives, so the guidance is contextually clear but lacks explicit when-not-to-use references.

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

dns_certificatesDomain Certificate HistoryA
Read-onlyIdempotent
Inspect

Recent SSL certificates from Certificate Transparency logs (crt.sh). Returns recent certs with issuer + expiry, plus the deduped subdomain list discovered across all CT entries. Useful for shadow-IT detection, sales-intel hostname discovery, and phishing-cert monitoring.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
domainYes
Behavior4/5

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

With annotations already covering the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), the bar is lower, and the description adds useful context beyond them: the external source (crt.sh/CT logs), the recency constraint, and the deduplicated subdomain-collection behavior across all CT entries. Nothing in the description contradicts the read-only, non-destructive, idempotent nature of 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?

The description is three sentences, front-loaded with the core source and return behavior, with use cases placed last for scannability. Minor redundancy exists between "Recent SSL certificates" and "Returns recent certs" in consecutive sentences, preventing a perfect score, but every sentence otherwise earns its place.

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

Completeness4/5

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

Since there is no output schema, the description correctly takes responsibility for return values and covers the key elements: certs with issuer and expiry, plus the deduplicated subdomain list. Combined with full annotation coverage, this is fairly complete for a simple 2-parameter read-only tool, though it leaves gaps around what "recent" means, whether 'domain' matches base domain or subdomains, and how 'limit' applies.

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 parameter meaning. The 'domain' parameter is only implied via the title and the "hostname discovery" use case, and the 'limit' parameter (default 20, max 100) is never mentioned — the agent receives no explanation of how limit affects the returned cert count or whether the subdomain list is subject to it.

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

Purpose5/5

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

The description opens with a specific noun phrase identifying the resource — "Recent SSL certificates from Certificate Transparency logs (crt.sh)" — followed by a concrete statement of returns: "Returns recent certs with issuer + expiry, plus the deduped subdomain list." This clearly distinguishes dns_certificates from sibling DNS tools (dns_lookup, dns_history, dns_tls) by anchoring on CT-log certificate data and the unique subdomain-discovery output.

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

Usage Guidelines4/5

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

The description names three concrete, valid use cases: "shadow-IT detection, sales-intel hostname discovery, and phishing-cert monitoring," giving an agent clear situational context for when to select this tool. However, it does not mention when-not-to-use it or name alternative sibling tools, so it stops short of the explicit guidance required for a 5.

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

dns_compareDomain Comparison (Phishing/Typosquat Detection)A
Read-onlyIdempotent
Inspect

Compare a target domain against a reference for phishing / typosquatting / lookalike detection. Computes edit distance, apex/TLD diff, homoglyph substitution detection (0↔o, 1↔l, rn↔m). Flags is_likely_typosquat + is_likely_lookalike with drivers. Pure analytical comparison — no DNS query.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesSuspect domain, e.g. striipe.com.
referenceYesKnown-good domain, e.g. stripe.com.
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering safety. The description adds meaningful behavioral context beyond these: it is purely analytical with no DNS query, and it discloses that it flags is_likely_typosquat and is_likely_lookalike with drivers. It does not detail output structure or edge cases, but the annotations lower the bar.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the main purpose, and every clause adds value (algorithms, flags, no-DNS clarification). There is zero fluff or repetition of schema details.

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

Completeness4/5

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

With no output schema, the description takes responsibility for explaining return behavior; it mentions key flags and drivers but not the full result structure. Given the tool's simple 2-parameter nature and strong annotations, this is sufficiently complete for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with clear descriptions for both parameters (reference as known-good, target as suspect). The description reinforces these roles but adds no new format, syntax, or constraints beyond the schema. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool compares a target domain against a reference for phishing/typosquatting/lookalike detection, with specific verb 'Compare' and resource 'domain'. It also distinguishes from sibling DNS tools by explicitly noting 'no DNS query', making the purpose unambiguous.

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

Usage Guidelines4/5

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

It provides clear context (compare two domains for typosquatting) and implicitly excludes DNS queries by stating 'Pure analytical comparison — no DNS query'. However, it does not explicitly name alternative tools like dns_lookup or provide when-not-to-use guidance, 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.

dns_historyObserved DNS History (passive)A
Read-onlyIdempotent
Inspect

Snapshot-on-query passive-DNS view. Returns every (record_type, value) tuple seen for this domain during /dns/lookup calls, with first_seen + last_seen + observation_count. Useful for detecting when A records moved or recovering historical NS/MX values. Not a global feed — accumulates from when our users first resolve a domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
record_typeNoOptional filter: A / AAAA / MX / TXT / NS / CNAME / SOA / CAA.
limit_per_typeNo
Behavior4/5

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

Annotations already declare read-only, idempotent, and open-world behavior. The description adds meaningful context beyond this by explaining that data accumulates from user lookups, is snapshot-on-query, and is not a global feed, which clarifies data freshness and coverage limits.

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 four sentences, each adding distinct information: the operation, return format, use cases, and limitations. It is front-loaded with the primary function and contains no filler or redundant wording.

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

Completeness4/5

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

With no output schema, the description adequately explains the return tuple and the data's temporal scope, and it clearly states the data source limitation. It doesn't detail how limit_per_type affects results or domain format, but overall it provides sufficient context for a read-only query 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 only 33%, with only record_type documented. The description mentions record_type implicitly but does not clarify the semantics of domain or limit_per_type, which are otherwise undocumented. Given the low coverage, the description fails to compensate, leaving significant parameter ambiguity.

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

Purpose5/5

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

The description clearly states the tool returns every DNS record tuple seen for a domain, with specific output fields (record_type, value, first_seen, last_seen, observation_count). It distinguishes itself from active DNS lookup by being a passive snapshot-on-query view, contrasting with sibling tools like dns_lookup.

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

Usage Guidelines4/5

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

It provides concrete use cases such as detecting when A records moved or recovering historical NS/MX values, and warns that it's not a global feed. However, it doesn't explicitly mention when not to use it or name alternatives, so it lacks explicit exclusion guidance.

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

dns_lookupDNS LookupA
Read-onlyIdempotent
Inspect

Resolve A, AAAA, MX, TXT, NS, CNAME, SOA, and CAA records for a domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
typesNoOptional comma-separated record types.
domainYesDomain name, e.g. example.com.
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description does not need to repeat safety. It adds value by disclosing the exact set of record types the tool can resolve, which is a behavioral detail not present in the annotations. It does not describe caching or failure behavior, but for a simple lookup this is sufficient.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that uses an active verb and lists all supported record types in a compact manner. Every word earns its place, with no filler or redundancy.

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

Completeness5/5

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

The tool is simple: two parameters, no nested objects, no output schema. The description fully states the tool's purpose and capabilities. The schema covers the input requirements. No essential context is missing, especially given the read-only and idempotent annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description goes beyond the schema by explicitly enumerating the valid values for the 'types' parameter (A, AAAA, MX, etc.), which is more informative than the schema's generic 'comma-separated record types' description. This helps an agent understand exactly what the tool can return and how to filter.

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

Purpose5/5

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

The description uses the specific verb 'Resolve' and names the exact resource (DNS records for a domain) and enumerates all supported record types (A, AAAA, MX, TXT, NS, CNAME, SOA, CAA). This clearly distinguishes it from sibling tools like dns_certificates, dns_history, or dns_whois, which focus on more specialized DNS data.

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

Usage Guidelines4/5

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

The description provides clear context: it is the general-purpose DNS record lookup tool. While it does not explicitly state when to avoid it in favor of siblings, the record-type enumeration and the tool's name make the intended use unambiguous. No exclusions are necessary for a tool like this.

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

dns_profileDomain Full ProfileA
Read-onlyIdempotent
Inspect

Complete DNS + WHOIS + security + hosting + email-infrastructure + subdomain-probe + health-verdict picture in one call. Sales-intel and security-audit workflow.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
skip_whoisNo
skip_subdomainsNo
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds that the tool performs a 'subdomain-probe' and produces a 'health-verdict,' indicating active analysis beyond a simple lookup, which is useful behavioral context.

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

Conciseness5/5

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

Two sentences, no fluff. The first sentence efficiently enumerates the components in a scannable list, and the second provides workflow context, earning its place.

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

Completeness3/5

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

For a complex tool with no output schema, the description provides a high-level summary of what is included but omits details on output structure or how the 'health-verdict' is derived, leaving some gaps for an agent expecting richer guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for its three parameters. The description indirectly explains skip_whois and skip_subdomains via the mention of WHOIS and subdomain-probe, but does not elaborate on their behavior or the domain parameter beyond the obvious.

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 enumerates specific components (DNS, WHOIS, security, hosting, email-infrastructure, subdomain-probe, health-verdict) and positions it as a single-call aggregate, clearly differentiating it from specialized siblings like dns_lookup and dns_whois.

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

Usage Guidelines4/5

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

It provides a clear use case ('Sales-intel and security-audit workflow') and implies using this when a comprehensive picture is needed, but it does not explicitly state when to prefer specialized siblings instead.

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

dns_reputationDomain Reputation ScoreA
Read-onlyIdempotent
Inspect

Composite 0-100 reputation score combining domain age, registrar tier, expiration window, security grade, NS diversity, and hosting tier. Returns band (high/moderate/low/suspect) + contributing factors. Designed for fraud-screening pipelines.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is clear. The description adds valuable behavioral detail beyond annotations: it enumerates the input factors and describes the return format (band + contributing factors). This helps set expectations about the composite nature and output structure, though it stops short of disclosing data freshness or scoring thresholds.

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

Conciseness5/5

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

The description is two sentences long, front-loaded with the core value proposition, and every word earns its place. It efficiently communicates the scoring range, contributing inputs, output format, and intended use case without any fluff.

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

Completeness4/5

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

For a single-parameter scoring tool with no output schema, the description covers the essential context: what the score means, what inputs are used, what the output contains, and the intended domain of use. It lacks explicit error scenarios or caveats, but given the simple input and strong annotations, the description is reasonably complete. A 4 is warranted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explicitly explain the 'domain' parameter. However, the tool name and description make it obvious that 'domain' is the domain name to score. The description adds no format details (e.g., punycode, subdomain handling), so it only partially compensates for the missing schema description. A score of 3 reflects marginal added value.

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

Purpose5/5

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

The description clearly states that this tool computes a composite 0-100 reputation score and lists the exact factors combined (domain age, registrar tier, expiration window, security grade, NS diversity, hosting tier). It also distinguishes itself from sibling DNS tools by emphasizing that it returns a score and band rather than raw DNS records, and by mentioning its use case in fraud-screening pipelines.

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

Usage Guidelines4/5

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

The description explicitly states the intended use ('Designed for fraud-screening pipelines'), giving clear context for when to use this tool. It does not explicitly name alternative tools or provide exclusion criteria, but the scoring/banding purpose contrasts well with sibling DNS lookup tools, making the context strong enough for a 4.

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

dns_tlsLive TLS PostureA
Read-onlyIdempotent
Inspect

Open a TLS handshake on :443, capture the presented cert + protocol version + cipher, and grade the result A-F. Surfaces days-until-expiry, SAN list, self-signed detection, and findings like 'CBC-mode cipher in use'.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNo
domainYes
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is known. The description adds useful behavioral context: it performs a live TLS handshake, returns a grade, and surfaces specific findings like days-until-expiry, SAN list, self-signed detection, and 'CBC-mode cipher in use'. This goes beyond annotations without contradicting them.

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 dense sentences, front-loaded with the core action and result, followed by specific outputs. No filler or redundant information.

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

Completeness4/5

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

For a 2-parameter tool with no output schema, the description covers the main behavior and return items. It lacks failure-mode details (e.g., timeout, invalid domain, no cert), but overall it is adequate for a live TLS probe tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It mentions port implicitly via ':443' but does not explain that the port parameter is configurable with min/max bounds, nor does it describe the required domain parameter. The tool name and context make 'domain' obvious, but the description fails to fully bridge the gap left by the undocumented schema.

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

Purpose5/5

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

The description clearly states the tool's action: 'Open a TLS handshake on :443', specifies what it captures (cert, protocol version, cipher), and explains the output (grade A-F). It differentiates from siblings like dns_certificates and dns_lookup by emphasizing live TLS posture and grading.

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 through the phrase 'Live TLS Posture' and the active handshake description, but there is no explicit guidance on when to use this tool versus alternatives such as dns_certificates or dns_profile. No when-not-to-use or alternative tools are mentioned.

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

dns_whoisDomain WHOISA
Read-onlyIdempotent
Inspect

Public WHOIS profile: registrar, creation date, expiration, name servers, age in years.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name, e.g. example.com.
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the read-only nature is covered. The description adds context that the data is "Public" (implying no authentication needed) and mentions "age in years", which is a derived value not visible in annotations. It does not contradict 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, tight sentence that front-loads the core resource and then enumerates the exact data fields. Every word contributes, with no fluff or repetition of the name/title. It is an excellent model of conciseness.

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?

Since there is no output schema, the description appropriately lists the key returned fields (registrar, creation date, expiration, name servers, age). It might omit some potential WHOIS fields (e.g., status, updated date), but the core information is communicated, and the tool is simple with one parameter and strong annotations. Adequate for use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides 100% coverage of the single parameter with a clear example ("Domain name, e.g. example.com."). The description adds no additional parameter semantics beyond what the schema already includes, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly specifies the resource ("Public WHOIS profile") and the specific data fields returned (registrar, creation date, expiration, name servers, age in years), which distinguishes it from sibling DNS tools like dns_lookup or dns_certificates. Though there is no explicit verb, the implied action of retrieving a WHOIS profile is unambiguous given the tool name and title.

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

Usage Guidelines3/5

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

The description implies the tool is for retrieving domain registration details by listing WHOIS-specific fields, but it does not explicitly state when to use this over alternatives such as dns_profile or dns_lookup. There are no when-not conditions or alternative names provided, so the agent must infer the use case from the data field list.

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

email_disposableDisposable Email CheckA
Read-onlyIdempotent
Inspect

Test whether a domain belongs to the curated disposable-email-domain list.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to test, e.g. mailinator.com.
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the description does not need to restate these. It adds some context by specifying 'curated' list, implying a maintained database, but does not describe response behavior (e.g., booleans, error handling) or edge cases. However, given the simplicity and annotation coverage, this is adequate.

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

Conciseness5/5

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

The description is a single, focused sentence that front-loads the core action and resource. It contains no filler or redundant information, and every word contributes to understanding. This is concise and well-structured.

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 boolean check with one parameter and comprehensive annotations, the description is nearly complete. It clearly states the purpose and input, and the output (true/false) is implied by 'Test whether'. However, there is no output schema, so a brief mention of return value or behavior for invalid domains would make it fully complete. Given the simplicity, this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema describes the 'domain' parameter with a concrete example ('mailinator.com'), so schema coverage is 100%. The description adds minimal extra meaning beyond the schema, just emphasizing the curated nature of the list. The baseline score of 3 is appropriate when the schema fully documents the parameter.

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

Purpose5/5

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

The description clearly states the tool's function with a specific verb ('Test') and resource ('whether a domain belongs to the curated disposable-email-domain list'). This distinguishes it from sibling tools like email_free_provider and email_validate, which have different purposes. The scope 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 implies the use case (testing disposable email domains) but does not explicitly state when to use this tool versus alternatives like email_free_provider or email_validate. There is no mention of exclusions or prerequisites, so while the purpose is clear, guidance is limited.

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

email_free_providerFree Email Provider CheckA
Read-onlyIdempotent
Inspect

Test whether a domain belongs to the curated free consumer-email-provider list.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to test, e.g. gmail.com.
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description only needs to add context beyond that. It adds "curated," implying a maintained list that might not be exhaustive, which is useful. However, it does not disclose behavior such as how missing domains are handled or the reliability of the list. With annotations covering the safety profile, 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?

The description is a single, front-loaded sentence that conveys the tool's purpose with no filler or redundancy. Every word contributes to clarity.

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

Completeness4/5

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

The tool is simple (one parameter, no output schema) and the description gives a clear predicate-style purpose. However, it does not explicitly state the return type (e.g., boolean), which could be slightly ambiguous. The openWorldHint annotation covers some incompleteness, but for a tool with no output schema, a bit more detail on the result would make it fully complete. Overall, it's nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the parameter description ("Domain to test, e.g. gmail.com.") fully explains the parameter. The main description does not add additional meaning beyond what the schema already provides, so the baseline score of 3 is justified.

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

Purpose5/5

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

The description uses a specific verb ("Test") and resource ("domain") with a clear criterion ("curated free consumer-email-provider list"). It distinguishes this tool from siblings like email_disposable (checks disposable vs. free) and email_validate (checks format/SMTP).

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

Usage Guidelines3/5

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

The description implies this tool is for checking if a domain is a free consumer email provider, but it does not explicitly state when to use it over alternatives or provide exclusionary guidance. It lacks the "when not to use" or named alternatives seen in higher-scoring examples.

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

email_smtp_probeEmail SMTP RCPT ProbeA
Read-onlyIdempotent
Inspect

Live SMTP RCPT probe (HELO + MAIL FROM + RCPT TO; no DATA). Reports deliverability verdict (deliverable / catch_all / undeliverable / greylisted / inconclusive). Catch-all detection via random-fake-RCPT comparison. Skipped automatically for Gmail / Outlook / Yahoo / iCloud / Fastmail / ProtonMail. ~3-8s latency.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesEmail address to probe.
check_catch_allNo
Behavior5/5

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

The description provides substantial behavioral detail beyond the annotations: it explains the live probe mechanism, the verdict categories, the catch-all detection method (random-fake-RCPT comparison), the automatic skip behavior for certain providers, and expected latency (3-8s). This enriches the safety hints already provided by annotations and fully discloses behavioral traits.

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

Conciseness5/5

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

Four concise sentences, each packing important information: protocol, verdicts, catch-all method, provider skips, and latency. There is no redundancy or filler; the description is front-loaded and highly efficient.

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

Completeness5/5

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

Given the tool's complexity (live SMTP probe with multiple outcomes), the description is complete: it lists the protocol, all possible verdict values, the catch-all detection technique, provider limitations, and latency. Even without an output schema, the return values are enumerated, and the tool's behavior is fully characterized.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50% (email is described, check_catch_all is not). The description compensates by explaining catch-all detection via random-fake-RCPT comparison, which gives meaning to the check_catch_all parameter. While it does not explicitly describe the parameter's default or effect when false, the addition is useful and partially fills the gap.

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

Purpose5/5

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

The description clearly states the tool's function with a specific verb ('probe') and resource ('SMTP RCPT'), plus the exact protocol steps (HELO + MAIL FROM + RCPT TO; no DATA). It distinguishes itself from siblings like email_validate by focusing on live SMTP probing and deliverability verdicts, and explicitly lists the possible outcomes.

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

Usage Guidelines4/5

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

The description gives clear context on when this tool is appropriate (live SMTP probing) and includes an important constraint: it is automatically skipped for major providers (Gmail, Outlook, etc.). However, it does not explicitly name alternatives or state when to prefer other tools, so it lacks a direct when-not-to-use comparison.

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

email_validateEmail ValidationA
Read-onlyIdempotent
Inspect

Validate an email address: RFC syntax, MX lookup, disposable/free/role-account flags, typo correction, and a composite deliverability score. Demo mode is allowed; no live SMTP probe.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesEmail address to validate.
check_dnsNo
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds behavioral constraints beyond annotations: 'Demo mode is allowed; no live SMTP probe' and the specific checks performed (MX lookup, typo correction). This enriches the agent's understanding of what the tool does and does not do.

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

Conciseness5/5

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

The description is a single sentence that front-loads the primary verb and resource, followed by a compact list of capabilities and constraints. Every word earns its place, with no redundant or filler content.

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

Completeness3/5

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

With no output schema, the description should clarify what the return value looks like. It mentions a 'composite deliverability score' and flags, but not the exact structure or how to interpret the typo correction output. For an agent needing to parse results, this is a minor gap, though the tool's input and checks are well covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers the 'email' parameter but leaves 'check_dns' without description (50% coverage). The description mentions MX lookup, which relates to DNS checking, but never explicitly explains the 'check_dns' boolean toggle. For a 2-param tool, the lack of clarity on 'check_dns' is a gap, though the email parameter is self-evident.

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

Purpose5/5

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

The description uses a specific verb 'Validate' with a clear resource 'email address' and enumerates distinct checks (RFC syntax, MX lookup, disposable/free/role flags, typo correction, composite score). This clearly differentiates it from sibling tools like email_disposable or email_smtp_probe, which focus on only one aspect.

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

Usage Guidelines4/5

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

The description implies usage by listing included checks and explicitly states 'no live SMTP probe', which signals that email_smtp_probe should be used for that specific capability. It also notes 'Demo mode is allowed', giving context for test usage. However, it does not explicitly say 'use this when you need a complete validation' versus alternatives.

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

equities_conceptSEC XBRL Concept HistoryA
Read-onlyIdempotent
Inspect

Full observation history for one XBRL concept (any us-gaap tag). Use for fields outside our 35-item headline catalog. Returns every observation across every reported unit, most-recent first.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYes
conceptYesus-gaap XBRL tag, e.g. ResearchAndDevelopmentExpense.
include_segmentsNo
Behavior5/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds valuable behavioral context beyond these: 'Returns every observation across every reported unit, most-recent first' clarifies the scope (all units) and ordering (most-recent first), which are not disclosed in the annotations. This helps the agent understand what to expect in the response.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the core purpose and use case, and every word earns its place. No redundant or filler content.

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?

There is no output schema, so the description carries the burden of explaining return values. It does state 'Returns every observation across every reported unit, most-recent first,' which covers the scope and ordering. However, it doesn't mention potential size limits or pagination, and the behavior of 'include_segments' is left unclear. Given the tool's complexity, this is slightly incomplete but still 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 only 33% (only 'concept' has a description). The description adds little for the other parameters: 'ticker' is self-evident but not described, and 'include_segments' is not explained. The phrase 'every reported unit' ambiguously hints at segment behavior, but it's not explicit. Since coverage is low, the description should compensate, but it does not.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Full observation history for one XBRL concept (any us-gaap tag).' It uses a specific verb ('Returns') and resource ('observation history for XBRL concept'), and distinguishes itself by noting it's for fields outside the 35-item headline catalog, setting it apart from sibling tools like equities_filings and equities_fundamentals.

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

Usage Guidelines4/5

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

The description provides clear when-to-use guidance: 'Use for fields outside our 35-item headline catalog.' This implies a specific condition for selection. It doesn't explicitly name an alternative for headline fields, but the context is sufficient for an agent to discern when this tool is appropriate.

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

equities_filingsRecent SEC FilingsA
Read-onlyIdempotent
Inspect

Live SEC EDGAR submissions API: most recent filings (10-K, 10-Q, 8-K, ...) for a ticker or CIK. Filter by form type.

ParametersJSON Schema
NameRequiredDescriptionDefault
cikNoSEC CIK. Either ticker or cik is required.
formsNoOptional comma-separated form types, e.g. '10-K,10-Q'.
limitNo
tickerNoStock ticker. Either ticker or cik is required.
Behavior4/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 meaningful behavioral context: 'live' indicates real-time data, 'most recent' indicates recency, and 'filter by form type' indicates a filtering capability. These are beyond what annotations alone 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 sentence with two clear clauses, front-loaded with the purpose ('Live SEC EDGAR submissions API'). It lists example form types and the key filter, with no redundant words or repetition of schema details.

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

Completeness4/5

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

For a simple retrieval tool with 4 parameters and no output schema, the description covers the core function, input identifiers, and filtering. It does not describe the return structure, but the concept of 'most recent filings' implies a list of filing records, which is adequate given annotations and simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75% (cik, forms, ticker have descriptions; limit has only a default). The description reinforces the ticker-or-CIK requirement and form-type filtering, but does not add new semantics for the 'limit' parameter. It aligns with the schema without going beyond it, so a middle score is appropriate.

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

Purpose5/5

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

The description clearly states the tool provides live SEC EDGAR filings (10-K, 10-Q, 8-K) for a ticker or CIK, distinguishing it from sibling equities_* tools by focusing on recent filings. It names the resource (SEC submissions), the action (retrieve most recent filings), and the scope (by ticker or CIK with form-type filtering).

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

Usage Guidelines4/5

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

The description gives clear context: when you need recent SEC filings for a company, using a ticker or CIK, with optional form-type filtering. It does not explicitly name alternatives (e.g., 'use equities_fundamentals for financial ratios'), but the context is unambiguous for this specific filings use case.

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

equities_fundamentalsSEC Fundamentals (XBRL)A
Read-onlyIdempotent
Inspect

Headline financial statements parsed from SEC XBRL filings: revenue, net income, total assets, EPS, cash flow, and 30 more curated tags. Annual (10-K) or quarterly (10-Q). Free — backed by SEC's public XBRL companyfacts API.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
periodNoannual
tickerYesStock ticker.
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, so the safe read-only nature is covered. The description adds useful behavioral context by noting it is 'Free — backed by SEC's public XBRL companyfacts API' and that the data is 'parsed' and 'curated,' implying a structured/simplified view rather than raw filings. This goes beyond the annotations without contradicting them.

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

Conciseness5/5

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

The description is two sentences and efficiently packs core information: what the tool returns, the specific metrics, the period options, and the free/public data source. Every clause adds value, and it is front-loaded with the most important content. No fluff or redundancy.

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

Completeness4/5

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

Given the simple parameter set and strong annotations, the description covers the essential context: the data source (SEC XBRL), the content focus (headline statements), and the period granularity. The lack of an output schema is partially mitigated by listing the metrics returned. It does not describe return structure or pagination, but for a tool of this simplicity with read-only/idempotent hints, the description is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is low (33%; only ticker has a description). The description adds semantic meaning for the 'period' parameter by mapping annual to 10-K and quarterly to 10-Q, which is helpful. However, it does not explain the 'limit' parameter (though the schema provides min/max/default) and does not elaborate on ticker format or accepted values, so compensation for the low schema coverage is only partial.

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

Purpose5/5

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

The description clearly states the tool provides headline financial statements from SEC XBRL filings, explicitly listing key metrics like revenue, net income, total assets, EPS, and cash flow. It also differentiates from siblings by emphasizing 'curated tags' and the 10-K/10-Q annual and quarterly forms, which distinguishes it from equities_concept, equities_filings, and equities_ticker.

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

Usage Guidelines3/5

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

The description implies usage—when you need headline fundamentals from SEC filings—by naming the specific metrics and the 10-K/10-Q basis. However, it does not explicitly state when to use this tool versus alternatives like equities_concept for raw XBRL concepts or equities_filings for filing metadata, so it stops at implied guidance rather than providing exclusions or named alternatives.

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

equities_tickerEquity Profile (by ticker)A
Read-onlyIdempotent
Inspect

Resolve a stock ticker to company name, CIK, exchange, SIC industry code, and headquarters from the SEC EDGAR registry.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock ticker, e.g. AAPL.
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 safe read-only nature is covered. The description adds the source (SEC EDGAR registry) and specifies the returned fields, but does not disclose any edge-case behavior such as handling of unknown tickers or rate limits. This adds some value but not rich behavioral context.

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

Conciseness5/5

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

The description is a single, clear sentence that front-loads the verb and resource. It contains no filler and every word adds 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?

The tool is a simple lookup with one parameter and no output schema. The description adequately lists the output fields (company name, CIK, exchange, SIC, headquarters) and the data source. It does not mention error handling or limitations like ticker validity, but for this simple resolver the description is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with the single 'ticker' parameter already documented as 'Stock ticker, e.g. AAPL.' The description does not add any extra semantics about the parameter beyond what the schema provides, so it meets the baseline but no more.

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

Purpose5/5

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

The description uses the specific verb 'Resolve' and clearly identifies the resource (stock ticker) and the output fields (company name, CIK, exchange, SIC industry code, headquarters). This distinguishes it from sibling tools like company_ticker (reverse mapping) and equities_filings.

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

Usage Guidelines3/5

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

The description implies when to use it—when you have a ticker and need company profile data from SEC EDGAR—but it does not explicitly mention alternatives or exclusions. There is no guidance on when to prefer this over company_ticker or company_cik, so usage guidelines are 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.

flight_airline_reliabilityFlight Airline ReliabilityA
Read-onlyIdempotent
Inspect

Summarize loaded route reliability signals for a carrier code.

ParametersJSON Schema
NameRequiredDescriptionDefault
airline_codeYesCarrier code, for example DL.
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, and the description's 'Summarize' aligns with a safe read operation. However, it does not clarify what 'loaded' means or what output format to expect, so behavioral transparency beyond annotations is minimal.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that is concise and free of unnecessary words. Every word contributes to the core 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?

For a simple one-parameter tool, the description gives a basic understanding of the purpose, but because there is no output schema, it does not hint at what the summary contains or how results are structured. This leaves a moderate gap for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides full coverage for the sole parameter 'airline_code' with a clear example. The description simply repeats 'carrier code' without adding any new semantic detail, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description uses the specific verb 'Summarize' and identifies the resource as 'loaded route reliability signals' for a carrier code, which clearly distinguishes it from sibling tools like flight_reliability or flight_route_summary.

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

Usage Guidelines2/5

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

No guidance is given on when to prefer this tool over alternatives, such as flight_cancellation_risk or flight_reliability. No contextual hints or exclusions are provided.

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

flight_airport_delay_profileFlight Airport Delay ProfileB
Read-onlyIdempotent
Inspect

Summarize delay and reliability signals for an airport across loaded loaded route aggregates.

ParametersJSON Schema
NameRequiredDescriptionDefault
airport_codeYesAirport code, for example ATL.
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds 'across loaded route aggregates' as a scoping detail, but it is unclear what 'loaded' means, and no further behavioral traits (e.g., output format, aggregation method) are disclosed. With annotations, a score of 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.

Conciseness3/5

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

The description is a single sentence and appropriately sized, but it contains a repeated word ('loaded loaded') and an awkward construction that reduces clarity. It conveys the essential idea but is not polished, so it earns an average score.

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

Completeness3/5

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

Given the low complexity (one parameter, no output schema) and helpful annotations, the description is adequate but not complete. It fails to clarify what 'delay and reliability signals' specifically entail or what 'loaded route aggregates' means, leaving some ambiguity. The presence of sibling tools provides context, but the description itself is minimal.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (airport_code with example 'ATL'), so the schema already fully explains the parameter. The description does not add additional parameter semantics beyond what the schema provides, matching the baseline for high coverage.

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

Purpose4/5

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

The description uses the specific verb 'Summarize' and identifies the resource as 'delay and reliability signals for an airport', which is distinct from sibling tools like flight_route_summary (route-level) and flight_airline_reliability (airline-level). The phrase 'loaded loaded route aggregates' is awkward and typo'd, but the core purpose is clear enough.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives. It only implies the scope ('for an airport') but does not mention sibling tools such as flight_route_summary or flight_cancellation_risk, nor does it state exclusions or conditions. This is essentially no guidance beyond the basic purpose.

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

flight_cancellation_riskFlight Cancellation RiskA
Read-onlyIdempotent
Inspect

Return historical cancellation-risk signals for a route. This is not live tracking.

ParametersJSON Schema
NameRequiredDescriptionDefault
destYesDestination airport code, for example LGA.
monthNoOptional numeric month.
originYesOrigin airport code, for example ATL.
Behavior3/5

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

Annotations already declare readOnly, openWorld, idempotent, and non-destructive hints. The description adds the useful context that data is historical and not live, but does not disclose output format, computation method, or rate limits. With annotations covering safety, the additional context is moderate.

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

Conciseness5/5

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

The description is two concise sentences, front-loaded with the action and resource. There is no fluff or redundant information.

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

Completeness3/5

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

For a simple read-only tool with no output schema, the description gives a basic idea of the return type ('signals') but does not explain what the signals actually look like or how they are structured. It also lacks sibling differentiation, but annotations and schema compensate for some gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters origin, dest, and month are already well documented. The description adds no extra parameter detail (e.g., month optionality or format), so it does not go beyond the schema.

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

Purpose4/5

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

The description clearly states the tool returns historical cancellation-risk signals for a route, using a specific verb and resource. It distinguishes from live tracking but does not explicitly differentiate from sibling flight tools like flight_reliability or flight_route_summary.

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

Usage Guidelines4/5

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

The phrase 'This is not live tracking' provides clear context that the tool is for historical analysis, implying it should not be used for real-time status. However, it does not mention alternative tools or provide explicit when-to-use/when-not-to-use guidance.

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

flight_reliabilityFlight ReliabilityB
Read-onlyIdempotent
Inspect

Return historical route reliability. Demo mode allows selected loaded routes such as ATL-LGA, ORD-EWR, SFO-SEA, LAX-JFK, DFW-LAX, and ATL-MCO.

ParametersJSON Schema
NameRequiredDescriptionDefault
destYesDestination airport code, for example LGA.
monthNoOptional numeric month.
originYesOrigin airport code, for example ATL.
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds useful context about demo mode restricting to selected loaded routes, which is a behavioral constraint not captured in annotations. However, it does not disclose what 'reliability' means (e.g., on-time percentage, cancellation rate) or describe the return format, which is a gap given there is no output schema.

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

Conciseness4/5

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

The description is a single concise sentence that states the core purpose and then lists relevant route examples. While the list of six route pairs is somewhat long, each example reinforces the input format. The structure is front-loaded with the verb and resource, and there is no filler or redundant information.

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

Completeness2/5

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

The tool has no output schema, so the description should explain return values, but it does not. It also lacks differentiation from sibling flight tools (e.g., flight_route_summary, flight_cancellation_risk), which weakens completeness. The demo mode restriction is mentioned but not elaborated (e.g., what happens for non-demo routes). Given the simplicity of the tool and the presence of annotations, the description is incomplete for full contextual understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% description coverage for all three parameters (origin, dest, month), so the baseline is 3. The description adds route examples that map to origin/dest, but it does not explain the optional month parameter or add any semantic nuance beyond the schema. The parameter semantics are adequately handled by the schema.

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

Purpose4/5

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

The description clearly states the tool 'Return historical route reliability', which is a specific verb+resource. It provides concrete route examples (ATL-LGA, ORD-EWR) that illustrate the input format. While it doesn't explicitly distinguish from sibling tools like flight_route_summary or flight_cancellation_risk, the focus on 'historical reliability' is a distinct purpose.

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

Usage Guidelines3/5

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

The description implies usage for checking historical reliability on specific routes, with the demo mode examples providing some context. However, there is no explicit guidance on when to use this tool versus alternatives like flight_route_best_times or flight_airline_reliability. The lack of exclusions or alternative tool references leaves the usage guidelines 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.

flight_route_best_timesFlight Route Best TimesA
Read-onlyIdempotent
Inspect

Rank loaded departure-hour buckets for a route by historical reliability score.

ParametersJSON Schema
NameRequiredDescriptionDefault
routeYesRoute in ORIGIN-DEST format, for example ATL-LGA.
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds context about the ranking logic (by historical reliability score) but does not disclose details like what 'loaded' means, how many buckets are returned, or how the ranking is ordered beyond reliability. This is acceptable given the annotations, but not exceptionally informative.

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, well-structured sentence that directly states the tool's function. No redundant words or filler. It is appropriately sized for a simple tool with one parameter.

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

Completeness4/5

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

Given the tool's low complexity (one parameter, no output schema) and strong annotations, the description sufficiently conveys the tool's core behavior. However, it omits any explanation of the output format or the meaning of 'reliability score', which could leave some ambiguity. Still, it is complete enough for a straightforward ranked-list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single 'route' parameter, with a clear format example. The description does not add further parameter details, but the schema already provides sufficient meaning, so the baseline of 3 applies.

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

Purpose5/5

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

The description states a specific action ('Rank') with a clear resource ('loaded departure-hour buckets for a route') and a criterion ('historical reliability score'). This distinguishes it from sibling tools like flight_reliability (which focuses on overall reliability) and flight_route_summary (which provides route summaries).

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 guidance is given on when to use this tool versus alternatives. The description implies use for a route, but does not mention related tools like flight_reliability or flight_airport_delay_profile, nor does it clarify edge cases such as how to interpret 'loaded' buckets.

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

flight_route_summaryFlight Route SummaryA
Read-onlyIdempotent
Inspect

Return a combined historical route summary with reliability, cancellation risk, carriers, months, and best time bucket. This is not live tracking.

ParametersJSON Schema
NameRequiredDescriptionDefault
destYesDestination airport code, for example LGA.
originYesOrigin airport code, for example ATL.
Behavior4/5

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

Annotations already declare read-only, idempotent, and open-world hints. The description adds useful behavioral context by clarifying the response is historical (not live) and enumerating the dimensions included, which sets expectations for the output. No contradiction with annotations.

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

Conciseness5/5

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

The description is two sentences with no fluff. The first sentence states the purpose and output contents; the second removes ambiguity about live tracking. Every word serves a purpose.

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

Completeness4/5

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

For a simple two-parameter read-only tool with no output schema, the description adequately covers the tool's purpose, scope, and expected output components. It could add more caveats but is sufficiently complete for an agent to select and invoke 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 coverage is 100% and both parameters are clearly described as airport codes (e.g., ATL, LGA). The description adds no additional parameter semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb ('Return') and a specific resource ('combined historical route summary') with detailed contents (reliability, cancellation risk, carriers, months, best time bucket). It distinguishes from sibling tools by emphasizing 'combined', showing it aggregates data covered by more specialized siblings.

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

Usage Guidelines3/5

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

The description provides an exclusion ('This is not live tracking') but does not explicitly say when to use this tool over alternatives or name the specialized siblings. The 'combined' wording implies it is for an overall summary, but guidance is more implied than explicit.

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

fred_seriesFRED Economic SeriesA
Read-onlyIdempotent
Inspect

Fetch any FRED time-series by curated slug (gdp, cpi, unemployment, fed_funds, treasury_10y, vix, wti, mortgage_30y, ...) or raw FRED ID (CPIAUCSL, UNRATE, DGS10). ~800k series available — covers BLS, Census, Fed, Treasury, OECD, IMF, BIS. Free upstream, server-side key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoISO date YYYY-MM-DD.
sortNodesc
limitNo
startNoISO date YYYY-MM-DD.
series_or_slugYesCurated slug (e.g. 'gdp') or raw FRED series ID (e.g. 'CPIAUCSL').
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive. The description adds scale (~800k series), data sources (BLS, Census, Fed, etc.), and the requirement of a server-side key. This is meaningful context beyond annotations, though it doesn't cover return format or pagination behavior.

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

Conciseness5/5

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

Two sentences, front-loaded with the core action. The example lists are helpful but not bloated; the second sentence packs source coverage and key requirement efficiently.

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 5-param tool with no output schema, the description covers the essential usage, scope, and authentication. It lacks return format/pagination details, but the context signals and sibling names clarify it's a data-fetch endpoint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 60% of parameters, including descriptions for series_or_slug and start/end. The description reinforces series_or_slug with concrete examples (gdp, CPIAUCSL) and clarifies the dual-mode input. It doesn't add much for sort/limit, but those are already constrained by schema defaults and enums.

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?

Clearly states the action ('Fetch any FRED time-series') and the identifier method (curated slug or raw FRED ID). This distinguishes it from siblings like fred_search (which searches for series) and fred_popular (which lists popular series).

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

Usage Guidelines4/5

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

Provides clear context: use when you have a specific curated slug or raw FRED ID and want the time-series data. Doesn't explicitly reference alternatives like fred_search or fred_popular, so it lacks an explicit when-not, but the naming and description imply the intended use.

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

funding_signalFunding Signal (SEC Form D)A
Read-onlyIdempotent
Inspect

SEC Form D-based funding-signal envelope. Pulls Form D / D-A filings live from EDGAR and surfaces a recency-weighted funding score, cadence hint (fresh_raise, recent_raise, established_cadence, stale), and buyer-shaped action_hint tuned by buyer profile (sales_outreach, vendor_partnerships, investor_research, recruiter). Form D filings are the public, free, authoritative record of private securities offerings.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
domainNoCompany domain. One of domain or ticker required.
tickerNoStock ticker. Used when domain not provided.
window_daysNo
buyer_profileNosales_outreach
Behavior4/5

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

Annotations already declare read-only, idempotent, and open-world behavior. The description adds value by explaining that data is fetched 'live from EDGAR', that the score is 'recency-weighted', and that the action hint is tuned by buyer profile. It does not contradict annotations and provides useful behavioral context 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 two well-structured sentences, front-loaded with the core purpose and then elaborating on outputs. There is no fluff, and every sentence contributes to understanding the tool.

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

Completeness3/5

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

With no output schema, the description should explain the return shape more thoroughly. It mentions the three output components (score, cadence hint, action hint) but leaves out details about how limit and window_days influence results and what 'envelope' means. It is adequate but has 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 only 40%, so the description should compensate for the undocumented parameters. While it explains the purpose of buyer_profile, it completely ignores limit, window_days, domain, and ticker, leaving the agent without guidance on how these parameters affect results. The description adds minimal value beyond the schema.

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

Purpose5/5

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

The description clearly states the tool's function with specific verbs ('Pulls', 'surfaces') and a precise resource ('SEC Form D / D-A filings from EDGAR'). It also distinguishes itself from generic funding tools by detailing the output components (score, cadence hint, action hint) and the buyer-profile tuning, which is unique among siblings.

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

Usage Guidelines4/5

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

The description provides clear context that this tool is for accessing authoritative funding signals from SEC Form D filings, implying when it should be used. However, it does not explicitly state when not to use it or mention any alternative tools, 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.

fx_convertFX ConvertA
Read-onlyIdempotent
Inspect

Convert an amount between two currencies at the most recent reference rate.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYes
to_currencyYesDestination currency code, e.g. EUR.
from_currencyYesSource currency code, e.g. USD.
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description does not need to repeat these. It adds the useful nuance that the conversion uses the 'most recent reference rate' rather than a live trading rate, but it does not disclose output format or edge cases. This is comparable to a baseline 3 given the annotation coverage.

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

Conciseness5/5

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

The description is a single, concise sentence that front-loads the core action. Every word contributes, with no redundant or filler content.

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 conversion tool with three required parameters and strong annotations, the description is largely sufficient. It specifies the rate type ('most recent reference rate'), which is an important behavioral context. However, it does not mention the return value (e.g., converted amount and/or rate), and given the large set of sibling FX tools, a brief differentiation note would enhance completeness. Still, it is adequate for most use cases.

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 67%, with both currency parameters having descriptive examples. The description adds that 'amount' is the value to convert and 'two currencies' implies from/to, but it does not clarify whether the amount is in the source currency, the expected precision, or the currency code format beyond what the schema already provides. It adds some meaning but does not fully compensate for the uncovered amount parameter.

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

Purpose5/5

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

The description clearly states the tool converts an amount between two currencies using the most recent reference rate. It uses a specific verb ('convert') and resource ('amount between two currencies'), and the mention of 'most recent reference rate' distinguishes it from sibling tools like fx_historical or fx_rates.

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

Usage Guidelines3/5

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

The usage context is implied: it is for converting an amount, not for simply looking up rates. However, there is no explicit guidance on when to prefer this over alternative FX tools like fx_rates or fx_pair, nor any exclusions or preconditions.

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

fx_correlationFX Correlation MatrixA
Read-onlyIdempotent
Inspect

Pearson correlation of daily log-returns vs USD across a basket. Cells banded strong_positive/positive/neutral/negative/strong_negative. Treasury/risk workflow for understanding multi-currency exposure.

ParametersJSON Schema
NameRequiredDescriptionDefault
basketNog10
horizon_daysNo
Behavior4/5

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

Annotations already establish read-only and idempotent behavior. The description adds useful context by specifying the calculation methodology (Pearson, daily log-returns) and the banded output categories, which goes beyond the annotations. No contradiction exists.

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

Conciseness5/5

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

The description is two sentences with no redundancy. The first sentence states the core function, and the second adds output banding and use-case context. Every word earns its place.

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

Completeness4/5

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

The tool is simple with two optional parameters, and the schema provides names, types, defaults, and enums. The description explains the calculation and output format, which is sufficient for invocation. However, the gap in parameter semantics prevents a perfect score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, and the description does not compensate. It mentions 'basket' but does not explain the 'basket' parameter values (g10, majors) or the 'horizon_days' parameter at all, leaving the agent without meaningful parameter guidance beyond the bare schema.

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

Purpose5/5

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

The description clearly states it computes Pearson correlation of daily log-returns vs USD across a basket, which is a specific verb and resource. It distinguishes itself from sibling FX tools by focusing on correlation matrices and explicitly mentions output banding categories, differentiating it from tools like fx_timeseries or fx_pair.

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

Usage Guidelines4/5

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

The description provides a clear usage context: 'Treasury/risk workflow for understanding multi-currency exposure.' This tells the agent when to use the tool, but it doesn't explicitly exclude alternatives or name sibling tools, so it stops short of a perfect 5.

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

fx_currenciesFX Currency ListA
Read-onlyIdempotent
Inspect

List every currency Ready APIs has reference-rate coverage for, with its issuing central bank and peg classification.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive). The description adds valuable context about the return content: complete list of currencies with central bank and peg classification. This goes beyond what annotations provide, though it doesn't discuss pagination or ordering, which are less critical for a small reference list.

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, well-structured sentence. It is concise, front-loaded with the action, and includes all necessary details without unnecessary words.

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

Completeness5/5

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

For a zero-parameter list tool with strong annotations, the description fully specifies what the tool returns and the scope of coverage. No output schema exists, but the description adequately covers that gap. It is complete for its simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. There is no parameter information to add; the description appropriately focuses on the output.

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

Purpose5/5

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

The description clearly states the tool lists all currencies with reference-rate coverage, including central bank and peg classification. The verb 'List' and specific resource scope strongly distinguish it from sibling FX tools that provide rates, conversions, or historical data.

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

Usage Guidelines4/5

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

The description implies the use case: when the agent needs the universe of supported currencies and their metadata. It does not explicitly name alternatives like fx_rates or fx_convert, but the context is clear enough that an agent would know this is the go-to for currency listing.

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

fx_historicalFX Historical RateA
Read-onlyIdempotent
Inspect

Reference rate for a specific past date. Useful for 'what was USD→EUR on 2024-11-15?' questions.

ParametersJSON Schema
NameRequiredDescriptionDefault
baseNoEUR
rate_dateYesISO date, e.g. 2024-11-15.
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, and openWorld hints. The description adds only the 'reference rate' and 'specific past date' context, which is useful but thin; it does not address edge cases like weekend dates or data availability.

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 plus an example conveys the core purpose and usage in an extremely concise, front-loaded manner. No wasted words.

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

Completeness3/5

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

The tool is simple (2 params, no output schema), but the ambiguous base semantics and lack of clarity on what exactly is returned (e.g., rate against all currencies or a single pair) leaves gaps. Adequate for simple use, but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: rate_date is described, but base is not. The example 'USD→EUR' implies a currency pair direction, yet the base parameter defaults to 'EUR', creating ambiguity about what the returned rate represents. The description does not resolve this.

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

Purpose5/5

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

The description clearly states the tool provides a reference rate for a specific past date, with a concrete example ('what was USD→EUR on 2024-11-15?'). This distinguishes it from sibling FX tools like fx_rates (current rates) or fx_timeseries (time series).

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

Usage Guidelines4/5

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

The phrase 'Useful for' explicitly frames when to use the tool, and the example gives concrete query intent. It does not name alternatives or exclusions, but the guidance is clear for a simple historical lookup tool.

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

fx_moversFX Biggest Pair MoversA
Read-onlyIdempotent
Inspect

Top N pairs by absolute % change over the lookback window. Returns signed pct_change + direction (up/down/flat). Daily/weekly market briefing.

ParametersJSON Schema
NameRequiredDescriptionDefault
top_nNo
basketNomajors
horizon_daysNo
Behavior4/5

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

Annotations already indicate readOnly, non-destructive, and idempotent behavior. The description adds valuable behavioral context by specifying the return structure (signed pct_change + direction) and selection logic (absolute % change over lookback). This goes beyond what annotations provide and leaves no ambiguity about output shape.

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

Conciseness5/5

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

Two concise sentences, front-loaded with the core action, and every word earns its place. 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?

The tool is simple, has strong annotations, and a clear return description. However, it lacks explanation of the 'basket' parameter and does not mention how 'horizon_days' maps to the lookback or what happens with defaults. Given no output schema and 0% schema coverage, a bit more detail would make it fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description partially compensates by explaining 'Top N' (top_n) and 'lookback window' (horizon_days). However, the 'basket' parameter is completely unexplained—the agent is left to infer what g10 vs majors means and which is default. The description adds some meaning but not enough for full parameter understanding.

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

Purpose4/5

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

The description clearly states the tool returns the top N currency pairs by absolute percent change, with specific output details (signed pct_change, direction). This is a specific verb+resource (find movers) and the title supports the purpose. However, it does not explicitly distinguish from siblings like fx_volatility_leaders, which could be confused with 'movers'.

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 'Daily/weekly market briefing' implies a use case for quick market overviews, but there is no explicit comparison with alternative FX tools (e.g., fx_volatility_leaders, fx_strength) or guidance on when NOT to use this tool. The context 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.

fx_pairFX Pair Deep ProfileA
Read-onlyIdempotent
Inspect

Deep enrichment for one currency pair: latest rate + 30/90-day volatility + trend + anomaly z-score + spread estimate + cross-strength + verdict. Decision-grade single-call summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
baseYesThree-letter base currency code.
quoteYesThree-letter quote currency code.
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotent, so safety is covered. The description adds behavioral detail by listing the computed metrics and the 'verdict', which explains what the tool actually does beyond a simple read. It does not mention error cases or data freshness, but the provided information goes beyond the annotations and gives a clear picture of the tool's 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?

The description is compact and front-loaded, with a clear subject and then a concise list of deliverables. Every word adds value: the opening phrase establishes the tool's purpose, and the list of outputs is efficiently enumerated. No redundant or filler content.

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

Completeness4/5

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

Given the moderate complexity (multiple derived metrics) and the lack of an output schema, the description lists the key outputs (rate, volatility, trend, z-score, spread, strength, verdict) to set expectations. It does not explain the methodology behind the verdict or z-score, but for a summary tool with simple parameters and strong annotations, the description is sufficiently complete for an agent to select and invoke 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?

The input schema already has 100% coverage with descriptions for both 'base' ('Three-letter base currency code') and 'quote' ('Three-letter quote currency code'). The description only references 'one currency pair' without adding any extra meaning to the parameters, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb ('Deep enrichment') with a clear resource ('one currency pair') and enumerates the exact outputs (latest rate, 30/90-day volatility, trend, anomaly z-score, spread estimate, cross-strength, verdict). This differentiates it from sibling tools like fx_rates or fx_convert, which provide more basic data, by framing it as a comprehensive single-call summary.

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

Usage Guidelines4/5

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

The phrase 'Decision-grade single-call summary' clearly indicates when to use this tool: when a complete, actionable profile of a single currency pair is needed in one call. It does not explicitly exclude alternatives, but the 'deep enrichment' framing implies this is for deeper analysis than simple rate lookups, providing clear context without needing to name sibling tools.

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

fx_ratesFX RatesA
Read-onlyIdempotent
Inspect

Return current daily reference exchange rates relative to a base currency (default EUR), sourced from ECB.

ParametersJSON Schema
NameRequiredDescriptionDefault
baseNoThree-letter base currency code.EUR
Behavior3/5

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

Annotations declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive, so the safety profile is covered. The description adds 'daily reference' and 'sourced from ECB,' which gives useful context about the data's nature, but does not disclose behavior such as error handling or rate availability. This matches the baseline for annotation-supported tools.

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

Conciseness5/5

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

The description is a single compact sentence that front-loads the verb and resource. It contains no filler and earns its place with the default currency and source details.

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

Completeness5/5

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

The tool is simple (one optional parameter), has strong annotations, and the description adequately states what is returned. No output schema exists, but the return value is implied by 'exchange rates.' This is complete for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the description reiterates the default EUR, but it adds no extra meaning beyond the schema. The parameter is simple, so a baseline of 3 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?

The description uses a specific verb ('Return') and states the resource ('current daily reference exchange rates') with a clear base currency default and source (ECB). It is clear, but it does not explicitly distinguish from sibling tools like fx_historical or fx_timeseries, 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?

The description implies when to use the tool (for current daily reference rates sourced from ECB) but provides no explicit comparison to alternatives or exclusions. With many fx_* siblings, the lack of 'use this instead of X' guidance leaves this at the implied-usage level.

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

fx_strengthFX Currency Strength LeaderboardA
Read-onlyIdempotent
Inspect

Ranked strength leaderboard for the past N days. For each currency in the basket (g10 or majors), the average move across every pair it participates in. Strongest → weakest with per-currency label.

ParametersJSON Schema
NameRequiredDescriptionDefault
basketNog10
horizon_daysNo
Behavior4/5

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

Annotations already establish readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral detail: the averaging methodology across all pairs, the g10/majors basket scope, and the strongest-to-weakest ordering. No contradictions with annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with the core functionality ('Ranked strength leaderboard'), and every phrase contributes information. No fluff or redundancy.

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

Completeness4/5

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

Given the absence of an output schema, the description adequately specifies the output form: a leaderboard with per-currency labels, sorted strongest to weakest. It does not detail edge cases (e.g., missing currencies) or exact field names, but for a straightforward read-only tool, the description gives sufficient context for an agent to understand the return shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% description coverage, but the description references both parameters conceptually: 'basket (g10 or majors)' and 'past N days' for horizon_days. It adds semantic meaning by explaining the basket selects which currencies participate and the time window drives the calculation. It could name horizon_days explicitly, but the schema already provides defaults and bounds.

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

Purpose5/5

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

The description clearly states the tool provides a 'ranked strength leaderboard for the past N days' with a specific method: average move across each currency pair in the basket. It distinguishes itself from sibling FX tools like fx_movers or fx_volatility_leaders by focusing on cross-pair strength aggregation and ranking.

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

Usage Guidelines4/5

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

The description gives clear context: use this to compare currency strength over a chosen lookback period and basket. It does not explicitly name alternative tools or state when not to use it, but the niche is well-defined by the concept of a strength leaderboard, which is distinct from conversion, historical rates, or volatility tools.

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

fx_timeseriesFX TimeseriesA
Read-onlyIdempotent
Inspect

Daily rate series for a single base→quote pair across a date range. Useful for charts and trend analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
endYesISO end date.
baseYes
quoteYes
startYesISO start date.
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the daily frequency and single-pair scope, which is useful. However, it does not disclose the return format or any edge-case behaviors (e.g., handling of weekends or invalid pairs), so it only partially adds value 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?

The description is two short sentences, front-loaded with the core purpose and followed by a use case. Every word contributes; there is no wasted or redundant content.

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

Completeness4/5

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

Given the absence of an output schema, the description adequately explains that the result is a daily series for one pair across a date range. It covers the essential parameters and the intended use case. It lacks details about the exact return structure (e.g., array of date-value objects) but is sufficient for an agent to decide to invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50% (start and end have descriptions; base and quote do not). The description clarifies that base and quote form a pair and that start/end define a date range, but it adds little detail beyond the parameter names and existing schema descriptions. It does not specify valid currency code formats or the relationship between base and quote in 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 clearly states the tool provides a daily rate series for a base→quote pair over a date range, which identifies the resource and scope. It lacks an explicit verb like 'returns' but is still unambiguous. It distinguishes from many sibling FX tools by emphasizing 'single pair' and 'daily series', though it does not directly differentiate itself from fx_historical.

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

Usage Guidelines4/5

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

The phrase 'Useful for charts and trend analysis' provides clear context for when to use this tool. It does not mention exclusions or alternative tools, but the use-case guidance is sufficient for a straightforward data retrieval tool.

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

fx_volatility_leadersFX Volatility LeadersA
Read-onlyIdempotent
Inspect

Pairs ranked by annualized realized volatility. Distinct from fx_movers — surfaces pairs that swing wildly day-to-day, even if flat overall. Classes: low/moderate/elevated/extreme.

ParametersJSON Schema
NameRequiredDescriptionDefault
top_nNo
basketNomajors
horizon_daysNo
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds behavioral context by specifying the metric (annualized realized volatility), the identification of daily swingers, and the classification into low/moderate/elevated/extreme classes. It does not contradict 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 two sentences, with the core function first and the distinction second. Every clause adds value — no redundant filler.

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

Completeness3/5

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

While the description conveys the core purpose and differentiates from fx_movers, it omits explicit parameter explanations and output structure. Since there is no output schema, the agent gets only a vague sense of the returned data (pairs with volatility classes). For a read-only tool with optional parameters, this is incomplete but not fatally so.

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, and the description does not explain top_n, basket, or horizon_days. It only implies ranking and annualization, leaving the agent to infer parameter meanings. This is a significant gap given the low schema coverage.

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

Purpose5/5

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

The description clearly states 'Pairs ranked by annualized realized volatility' — a specific verb and resource. It also distinguishes itself from fx_movers by noting it 'surfaces pairs that swing wildly day-to-day, even if flat overall,' which separates it from a likely sibling.

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

Usage Guidelines4/5

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

The description explicitly contrasts with fx_movers, giving an alternative and explaining the difference. This tells the agent when to prefer this tool over that sibling. It doesn't mention other related fx tools, but the key alternative is addressed.

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

geo_asnGeo ASN LookupA
Read-onlyIdempotent
Inspect

Resolve an IP to its autonomous system number, organization, and network prefix.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYesIPv4 or IPv6 address.
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is known. The description adds useful output context (ASN, org, prefix) but does not disclose additional behavioral traits like data freshness, rate limits, or handling of private/unknown IPs, which are not covered by annotations.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that conveys the exact action and expected outputs without any filler. Every word earns its place.

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

Completeness4/5

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

For a one-parameter, read-only tool, the description covers the core inputs and outputs well. It lacks mention of edge cases (e.g., private IPs, no ASN found) or error behavior, but it lists the three key outputs, making it reasonably complete for a simple lookup.

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 100% with the description 'IPv4 or IPv6 address.' The tool description merely restates 'an IP' without adding any nuance about format, default values, or examples. Since the schema fully documents the parameter, the description adds no marginal value here.

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

Purpose5/5

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

The description uses the specific verb 'Resolve' and clearly identifies the resource (IP) and the three outputs: autonomous system number, organization, and network prefix. This distinguishes it from sibling tools like geo_ip, which focuses on geographic location rather than network ownership.

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 tool's purpose is strongly implied: use when you need ASN and network prefix details for an IP. However, there is no explicit mention of when not to use it or which alternatives (e.g., geo_ip, geo_enrich) might be better for geographic data, so guidance is only implicit.

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

geo_county_lookupGeo County LookupA
Read-onlyIdempotent
Inspect

Return ZIP profiles in a county by county FIPS. Demo mode allows selected sample FIPS values.

ParametersJSON Schema
NameRequiredDescriptionDefault
fipsYesCounty FIPS code, for example 13121.
Behavior4/5

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

The description adds 'Demo mode allows selected sample FIPS values,' which is a behavioral trait not covered by the annotations (readOnlyHint, openWorldHint, idempotentHint, destructiveHint). This adds value beyond the annotations, though it could be more explicit about what demo mode returns. No contradictions with annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with the primary purpose. The second sentence adds the demo mode caveat without unnecessary elaboration. Every word serves a purpose; there is no waste.

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

Completeness4/5

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

For a simple single-parameter tool with strong annotations, the description adequately covers what to expect: ZIP profiles returned by FIPS. The demo mode caveat is a nice addition, but it could specify which FIPS values are allowed in demo mode. Overall, sufficient for a lookup tool with no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides 100% coverage with a description and example for the 'fips' parameter. The description reinforces that the parameter is a county FIPS but adds no new syntax, format, or edge-case details. Baseline 3 is appropriate since the schema does the heavy lifting.

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

Purpose5/5

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

The description clearly states the verb 'Return', the resource 'ZIP profiles', and the scope 'by county FIPS'. This distinguishes it from sibling tools like geo_zip_lookup (which likely uses ZIP codes) and geo_zip_batch (batch ZIP lookup). The demo mode note adds a specific unique capability.

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

Usage Guidelines4/5

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

The phrase 'by county FIPS' clearly implies when to use this tool (when you have a county FIPS code rather than a ZIP). The demo mode caveat provides context about limited sample FIPS values. However, it does not explicitly name alternatives or state when not to use this tool, but the usage context is clear.

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

geo_enrichGeo EnrichA
Read-onlyIdempotent
Inspect

Return the enriched ZIP profile shape used by production enrichment workflows. Demo mode allows selected sample ZIPs.

ParametersJSON Schema
NameRequiredDescriptionDefault
zipYesU.S. ZIP code, for example 30301.
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description adds useful behavioral context: it returns an enriched profile shape and mentions demo mode restrictions to sample ZIPs, which is not evident from annotations. No contradiction with annotations.

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

Conciseness5/5

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

Two concise, front-loaded sentences with no filler. The first sentence states the core purpose, and the second adds the demo-mode caveat; every word earns its place.

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

Completeness4/5

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

For a simple one-parameter tool with no output schema, the description provides enough orientation: the return type (enriched ZIP profile shape), the typical use case (production enrichment workflows), and demo limitations. Minor gaps remain about what 'enriched' includes or how demo mode is triggered, but these are not critical given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear 'zip' description, so baseline 3 applies. The description adds parameter-relevant meaning by indicating that demo mode only works with selected sample ZIPs, which informs valid input choices beyond the schema.

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

Purpose4/5

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

The description 'Return the enriched ZIP profile shape used by production enrichment workflows' clearly identifies a specific verb and resource, distinguishing it from siblings like geo_zip_lookup by emphasizing the enriched profile shape and production context. However, the term 'shape' is somewhat ambiguous and could be confused with geo_zip_lookup's function.

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?

'Used by production enrichment workflows' provides clear context for when to use this tool, and 'Demo mode allows selected sample ZIPs' adds scenario-specific guidance. No exclusions or alternative tool references are mentioned, but the context is enough to infer appropriate use.

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

geo_ipGeo IP LookupA
Read-onlyIdempotent
Inspect

Resolve an IPv4 or IPv6 address to city, state, country, coordinates, timezone, and the nearest US ZIP profile. Demo mode is limited to selected sample IPs.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYesIPv4 or IPv6 address, for example 8.8.8.8.
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false. The description adds the key behavioral trait that demo mode is limited to selected sample IPs, which is not captured by annotations. It also lists the output fields, giving a fuller picture of the tool's behavior.

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

Conciseness5/5

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

Two sentences, front-loaded with the main action and outputs, followed by the demo mode caveat. No wasted words or redundancy.

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

Completeness4/5

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

With no output schema, the description correctly lists all expected output fields (city, state, country, coordinates, timezone, ZIP profile). It does not detail formatting or edge cases, but for a simple single-parameter lookup tool, it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameter 'ip' is fully documented with format and example. The description restates that it accepts IPv4 or IPv6 addresses but adds no additional semantic depth beyond the schema.

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

Purpose5/5

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

The description uses the specific verb 'Resolve' and clearly states the input (IPv4/IPv6 address) and the exact outputs (city, state, country, coordinates, timezone, nearest US ZIP profile). This distinguishes it from sibling tools like geo_city_search (search by city) and geo_zip_lookup (lookup by ZIP).

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

Usage Guidelines4/5

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

The description implies a clear use case: IP address geolocation with ZIP profile. It also notes the demo mode limitation. However, it does not explicitly mention alternatives or exclusion criteria, though siblings are not discussed.

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

geo_nearbyGeo Nearby ZIPsA
Read-onlyIdempotent
Inspect

Return distance-sorted ZIP profiles near a coordinate. Demo mode allows selected sample coordinates, radius up to 25 miles, and limit up to 10.

ParametersJSON Schema
NameRequiredDescriptionDefault
latYesLatitude.
lonYesLongitude.
limitNo
radius_milesNo
Behavior4/5

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

Annotations already establish this as read-only, idempotent, and non-destructive. The description adds valuable behavioral constraints: demo mode restricts inputs to selected sample coordinates, and radius/limit are capped at 25 miles and 10. This supplements the annotations with operational specifics, though it leaves out details like output format or pagination. It adds context beyond the structured data without contradicting it.

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 highly concise: two sentences that first state the core functionality and then add constraints. There is no filler or redundancy; every word contributes to understanding the tool. The structure is front-loaded with the purpose, making it quick to parse.

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

Completeness3/5

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

Given the absence of an output schema, the description does not clarify what a 'ZIP profile' contains (e.g., city, state, distance) or how distance is calculated. It also leaves 'demo mode' and 'selected sample coordinates' vague, which could lead to misuse. For a tool with four parameters and no output schema, this is adequate but leaves notable gaps in expected return structure and demo limitations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema describes lat and lon as 'Latitude' and 'Longitude' but provides no description for radius_miles or limit, only defaults. The description compensates by stating 'radius up to 25 miles' and 'limit up to 10', clarifying the range constraints for these parameters. It also implies the coordinate is the center point for the search. This adds meaning beyond the schema's defaults, though it doesn't explicitly define the units for lat/lon or the exact semantics of limit.

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

Purpose5/5

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

The description clearly states the tool's action: 'Return distance-sorted ZIP profiles near a coordinate.' The specific verb 'Return' and resource 'ZIP profiles' make the purpose unambiguous, and the distance-sorted criterion distinguishes it from sibling tools like geo_zip_lookup, which likely focus on direct ZIP code lookups. This is a precise and differentiated purpose statement.

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

Usage Guidelines4/5

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

The description provides clear context by indicating the tool is for finding ZIPs near a coordinate and mentions demo mode constraints (sample coordinates, radius up to 25 miles, limit up to 10). However, it does not explicitly name alternative tools or state when not to use this tool, such as when a specific ZIP lookup is needed. The context is clear but without explicit exclusions, 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.

geo_timezoneGeo TimezoneA
Read-onlyIdempotent
Inspect

Resolve a timezone using nearest ZIP centroid logic. Demo mode allows selected sample coordinates.

ParametersJSON Schema
NameRequiredDescriptionDefault
latYesLatitude.
lonYesLongitude.
Behavior4/5

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

Beyond the annotations (readOnly, idempotent, etc.), the description reveals that the tool uses 'nearest ZIP centroid logic' and provides a 'Demo mode allows selected sample coordinates.' These are meaningful behavioral details not available from the structured metadata, though it omits any failure behavior or geographic scope.

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

Conciseness5/5

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

The description is two short sentences, front-loaded with the core purpose, and has zero fluff. Every word earns its place, making it highly concise and efficiently structured.

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

Completeness3/5

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

Given the simple schema, rich annotations, and no output schema, the description covers the essential purpose and a behavioral nuance (demo mode). However, it misses important contextual details such as geographic coverage (ZIP implies US-only), the timezone format returned, and how demo mode works in practice, leaving gaps for an agent.

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 100% (lat/lon described as 'Latitude'/'Longitude'), so the baseline is 3. The description adds minimal extra meaning by implying these coordinates are used to find the nearest ZIP centroid, but does not clarify units or boundaries. It stays at baseline since the added semantic value is slight.

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 it 'Resolve[s] a timezone using nearest ZIP centroid logic', using a specific verb and resource while also explaining the methodology. This clearly differentiates it from sibling geo tools that might do IP lookups or city searches, and even mentions a demo mode feature.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or other tools like geo_zip_lookup or geo_enrich that might be used instead. The 'Demo mode' hint is not enough to establish clear usage context.

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

geo_zip_batchGeo ZIP BatchA
Read-onlyIdempotent
Inspect

Look up multiple ZIP profiles in one bounded request. Demo mode allows up to 5 selected sample ZIPs; production accepts up to 10.

ParametersJSON Schema
NameRequiredDescriptionDefault
zip_codesYesU.S. ZIP codes, for example ["30301", "10001"]. A comma-separated string is also accepted.
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds useful constraints beyond annotations: the demo mode limit (5 ZIPs) vs. production (10 ZIPs) and the 'bounded request' nature, giving the agent insight into size limitations.

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 front-loaded with the main action and resource, and is concise with exactly two sentences. Every word adds value: the batch nature, bounds, and demo/production distinction.

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?

With a simple single-parameter schema, strong annotations, and clear description of purpose and limits, the tool is adequately described for a batch ZIP lookup. No output schema exists, but the description need not explain return values; the lack of mention of what a ZIP profile contains is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides full coverage (100%) for the single parameter, including a descriptive example and accepted formats. The description adds only marginal context about batch size but does not improve on schema semantics, so a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description states a clear action ('look up') and resource ('multiple ZIP profiles') and explicitly notes the batch nature ('in one bounded request'). This distinguishes it from sibling tool geo_zip_lookup, which presumably handles a single ZIP.

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 'multiple ZIP profiles' implies this is for batch lookups, but it does not explicitly state when to use this vs. a singular lookup tool like geo_zip_lookup, nor does it mention alternatives. The demo/production limit adds usage constraints but not clear alternative guidance.

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

geo_zip_lookupGeo ZIP LookupA
Read-onlyIdempotent
Inspect

Look up a ZIP profile. Demo mode allows 30301, 30303, 10001, 94105, 60601, 78701, and 98101.

ParametersJSON Schema
NameRequiredDescriptionDefault
zip_codeYesU.S. ZIP code, for example 30301.
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds valuable context about demo mode restrictions (which ZIP codes are allowed), which goes beyond the annotations and alerts the agent to potential failures in non-demo environments.

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

Conciseness5/5

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

The description is extremely concise: two sentences with no filler. The first sentence states the core purpose, and the second provides critical demo-mode information. Every word earns its place.

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

Completeness4/5

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

For a simple single-parameter lookup tool with rich annotations, the description is largely sufficient. The demo mode note adds operational context. However, it does not describe what a 'ZIP profile' contains or the return structure, which would be useful given the absence of an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameter is already well-documented. The description adds a list of demo-mode-valid ZIP codes, which provides practical examples but does not change the fundamental semantics of the zip_code parameter. Baseline 3 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?

The description clearly states the action ('Look up') and the resource ('a ZIP profile'), making the tool's purpose evident. However, it does not explicitly distinguish this from sibling tools like geo_zip_batch or geo_enrich, though the singular 'Look up' implies a single ZIP lookup.

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 guidance on when to use this tool versus alternatives such as geo_zip_batch or address_enrich. The demo mode note gives a usage constraint but does not clarify selection criteria or exclusions.

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

hiring_signalHiring SignalA
Read-onlyIdempotent
Inspect

Buyer-shaped hiring velocity envelope. Pass domain/company for a company-keyed view, or location (+ optional role) for a market-keyed view. Returns velocity score (0-100), tier, growth verdict (rapid_growth, active_growth, ...), and a sales_hint mapped to typical actions for the chosen buyer profile (saas_sales, recruiter, investor_diligence, competitive_intel).

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoRole family filter (e.g. engineering, sales).
limitNo
domainNoCompany domain. One of domain/company/location required.
companyNoCompany name (partial match).
locationNoLocation filter (city, metro, or 'remote').
buyer_profileNosaas_sales
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, covering the safety profile. The description adds meaningful output semantics (velocity score, tier, growth verdict, sales_hint) and explains how buyer_profile affects the sales_hint, which goes beyond the structural metadata. No contradiction.

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

Conciseness4/5

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

The description is three sentences and information-dense, front-loading the core concept before breaking down input modes and outputs. The opening phrase 'Buyer-shaped hiring velocity envelope' is slightly jargon-heavy but not redundant; every sentence contributes value, 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?

Given the tool has six parameters, no output schema, and no required fields, the description adequately covers the two main usage modes, the output fields, and the buyer profile options. It omits the full list of growth verdicts and the semantics of the limit parameter, but these are not critical for basic invocation and are partially inferable from schema defaults.

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 description adds substantial meaning to the key parameters by explaining that domain/company provide a company-keyed view while location (+role) provides a market-keyed view, and that buyer_profile selects the sales hint mapping. It does not mention the limit parameter, but that is well-defined in the schema with default and range, so the description covers the most behaviorally significant parameters.

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

Purpose4/5

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

The description clearly identifies the tool as a hiring-velocity signal with buyer-specific context, using 'Buyer-shaped' and mentioning the sales_hint output to distinguish it from generic job tools. The term 'envelope' is somewhat vague, but the subsequent explanation of company-keyed and market-keyed views clarifies the purpose.

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 provides explicit guidance on when to use company-keyed (domain/company) versus market-keyed (location + role) views, which is useful. However, it does not mention alternatives among sibling tools (e.g., jobs_momentum, jobs_companies_hiring) or provide any exclusions, so an agent cannot easily decide between this and similar hiring-related tools.

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

intel_buyer_profilesCompany Signal Buyer ProfilesA
Read-onlyIdempotent
Inspect

List supported buyer profiles for /intel/company-signal and how each weights the six sub-scores.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, establishing the safety profile. The description adds modest value by revealing the output shape (list of profiles with sub-score weightings) but does not disclose additional behavioral traits like ordering, versioning, or rate limits. No contradiction with annotations.

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

Conciseness5/5

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

A single 16-word sentence with a front-loaded verb ('List'), no filler, and every element (endpoint, profile type, weighting behavior) earns its place. This is appropriately sized for a zero-parameter metadata tool.

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

Completeness4/5

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

For a zero-parameter, well-annotated metadata lookup, the description covers what the tool returns and its relationship to company-signal. Since no output schema exists, slightly more detail on the response structure would help, but the current text is nearly complete given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so schema coverage is trivially 100%. Baseline 4 applies, and the description appropriately focuses on the output rather than inventing parameter guidance. No parameter semantics are needed.

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

Purpose5/5

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

The description uses a specific verb ('List') with a specific resource ('supported buyer profiles for /intel/company-signal') and adds distinguishing detail about 'how each weights the six sub-scores.' This clearly differentiates it from sibling tools like intel_risk_profiles or intel_cyber_profiles.

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

Usage Guidelines3/5

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

The description implies usage context: it serves users of /intel/company-signal who need to understand buyer profile options and their weighting. However, it does not explicitly state when to use this tool versus sibling intel_*_profiles tools, nor does it mention exclusions or prerequisites.

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

intel_change_profilesCompany Change Buyer ProfilesA
Read-onlyIdempotent
Inspect

List buyer profiles for /intel/company-change and their category multipliers.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, which cover the operational safety profile. The description adds that it returns category multipliers, which is useful output context, but does not disclose any further behavioral traits such as return format 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.

Conciseness5/5

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

The description is a single concise sentence that front-loads the action and resource. No filler or redundant information; it is highly efficient.

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

Completeness4/5

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

For a zero-parameter read-only tool with strong annotations, the description provides sufficient context: it names the exact listing target and mentions the multiplier component. It does not explain the meaning of buyer profiles or category multipliers, but the tool is simple enough that the description is adequately complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema is trivially covered and description needs to add nothing. Baseline for 0 parameters is 4, and the description correctly implies a parameterless listing.

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

Purpose5/5

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

The description clearly states the action ('List') and the resource ('buyer profiles for /intel/company-change') along with the specific detail of including category multipliers. This distinguishes it from the sibling 'intel_buyer_profiles' tool by scoping to a specific endpoint.

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 use when dealing with /intel/company-change profiles but does not explicitly state when to use this over alternatives like 'intel_buyer_profiles' or provide exclusions. There is context but no direct usage guidance.

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

intel_compliance_profilesCompliance Buyer ProfilesA
Read-onlyIdempotent
Inspect

List buyer profiles for /intel/compliance-signal and their sub-score weights.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds context about the return content (buyer profiles and sub-score weights), which is valuable 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?

Single sentence, front-loaded with the verb, no redundant words. Ideal conciseness.

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

Completeness5/5

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

For a zero-parameter list tool with readOnly and idempotent annotations, the description fully covers what is returned and the associated signal resource. No gaps.

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?

No parameters exist, so schema coverage is trivially 100%. Baseline for zero-parameter tools is 4; description adds no param info needed.

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

Purpose5/5

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

The description specifies the verb 'List' and resource 'buyer profiles for /intel/compliance-signal', clearly distinguishing it from other intel_*_profiles tools. It also mentions sub-score weights, adding specificity.

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

Usage Guidelines3/5

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

The description implies usage for compliance-signal profiles but does not explicitly state when to use this versus sibling tools like intel_buyer_profiles. No alternatives or exclusions are mentioned.

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

intel_cyber_profilesCyber Risk Buyer ProfilesA
Read-onlyIdempotent
Inspect

List buyer profiles for /intel/cyber-risk and their sub-score weights.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, covering the safety profile. The description adds that the output includes sub-score weights, which is useful content detail, but does not disclose additional behavioral traits like pagination, rate limits, or return format. Since annotations carry the main 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?

The description is a single, front-loaded sentence: 'List buyer profiles for /intel/cyber-risk and their sub-score weights.' Every word earns its place, with no filler or redundancy.

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

Completeness4/5

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

Given the tool's simplicity (no params, no output schema), the description is nearly complete. It states the action and the key output facet (sub-score weights). However, it leaves 'buyer profiles' slightly ambiguous and does not mention what the returned list looks like, though the absence of an output schema makes that less critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema coverage is effectively 100%. Per the rubric, 0 params gives a baseline of 4. The description mentions the output content (sub-score weights) but adds nothing about parameters, which is fine because there are none.

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

Purpose5/5

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

The description uses a specific verb 'List' with a clear resource 'buyer profiles for /intel/cyber-risk' and adds 'their sub-score weights', distinguishing it from sibling tools like intel_buyer_profiles and cyber_risk. The path reference makes the scope 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?

The description implies usage by naming the exact endpoint path (/intel/cyber-risk), giving clear context for when this tool is relevant. It does not explicitly name alternatives or exclusions, but the path effectively differentiates it from sibling profile tools.

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

intel_funding_profilesFunding Signal Buyer ProfilesA
Read-onlyIdempotent
Inspect

List buyer profiles for /intel/funding-signal and their sub-score weights.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safe read-only nature is covered. The description adds context about the output (sub-score weights) but does not disclose return format, pagination, or any additional behavioral nuances. It does not contradict 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, focused sentence that immediately states the tool's purpose and key detail. It wastes no words and front-loads the verb and resource, making it easy for an agent to parse.

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

Completeness4/5

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

For a parameterless, read-only list tool, the description is complete enough: it specifies the target signal and the nature of the returned data (profiles with weights). It could elaborate on the structure of 'buyer profiles,' but given the simplicity and existing annotations, this is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the description needs to add no parameter-level details. The schema is empty, and the description's mention of 'sub-score weights' indirectly conveys what the output contains, which suffices for a no-input tool.

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

Purpose5/5

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

The description clearly states the action ('List') and specific resource ('buyer profiles for /intel/funding-signal'), including the additional detail of 'sub-score weights.' This distinguishes it from sibling profile tools like intel_buyer_profiles or intel_change_profiles by explicitly scoping to the funding-signal endpoint.

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. The description implies its specific domain (funding signal) but does not mention when to prefer it over the general 'intel_buyer_profiles' or other signal-specific profile tools, nor any exclusions or prerequisites.

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

intel_hiring_profilesHiring Signal Buyer ProfilesA
Read-onlyIdempotent
Inspect

List buyer profiles for /intel/hiring-signal and their weights.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already provide readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, which fully cover the safety profile. The description adds no behavioral traits beyond listing profiles and weights, but does not contradict annotations. Given the trivial nature, a baseline score 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?

The description is a single, front-loaded sentence that conveys all necessary information with no redundancy. Every word earns its place.

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

Completeness5/5

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

For a zero-parameter, read-only list tool with strong annotations, the description sufficiently covers the return content (buyer profiles and weights). The low complexity and empty schema mean no further detail is required.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. The description does not need to explain parameters, and the schema is fully covered by an empty object. The mention of 'weights' adds output semantics but not parameter context.

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

Purpose5/5

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

The description uses a specific verb 'List' and specifies the exact resource 'buyer profiles for /intel/hiring-signal' plus the additional detail of 'their weights'. This clearly distinguishes it from sibling tools like intel_buyer_profiles, which likely cover broader buyer profiles.

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

Usage Guidelines3/5

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

The description implies usage for retrieving buyer profiles specific to the hiring-signal path, but does not explicitly state when to use it over alternatives or provide exclusions. It relies on the specificity of the path to guide selection.

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

intel_rankSite Risk Bulk RankA
Read-onlyIdempotent
Inspect

Score and rank up to 100 ZIPs against a single site profile. Returns sorted by risk_score (highest = lowest risk).

ParametersJSON Schema
NameRequiredDescriptionDefault
candidatesYesUp to 100 five-digit US ZIPs.
site_profileNoinsurance_underwriting
Behavior3/5

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

Annotations already cover readOnly, idempotent, and destructive hints. The description adds that results are 'sorted by risk_score (highest = lowest risk),' which is a valuable behavioral clarification. However, it does not disclose return format, pagination, or other behavioral details.

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

Conciseness5/5

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

Two short sentences that are front-loaded with the action ('Score and rank'), and every word contributes value. No redundancy or fluff.

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

Completeness3/5

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

The tool is simple with rich annotations, and the description covers the core operation and sort order. However, it lacks return field details and usage examples, and the lack of an output schema leaves some ambiguity about what is returned.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema describes candidates fully but site_profile only has an enum. The description adds 'single site profile' and 'up to 100 ZIPs,' reinforcing parameter usage and constraints. It does not explain the meaning or impact of site_profile options.

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

Purpose5/5

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

The description clearly states 'Score and rank up to 100 ZIPs against a single site profile,' which specifies the verb (score/rank), resource (ZIPs), and scope (bulk, against a profile). This distinguishes it from sibling tools like site_risk or geo_zip_lookup.

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 a bulk ZIP ranking use case but does not explicitly state when to use this tool versus alternatives like site_risk or intel_risk_profiles. No exclusions or alternative tool references are provided.

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

intel_risk_profilesCounterparty Risk ProfilesA
Read-onlyIdempotent
Inspect

List supported risk profiles for /intel/counterparty-risk and how each weights the six risk sub-scores.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false. The description adds useful context by stating that the tool returns the weighting scheme for each profile's six risk sub-scores, which goes beyond the safety profile and helps the agent anticipate the output structure. No contradiction with annotations.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that states the verb first and avoids any fluff. It efficiently conveys both the listing behavior and the weighting detail without redundancy.

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

Completeness4/5

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

For a zero-parameter listing tool, the description provides sufficient context about what is returned (risk profiles and their weighting of sub-scores). Since there is no output schema, the description partially describes the return structure, which is adequate for this simple tool. It could mention the format of the profile list, but overall it is complete enough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema is empty with 100% coverage, so there is no parameter detail to add. The description appropriately focuses on the output rather than parameters, matching the baseline for a parameterless tool.

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

Purpose5/5

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

The description uses the specific verb 'List' and identifies the exact resource: supported risk profiles for /intel/counterparty-risk. It also clarifies the output includes weighting of the six risk sub-scores, making it distinct from sibling profile tools which list profiles for other endpoints.

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 endpoint reference in the description implies when the tool should be used, but there is no explicit guidance on when to use it versus alternatives like intel_cyber_profiles or counterparty_risk itself. No exclusionary or prerequisite information is provided.

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

intel_role_profilesLocation Intel Role ProfilesA
Read-onlyIdempotent
Inspect

List supported role profiles for /intel/location-score and how each weights the six sub-scores (talent_pool, cost_pressure, tax_burden, connectivity, climate_resilience, quality_of_life).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds value by specifying the exact sub-scores covered and the relationship to location-score, which informs the agent about the tool's scope and content. It doesn't go into output format or pagination, but for a simple listing tool with zero parameters, annotations plus a clear scope statement are sufficient.

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

Conciseness5/5

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

The description is a single sentence that immediately states the purpose and lists the relevant sub-scores. Every word adds value: 'supported role profiles', the endpoint association, and the explicit six sub-scores. No fluff, no redundancy, front-loaded with the key action.

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

Completeness5/5

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

For a zero-parameter, read-only listing tool with a self-descriptive name and annotations indicating readOnly and openWorld, the description is complete. It tells the agent what the tool returns (role profiles for location-score) and the exact sub-scores involved. There is no output schema, but the description itself lists the six sub-scores, providing the necessary context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, so the input schema is empty. The description adds meaning by telling the agent what the returned data represents (role profiles and their weightings for six sub-scores). Since there are no parameters to document, the description's role is to explain the output domain, which it does well.

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

Purpose5/5

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

The description clearly states this tool lists supported role profiles for /intel/location-score and explains how each weights the six named sub-scores. The verb 'List' and the specific resource ('role profiles') plus the linkage to location-score distinguish it from sibling tools like intel_site_profiles or intel_risk_profiles.

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

Usage Guidelines5/5

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

The description explicitly ties the tool to /intel/location-score, indicating exactly when to use it: when you need to understand role profile weighting for location scoring. It names the six sub-scores, which implies the use case of interpreting location-score results. It doesn't name alternatives, but the specific reference to its parent tool makes usage context clear among many sibling intel_*_profiles tools.

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

intel_site_profilesSite Risk ProfilesA
Read-onlyIdempotent
Inspect

List supported site profiles for /intel/site-risk and how each weights the six physical-risk sub-scores.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful context about the tool's output (supported profiles and their weightings), but does not disclose deeper behavioral traits like return format or performance characteristics. This adds some value beyond annotations, consistent with a baseline of 3.

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, well-structured sentence that front-loads the verb 'List' and conveys all essential information (what, for which endpoint, and what detail is provided) in under 20 words. Every word earns its place with no redundancy.

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

Completeness4/5

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

For a simple, zero-parameter tool with no output schema, the description is complete: it states the output (supported site profiles) and the included detail (weights for six sub-scores). The tie to /intel/site-risk provides sufficient context among siblings. It doesn't describe edge cases, but none are apparent for a list-listing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema trivially covers all parameter semantics. With 0 params, the baseline is 4; the description need not describe parameters as there are none. The description focuses on the tool's purpose instead, which is appropriate.

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

Purpose5/5

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

The description uses a specific verb 'List' and clearly identifies the resource ('supported site profiles') and scope ('for /intel/site-risk'), further clarifying the tool's output by mentioning how each profile weights six physical-risk sub-scores. This distinguishes it from sibling profile-listing tools like intel_buyer_profiles or intel_risk_profiles.

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

Usage Guidelines4/5

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

The description clearly ties usage to the /intel/site-risk endpoint, providing strong contextual guidance. It does not explicitly mention alternatives or exclusions, but the context is specific enough for an agent to know when to invoke this tool over other profile listers.

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

jobs_companies_hiringJobs Companies HiringA
Read-onlyIdempotent
Inspect

Return curated company-level hiring signals for a location and optional role family.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoOptional role-family filter.
locationYesLocation query, for example atlanta.
Behavior3/5

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

Annotations already declare the tool read-only, open-world, idempotent, and non-destructive. The description adds the behavioral qualifier 'curated,' which hints at some filtering or selection logic, but it does not disclose the return format, pagination, or what 'company-level hiring signals' specifically include. Since annotations cover safety, this is adequate but not rich.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that states the action, resource, and parameters without any fluff. Every word earns its place.

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

Completeness4/5

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

For a simple tool with two parameters, good annotations, and no output schema, the description is mostly complete. It could benefit from clarifying what 'company-level hiring signals' means or how results are presented, but it is adequate given the low complexity and the presence of sibling tools with similar names.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameters with descriptions ('Optional role-family filter' and 'Location query, for example atlanta'). The description only restates that the tool works for a 'location and optional role family,' adding no extra semantic detail such as format constraints or examples beyond what the schema already provides.

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

Purpose5/5

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

The description uses a specific verb ('Return') and identifies a concrete resource ('company-level hiring signals') scoped by location and optional role family. It clearly differentiates from sibling tools like jobs_momentum or jobs_profile by focusing on company-level signals rather than trends or skills.

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

Usage Guidelines4/5

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

The description implies clear usage context: provide a location and optionally a role filter. However, it does not explicitly state when to prefer this tool over the many other jobs-related sibling tools (e.g., hiring_signal, jobs_concentration), nor does it mention any exclusions or alternatives.

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

jobs_concentrationSkill Geographic ConcentrationA
Read-onlyIdempotent
Inspect

HHI-based geographic concentration for a skill. Returns hhi_score (0-100), band (diffuse → dominant), and top N metros with their job-count share. Answers 'where does the candidate pool live?'.

ParametersJSON Schema
NameRequiredDescriptionDefault
skillYes
top_nNo
Behavior4/5

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

Annotations already cover readOnly/idempotent; the description adds behavioral context by disclosing the return shape and the band scale (diffuse → dominant). It avoids contradictions and enriches the agent's understanding of the output without over-explaining.

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

Conciseness5/5

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

Two sentences with no fluff: the first states the core function and output, the second frames the use case. Information is front-loaded and every word earns its place.

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

Completeness5/5

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

For a simple read-only tool with two parameters and no output schema, the description is fully sufficient. It explains the output fields, the interpretation of the band, and the user intent, making the tool self-explanatory.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions 'top N metros' which loosely references the top_n parameter, but does not explain its default/range or explicitly map to the schema. The skill parameter is only implied. Since schema coverage is 0%, the description partially compensates but leaves details to the schema.

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

Purpose5/5

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

The description clearly identifies the tool's purpose: computing HHI-based geographic concentration for a skill. It specifies the output fields (hhi_score, band, top N metros with share) and distinguishes it from sibling job tools by focusing on geographic concentration rather than momentum or trends.

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 question 'where does the candidate pool live?' explicitly frames when to use this tool, providing clear context. However, it does not name alternative tools or exclusion criteria, so it falls short of a full 5.

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

jobs_momentumSkill Hiring MomentumA
Read-onlyIdempotent
Inspect

Recent vs prior period demand for a skill. Returns score (-100..+100) and band (surging/rising/stable/cooling/falling) so you know if hiring for this skill is accelerating or decelerating.

ParametersJSON Schema
NameRequiredDescriptionDefault
skillYes
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and no destructive actions, covering safety. The description adds behavioral context by explaining the output range (-100..+100), the band labels, and what the result indicates (accelerating/decelerating), which enriches the agent's understanding beyond the annotations alone.

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

Conciseness5/5

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

The description is a single, well-structured sentence that front-loads the purpose, includes the output format, and gives an interpretive hint. Every phrase adds value, making it highly concise without sacrificing clarity.

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

Completeness4/5

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

For a simple one-parameter tool without an output schema, the description covers the essential information: what it measures, the output range, the bands, and how to interpret the result. It lacks a bit of contextual detail about the exact definition of 'recent vs prior period' or input format, but overall it's sufficiently complete for the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero description coverage, and the description only refers to 'a skill' without specifying the expected format, allowed values, or any constraints. Since the parameter is required and undocumented, the description does not compensate for the missing schema information, leaving the agent guessing what 'skill' should look like.

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

Purpose4/5

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

The description clearly states the tool computes 'Recent vs prior period demand for a skill' and returns a score and band, which is a specific verb+resource. It distinguishes the tool's purpose from siblings by focusing on acceleration/deceleration, but does not explicitly name or compare against other jobs_* 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 Guidelines3/5

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

Usage context is implied: use this when you want to know if hiring demand for a skill is accelerating or decelerating. No explicit alternatives or exclusions are provided, so while the implied use case is clear, there's no guidance on when not to use it or how it differs from similar tools like jobs_skill_trends.

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

jobs_profileLabor-Market Profile (deep)A
Read-onlyIdempotent
Inspect

Full talent-market profile in one call: skill intel + role intel + market temperature + salary band + hiring velocity + location compete + talent verdict. Replaces ~5 separate calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
skillNo
titleNo
locationNo
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that the tool combines multiple data categories into one call, which is useful context, but it does not disclose details about return format, data availability, or how missing parameters are handled.

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

Conciseness5/5

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

The description is a single well-structured sentence that front-loads the core value proposition, then lists components, and ends with an efficiency claim. Every word earns its place, and there is no redundancy or filler.

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

Completeness4/5

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

The tool is a composite of many data types and has no output schema, so the description's explicit enumeration of included data categories helps the agent understand what to expect. It does not specify response structure or optionality, but given that no parameters are required, the description provides adequate context for an agent to make an informed decision.

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% with three optional parameters (skill, title, location) and no descriptions. The description partially compensates by mentioning 'skill intel', 'role intel', and 'location compete', which map loosely to the parameters, but it does not define them precisely or explain how they interact when multiple are provided.

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

Purpose5/5

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

The description uses a specific verb phrase ('Full talent-market profile in one call') and enumerates the exact data types included, making the tool's purpose unambiguous. It distinguishes itself from sibling tools by claiming to replace ~5 separate calls, which clearly separates it from more granular jobs_* tools.

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

Usage Guidelines4/5

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

The description explicitly states 'Replaces ~5 separate calls,' telling the agent that this tool is the aggregation choice when a comprehensive talent-market profile is needed. It does not explicitly state when not to use it, but the context makes it clear that this is the preferred option over making multiple individual calls.

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

jobs_role_skillsJobs Role SkillsB
Read-onlyIdempotent
Inspect

Return aggregated skill signals for a role title. Demo mode allows selected sample job titles.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesRole title, for example data analyst.
Behavior3/5

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

Annotations already declare read-only, idempotent, and non-destructive behavior, so the description doesn't need to restate those. It adds the behavioral context that demo mode restricts allowed titles, which is useful. However, it does not describe what 'aggregated skill signals' means or what the return structure looks like, relying on the annotations for safety transparency.

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

Conciseness5/5

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

The description is two short sentences, with the primary action front-loaded. Every word adds value, and the demo mode note is concise. No wasted or redundant content.

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

Completeness3/5

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

For a simple single-parameter read-only tool with rich annotations, the description is minimally adequate. However, it lacks details about what 'skill signals' means, how demo mode is selected, or any example output. Given there is no output schema, the description could be more complete to manage expectations, but the simplicity of the tool reduces the overall burden.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers the sole parameter 'title' with a clear description and example. The description's phrase 'role title' aligns with the schema but adds no additional semantic detail beyond what the schema already provides. With 100% schema coverage, the baseline of 3 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?

The description states a clear purpose: 'Return aggregated skill signals for a role title.' This is a specific verb-resource pairing that conveys the tool's main function. However, it does not explicitly distinguish itself from closely related sibling tools like jobs_related_skills or jobs_skill_graph, which also deal with skills.

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 guidance on when to use this tool versus alternative job-related tools is provided. The mention of 'Demo mode allows selected sample job titles' hints at a constraint but does not clarify when this tool is preferred over siblings or any exclusions. With many job-related sibling tools, this lack of directional guidance is a notable gap.

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

jobs_salary_signalsJobs Salary SignalsA
Read-onlyIdempotent
Inspect

Return salary signal aggregates for a role title in the loaded trend set.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesRole title, for example cloud engineer.
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, which the description respects. It adds important behavioral context by stating the operation is scoped 'in the loaded trend set,' implying dependence on a pre-loaded dataset—a trait not captured by annotations. It also clarifies that it returns aggregates rather than raw salary data, providing useful behavioral nuance.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that directly states the action, resource, and scope without any filler. It is concise yet complete enough for a simple tool, earning a top score.

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

Completeness4/5

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

The tool has one well-documented parameter, strong safety annotations, and a simple purpose. The description sufficiently explains the operation for a straightforward aggregate lookup, though it leaves the exact composition of 'salary signal aggregates' unspecified. Given no output schema, a bit more detail about return values would improve completeness, but the current state is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with the 'title' parameter already described as 'Role title, for example cloud engineer.' The description adds minimal extra meaning by indicating the title is interpreted within the loaded trend set, but it does not elaborate on format, matching rules, or case sensitivity. Since the schema handles the semantic load, a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description uses the specific verb 'Return' with a precise resource ('salary signal aggregates') and scope ('for a role title in the loaded trend set'). It clearly distinguishes this tool from sibling jobs tools like jobs_momentum or jobs_skill_trends by focusing specifically on salary signals.

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

Usage Guidelines3/5

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

The description implies usage: use it when you need salary aggregates for a role title. However, it provides no explicit guidance on when to choose this over other jobs_* siblings, nor does it mention any exclusions or prerequisites such as ensuring the trend set is loaded. The context about the 'loaded trend set' is present but not framed as a usage condition.

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

jobs_scarcityTalent Scarcity (candidates per role)A
Read-onlyIdempotent
Inspect

Estimate candidates-per-open-role for a skill. Bands: severe_shortage / scarce / balanced / abundant. Workforce-planning signal for prioritizing hard-to-fill roles.

ParametersJSON Schema
NameRequiredDescriptionDefault
skillYes
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds output band categories (severe_shortage / scarce / balanced / abundant), which is useful behavioral context, but it doesn't explain data freshness or computation methodology.

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 well-structured sentence that front-loads the core purpose, then adds output bands and use case without any filler or redundancy.

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

Completeness4/5

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

For a single-parameter, read-only estimation tool, the description covers the purpose, output categories, and use case. It lacks explicit definitions of each band but is sufficient for an agent to select and invoke the tool 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 coverage is 0%, but the description clarifies that 'skill' is the skill being evaluated. However, it doesn't provide format expectations or examples, leaving some ambiguity about how to specify the skill (e.g., normalized name vs. ID).

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

Purpose5/5

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

The description uses a specific verb 'estimate' with a clear resource 'candidates-per-open-role' and specifies the input (skill) and output bands, making its purpose unambiguous and distinguishing it from sibling jobs_* tools.

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

Usage Guidelines4/5

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

The description states the use case: 'Workforce-planning signal for prioritizing hard-to-fill roles,' which provides clear context for when to use the tool, though it does not explicitly name alternatives or exclusions.

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

jobs_skill_graphSkill Adjacency GraphA
Read-onlyIdempotent
Inspect

Multi-hop related-skill graph (BFS from seed). Returns nodes with hops_from_seed and edges with frequency-based weights. Use for broadening candidate filters, curriculum design, and job-description templating.

ParametersJSON Schema
NameRequiredDescriptionDefault
skillYes
max_hopsNo
max_nodesNo
Behavior4/5

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

Annotations already declare readOnly, openWorld, idempotent, and non-destructive. The description adds the BFS traversal algorithm, the graph structure (nodes/edges), and frequency-based weights, giving beyond-annotation behavioral context without contradiction.

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

Conciseness5/5

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

Three sentences, front-loaded with the primary function and output structure, followed by concrete use cases. No redundant information.

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

Completeness4/5

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

The description provides enough context for a graph-returning tool: it explains the return shape (nodes with hops, edges with weights), the traversal strategy, and typical use cases. With no output schema, this is fairly complete, though it could mention default parameter behavior or limits.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It clarifies that the 'skill' parameter acts as the seed and mentions hops_from_seed for max_hops, but it does not explicitly explain max_nodes or the meaning of frequency-based weights in relation to parameters. Partial compensation.

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

Purpose5/5

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

The description clearly states it returns a multi-hop related-skill graph using BFS from a seed skill, with nodes and edges. This specific verb+resource structure distinguishes it from sibling tools like jobs_related_skills (which likely returns a flat list) and jobs_role_skills.

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

Usage Guidelines4/5

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

It explicitly lists three use cases: broadening candidate filters, curriculum design, and job-description templating. This provides clear context for when to use the tool, though it does not explicitly mention alternatives or exclusions.

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

location_scoreLocation Intelligence ScoreA
Read-onlyIdempotent
Inspect

Composite hiring-location score (0-100) for a US ZIP, weighted by role profile (engineering, sales, operations, warehouse, retail, remote). Joins Census ACS demographics, FEMA flood, IECC climate, FAA airport, BEA cost-of-living, and state income tax into one tuned signal. Returns overall score, tier, verdict, and six sub-scores with notes.

ParametersJSON Schema
NameRequiredDescriptionDefault
zipYesU.S. ZIP code, for example 10001.
roleNoRole profile that tunes the sub-score weights.engineering
yearNo
filing_statusNosingle
Behavior4/5

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

Annotations already declare this as read-only, idempotent, and non-destructive. The description adds valuable behavioral context by explaining the internal composition (Census, FEMA, IECC, FAA, BEA, tax data) and the output format (overall score, tier, verdict, six sub-scores with notes), going 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?

Two sentences, front-loaded with the core purpose, then data sources and return payload. No filler or redundancy. Every clause contributes to understanding the tool.

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

Completeness4/5

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

Given no output schema, the description appropriately lists return fields (overall score, tier, verdict, six sub-scores) and the underlying data sources. It lacks parameter semantics for year/filing_status, which is a gap, but overall it provides enough context for an agent to invoke correctly for the primary use 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 50%, covering only zip and role. The description does not explain what 'year' or 'filing_status' mean or how they affect the score, nor does it add meaning beyond the schema for the enumerated parameters. With half the parameters undocumented, the description fails to compensate for the gap.

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

Purpose5/5

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

The description uses a specific verb ('returns') and a precise resource ('composite hiring-location score for a US ZIP, weighted by role profile'), clearly distinguishing it from sibling tools like geo_zip_lookup or address_enrich. It also enumerates the data sources and output components, leaving no ambiguity about what the tool does.

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

Usage Guidelines4/5

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

The description makes the use case evident: when you need a synthesized hiring-location score for a ZIP code and role profile. It does not explicitly name alternatives or exclusions, but the context is clear enough to guide selection among the many sibling tools.

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

meta_catalogCatalog MetadataA
Read-onlyIdempotent
Inspect

List public-safe dataset coverage, status, and endpoint counts. Demo mode is allowed.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_endpointsNo
Behavior4/5

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

The description adds context beyond the annotations by stating 'public-safe' (indicating data sensitivity) and 'Demo mode is allowed' (a usage restriction/permission). These are useful behavioral traits not covered by the readOnlyHint, openWorldHint, idempotentHint, or destructiveHint annotations. There is no contradiction with 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 two short, purposeful sentences. It front-loads the core functionality and immediately adds the demo-mode note without any fluff. Every word contributes to understanding the tool.

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 tool with one optional parameter and no output schema, the description covers the main return contents (dataset coverage, status, endpoint counts) and usage context. However, the lack of parameter clarification leaves a completeness gap, preventing a 5.

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?

With schema description coverage at 0%, the description carries the full burden for explaining parameters, but it never mentions 'include_endpoints' or its effect. The phrase 'endpoint counts' weakly relates to the parameter, but there is no explanation of when to set it true or false or what the default behavior is. This is a significant gap for a tool with only one parameter.

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

Purpose5/5

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

The description uses a specific verb ('List') and identifies the resource ('public-safe dataset coverage, status, and endpoint counts'), making the tool's purpose immediately clear. It also distinguishes itself from the sibling tool 'meta_dataset' by emphasizing catalog-level information rather than a specific dataset's metadata.

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

Usage Guidelines3/5

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

The description gives clear context (public-safe catalog listing) and mentions 'Demo mode is allowed,' which is a usage condition. However, it does not provide explicit when-to-use vs. alternative tools or when-not-to-use guidance, despite the large sibling set. The usage is implied rather than explicitly contrasted.

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

meta_datasetDataset Coverage MetadataA
Read-onlyIdempotent
Inspect

Return public-safe coverage, limitations, and endpoint references for one dataset slug.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesDataset slug such as location-enrichment.
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds 'public-safe' and lists the content of the return (coverage, limitations, endpoint references), but does not describe return format or potential pagination. This is useful context, but not a substantial addition 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?

The description is a single, front-loaded sentence with no wasted words. It states the verb and resource immediately.

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

Completeness4/5

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

The tool is simple with one parameter and rich annotations. The description lists the categories of information returned (coverage, limitations, endpoint references), which is adequate for an agent to know what to expect, though no output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the schema already describes the 'slug' parameter. The description provides a concrete example ('location-enrichment') which adds marginal value, but the burden is mostly on the schema.

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

Purpose5/5

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

The description clearly states the tool returns coverage, limitations, and endpoint references for a specific dataset slug. The phrase 'one dataset slug' differentiates it from the sibling meta_catalog tool, which likely lists all datasets.

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

Usage Guidelines3/5

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

The description implies usage when a specific dataset slug is known, but it does not explicitly mention alternatives like meta_catalog for exploring all datasets. Context is clear but exclusions are absent.

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

phone_regionPhone Region LookupA
Read-onlyIdempotent
Inspect

Lightweight country + region + primary timezone lookup for a phone number. Cheaper than phone_validate when you only need the country header.

ParametersJSON Schema
NameRequiredDescriptionDefault
phoneYes
default_regionNoUS
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds behavioral context beyond annotations by noting it is 'Lightweight' and 'Cheaper than phone_validate', giving insight into cost/performance expectations. It also clarifies the output scope (country, region, timezone), which is not in the schema.

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

Conciseness5/5

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

Two concise sentences deliver the core function, the lightweight nature, and a direct comparison to a sibling tool. No redundant words, and key information is front-loaded. Every word earns its place.

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

Completeness3/5

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

The description gives a clear purpose, differentiates from phone_validate, and mentions output types. However, it omits semantics for the default_region parameter, and since there is no output schema, it does not describe the return format (e.g., timezone string format). For a simple tool with limited params, this is barely adequate but leaves important gaps 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%, so the description must compensate for parameter meaning. While 'phone' is implicitly linked to the phone number lookup, the 'default_region' parameter is completely unexplained. The description does not clarify what default_region is for (e.g., fallback for numbers without country code), leaving the agent to guess. This is a significant gap given the lack of schema descriptions.

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

Purpose5/5

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

The description clearly states the tool performs a 'country + region + primary timezone lookup for a phone number', using a specific verb (lookup) and resource (phone number). It explicitly distinguishes itself from the sibling tool phone_validate by mentioning 'Cheaper than phone_validate when you only need the country header', which differentiates it from a likely alternative.

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

Usage Guidelines5/5

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

The description explicitly provides a usage condition ('when you only need the country header') and names the alternative tool (phone_validate) for different needs. This directly tells the agent when to use this tool over a sibling, satisfying the highest bar for usage guidance.

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

phone_validatePhone ValidationA
Read-onlyIdempotent
Inspect

Validate + enrich a phone number in 200+ countries. Returns E.164/national/international formatting, country, number-type (mobile/fixed/VoIP/toll-free/premium), carrier (where libphonenumber has data), timezones, disposable-carrier flag, and a risk band (low/moderate/elevated/high) for sign-up fraud screening.

ParametersJSON Schema
NameRequiredDescriptionDefault
phoneYesPhone number in E.164 (+14155551212), national (415-555-1212), or international form.
default_regionNoISO-3166-1 alpha-2 country code for ambiguous national-only inputs.US
Behavior4/5

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

Annotations already declare read-only/idempotent, and the description adds valuable context by enumerating the enriched output fields, including a caveat about carrier data availability. No contradictions with annotations.

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

Conciseness5/5

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

The description is a single well-structured sentence that front-loads the core action and lists all key outputs without wasted words.

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

Completeness5/5

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

Given the absence of an output schema, the description compensates by enumerating the return fields in detail. It also notes the use case and scope, making it sufficiently complete for an agent to invoke 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?

The input schema already provides descriptions for both parameters (phone and default_region) at 100% coverage. The tool description does not add additional parameter-level semantics, so the baseline score of 3 applies.

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

Purpose5/5

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

The description clearly states the tool validates and enriches phone numbers across 200+ countries. The detailed list of output types (formatting, number-type, carrier, risk band) distinguishes it from sibling validation tools like email_validate and address_validate.

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

Usage Guidelines4/5

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

The description provides clear context for sign-up fraud screening, indicating a primary use case. However, it does not explicitly name alternatives or when-not-to-use, so it falls short of explicit guidance.

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

remote_hire_costRemote Hire True CostA
Read-onlyIdempotent
Inspect

Composite remote-hire envelope for a US ZIP + salary: total employer cost (salary + employer FICA + benefits load), employee take-home (federal + state + employee FICA), and the location-fit score under the 'remote' profile. Replaces a 20-40 minute back-and-forth with payroll on every remote candidate.

ParametersJSON Schema
NameRequiredDescriptionDefault
zipYesFive-digit US ZIP code.
yearNo
salaryYes
filing_statusNosingle
benefits_load_pctNoFraction of salary added for benefits (default 30%).
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe, deterministic read operation. The description adds value by revealing the composite nature (employer cost, employee take-home, location-fit score) and the components (salary, employer FICA, benefits load, federal/state taxes, employee FICA). It does not discuss limitations such as estimation accuracy or data freshness, but given the strong annotation coverage, this is a minor gap.

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

Conciseness5/5

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

Two tightly packed sentences with no redundancy. The first enumerates the core outputs and inputs; the second states the value proposition relative to manual payroll queries. The description is front-loaded with the tool's identity ('Composite remote-hire envelope') and stays focused.

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?

Because there is no output schema, the description must convey return values. It lists the three composite outputs (employer cost, employee take-home, location-fit score) and specifies the primary input (ZIP + salary). It falls slightly short by not describing the location-fit score's range or interpretation, and it omits how optional parameters affect the result. Overall, it is sufficiently complete for a medium-complexity tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 40% (zip and benefits_load_pct have descriptions). The description identifies salary and ZIP as primary inputs and mentions benefits load as a cost component, but it does not explain the purpose of 'year' or 'filing_status', which are critical for tax calculations. Thus it only partially compensates for the low schema coverage, leaving important parameters semantically 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 clearly identifies a composite remote-hire cost calculator: it computes total employer cost, employee take-home, and a location-fit score for a US ZIP + salary. It distinguishes itself from sibling tools like tax_calculate (which only handles taxes) and location_score (which only provides fit) by combining all three into one envelope. The phrase 'Replaces a 20-40 minute back-and-forth with payroll' reinforces the specific resource and action.

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

Usage Guidelines4/5

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

The description gives a clear use case: estimating remote-hire compensation components for a given ZIP and salary, framed as an alternative to contacting payroll. It does not explicitly state when not to use it or name alternative tools (e.g., tax_calculate for precise tax-only queries), so it lacks explicit exclusions. Still, the context is clear and actionable.

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

site_riskSite Risk SnapshotA
Read-onlyIdempotent
Inspect

Physical-location risk composite for a US ZIP. Joins FEMA flood + USGS seismic + NOAA tornado/hurricane + climate + EIA grid reliability into a 0-100 risk-weighted score (higher = lower risk). Tuned by site profile: insurance_underwriting, data_center_site, retail_storefront, warehouse_distribution. Returns underwriting_hint mapped to insurance actions.

ParametersJSON Schema
NameRequiredDescriptionDefault
zipYes
site_profileNoinsurance_underwriting
Behavior4/5

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

Annotations already provide read-only, idempotent, and non-destructive hints. The description adds valuable behavioral context: the score direction (higher = lower risk), the data-source aggregation, and the underwriting_hint output. It does not contradict 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?

Three dense, front-loaded sentences with no filler. Every clause adds functional value, covering inputs, data sources, score interpretation, and output hint.

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

Completeness4/5

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

Given the tool's moderate complexity and lack of output schema, the description covers inputs, data sources, score meaning, and output hint, making it fairly self-contained. It omits the exact response structure but provides sufficient operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It explains that site_profile tunes the score and lists the same enum values, adding meaning beyond the bare schema. It also clarifies that zip is a US ZIP, which the schema does not specify. Formatting details are absent but not critical.

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

Purpose5/5

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

The description states a specific action: computing a physical-location risk composite for a US ZIP by joining multiple named datasets. It clearly distinguishes itself from sibling tools by focusing on a risk-weighted score (0-100) and site-profile tuning.

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 implies when to use by mentioning site profiles and the underwriting_hint for insurance actions, but it does not explicitly contrast with alternatives like location_score or geo_zip_lookup. The context is clear enough for most use cases.

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

tax_calculateTax CalculatorA
Read-onlyIdempotent
Inspect

Compute progressive federal (and optional state) tax owed from gross income, filing status, year, and deductions. Returns tax, marginal/effective rate, take-home, and per-bracket impact. Demo mode is limited to 2026 and standard filing statuses. Reference data only, not advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo
stateNoOptional two-letter state code.
incomeYesGross annual income in USD.
deductionsNoOptional. Total deductions to apply. If omitted, the standard deduction for the filing status is used.
filing_statusNosingle
additional_incomeNoAdditional taxable income added to gross before deductions.
Behavior5/5

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

The description goes well beyond the readOnly and idempotent annotations by disclosing return fields ('marginal/effective rate, take-home, per-bracket impact'). It also reveals the 'Demo mode' limitation and adds a 'Reference data only, not advice' disclaimer, which provides important behavioral context for a tool that could otherwise be misinterpreted as professional tax advice.

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

Conciseness5/5

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

Three sentences, each earning its place: purpose, outputs, then constraints and disclaimer. It is front-loaded with the core function and reads clearly without unnecessary 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?

With no output schema, the description compensates by explicitly listing return values. It also covers demo limitations and advisory scope. It does not define 'per-bracket impact' in detail, but for a calculator tool of moderate complexity, the description is sufficiently complete for an agent to select and invoke the tool 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 coverage is 67%, so the schema does much of the work for parameters like income, state, deductions, and additional_income. The description adds little beyond listing 'gross income, filing status, year, and deductions' in prose. It does not clarify default behavior for omitted deductions or the meaning of additional_income, though the schema covers these. It is adequate but not additive.

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

Purpose5/5

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

The description opens with a specific action verb 'Compute' and a clear resource: 'progressive federal (and optional state) tax owed.' It enumerates the key inputs and outputs, making the tool's purpose unambiguous. This clearly distinguishes it from sibling tax lookup tools like tax_federal_brackets or tax_summary.

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

Usage Guidelines3/5

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

The description implies usage: when you need to calculate tax owed from income, use this tool. It also notes the demo limitation to 2026 and standard filing statuses, which is important context. However, it does not explicitly contrast with sibling tools like tax_federal_brackets or tax_standard_deduction, nor state when not to use it.

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

tax_deadlinesTax DeadlinesA
Read-onlyIdempotent
Inspect

Return filing deadline reference values. Demo mode is limited to 2026.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYes
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds the demo mode limitation to 2026, which is useful contextual behavior beyond the annotations. There is no contradiction.

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

Conciseness5/5

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

The description is a single sentence that front-loads the core purpose and adds the demo constraint in a second clause. No word 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 simple lookup tool with one parameter and no output schema, the description gives the essential info: purpose and the key limitation. However, it does not detail the return format or elaborate on the deadline values, which could be more precise, but it's adequate given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter is 'year' with a default of 2026. The description mentions 'Demo mode is limited to 2026,' which gives a partial constraint on the year parameter, but does not explain valid ranges, error behavior, or what happens when year is not 2026 outside demo mode. With 0% schema coverage, the description only partially compensates.

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

Purpose5/5

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

The description uses a specific verb ('Return') and resource ('filing deadline reference values'), clearly distinguishing this from sibling tax tools like tax_calculate or tax_federal_brackets. The mention of demo mode adds further specificity about what the tool provides.

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

Usage Guidelines3/5

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

The description implies the tool is for retrieving tax filing deadlines, but it does not explicitly state when to use it over alternatives or provide exclusions/prerequisites. No sibling tool comparisons are mentioned.

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

tax_federal_bracketsTax Federal BracketsA
Read-onlyIdempotent
Inspect

Return federal tax bracket reference rows. Demo mode is limited to 2026 and standard filing statuses.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYes
filing_statusYessingle
Behavior4/5

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

Annotations already declare the operation as read-only, idempotent, and non-destructive, so the description doesn't need to cover those aspects. It adds valuable behavior beyond the annotations by disclosing the demo mode limitation and restrictions on valid years and filing statuses. This helps the agent understand potential constraints without contradicting 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 concise, with only two sentences. The first sentence delivers the core purpose, and the second adds a crucial limitation. There is no redundancy or filler, and the most important information is front-loaded.

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

Completeness4/5

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

For a simple reference tool with strong annotations, the description covers the essential usage context, including the demo mode restriction. It doesn't specify the structure of returned rows, but given the tool's simplicity and lack of output schema, this is an acceptable gap. It is complete enough for an agent to select and 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%, so the description must compensate for parameter meaning. The text hints at year limitation ('limited to 2026') and filing status restriction ('standard filing statuses'), but it doesn't clearly define valid values or the semantics of each parameter. An agent would remain unclear about what 'standard filing statuses' means or what year to supply beyond the default.

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

Purpose5/5

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

The description clearly states the tool's function: 'Return federal tax bracket reference rows.' It uses a specific verb ('Return') and resource ('federal tax bracket reference rows'), which distinguishes it from sibling tools like tax_state_brackets and tax_calculate. The purpose is unambiguous and immediately understandable.

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

Usage Guidelines3/5

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

The description implies usage for federal tax bracket lookups but does not explicitly compare against alternatives like tax_state_brackets or tax_calculate. It provides context about demo mode limitations ('limited to 2026 and standard filing statuses'), which helps set expectations, but it lacks explicit 'when to use versus not use' guidance.

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

tax_mileage_ratesTax Mileage RatesA
Read-onlyIdempotent
Inspect

Return mileage-rate reference values. Demo mode is limited to 2026.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYes
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds the behavioral constraint that demo mode is limited to 2026, which is valuable context 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 two short sentences, front-loaded with the core purpose and a practical limitation. Every word earns its place with no redundancy.

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

Completeness4/5

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

For a simple reference lookup tool with a single parameter and strong annotations, the description is largely sufficient. The demo limitation adds important context, but the lack of explicit parameter explanation is a minor 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%, and the description does not explain the 'year' parameter at all. While the parameter name is self-explanatory, the description fails to compensate for the lack of schema-level documentation, leaving the agent to infer the meaning.

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

Purpose5/5

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

The description clearly states the tool returns mileage-rate reference values, with a specific verb and resource. It distinguishes itself from sibling tax tools by focusing on mileage rates, which is unique among the listed tax_* 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 context is implied by the name and description: use when you need mileage rate reference values. No explicit alternatives or when-not-to-use guidance is provided, but the tool's purpose is narrow enough that the context is reasonably clear.

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

tax_retirement_limitsTax Retirement LimitsB
Read-onlyIdempotent
Inspect

Return retirement contribution reference values. Demo mode is limited to 2026.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYes
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds a useful behavioral detail: 'Demo mode is limited to 2026', which helps set expectations about year support and demo restrictions 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 two short sentences with no unnecessary words. It is front-loaded with the core purpose and adds a single constraint, making it highly concise and easy to parse.

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 tool with one parameter and no output schema, the description provides a basic understanding of the output but lacks specifics on what 'retirement contribution reference values' includes (e.g., 401(k), IRA, catch-up limits). It also does not clarify whether the year parameter supports arbitrary years or only 2026 outside demo mode.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has only one parameter (year) with 0% description coverage. The description mentions 'Demo mode is limited to 2026', indirectly hinting at the year's meaning, but it does not explain what the parameter controls for non-demo scenarios or what values are accepted beyond the default.

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 the tool 'Return retirement contribution reference values', which clearly identifies the action (return) and resource (retirement contribution reference values). This is distinct from sibling tax tools like tax_federal_brackets or tax_standard_deduction, though 'reference values' is a bit vague about which specific limits (e.g., 401(k), IRA).

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 guidance on when to use this tool versus alternatives. It mentions a demo mode constraint but does not explain when to choose this over other tax-related tools or any situational context.

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

tax_standard_deductionTax Standard DeductionB
Read-onlyIdempotent
Inspect

Return standard deduction reference values. Demo mode is limited to 2026.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYes
filing_statusNoOptional filing status.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate a read-only, idempotent, non-destructive operation. The description adds the limitation 'Demo mode is limited to 2026,' which is useful behavioral context. It does not contradict annotations and provides a modest addition beyond the structured data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences, front-loaded with the core action ('Return standard deduction reference values') followed by a concise limitation. Every word earns its place, with no unnecessary 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?

With no output schema, the description does not clarify what the return values look like or the data format. It also does not specify whether the standard deduction is federal or state-level, which creates ambiguity given sibling tools like tax_state_brackets. The description is too sparse for a tool that has no output 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 50% (only filing_status has a description). The description does not explain that the year parameter is required or what filing_status values are valid. While parameter names are somewhat self-explanatory, the description adds no semantic detail, and the schema is only partially covered.

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 'Return standard deduction reference values,' which is a clear verb+resource pairing. It identifies the tool as a reference for standard deductions, though it does not explicitly differentiate from sibling tax tools like tax_federal_brackets or tax_summary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The only contextual note, 'Demo mode is limited to 2026,' is a constraint on usage rather than a selection guideline, leaving the agent without direction on tool choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tax_state_bracketsTax State BracketsA
Read-onlyIdempotent
Inspect

Return selected state individual income-tax bracket references. Demo mode is limited to Georgia 2026.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYes
stateYesTwo-letter state code, for example GA.
filing_statusNoOptional filing status.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the tool read-only and idempotent. The description adds meaningful behavior: 'Demo mode is limited to Georgia 2026' is a critical caveat about functional scope, and 'bracket references' indicates it returns reference data rather than calculations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core action. The demo mode caveat is essential and concisely stated. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose and a key limitation, but lacks details about return format ('bracket references' is vague) and does not mention the filing_status parameter or what values it accepts. Given no output schema, the description carries the burden of explaining results, which it does not fully do.

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 67% (state and filing_status have descriptions, year lacks one). The description adds context by mapping 'Georgia 2026' to state/year and implying year is a tax year, but it does not explain the year parameter or the optional filing_status parameter beyond what the schema already states.

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 'Return selected state individual income-tax bracket references' uses a specific verb and resource, clearly identifying the tool as returning state-specific tax bracket data. It distinguishes from sibling tools like tax_federal_brackets by explicitly saying 'state'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies the tool is for state income-tax brackets, contrasting with federal tools. The demo mode limitation provides context about usage constraints, though it does not explicitly name alternatives for federal brackets or calculations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tax_summaryTax Year SummaryA
Read-onlyIdempotent
Inspect

Return a combined federal bracket, standard deduction, mileage, retirement, and filing-deadline reference summary. Demo mode is limited to 2026.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYes
filing_statusYessingle
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds value by noting the demo mode is limited to 2026 and by labeling the output as a 'reference summary,' which gives context about scope and limitations 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 extremely concise, consisting of two short sentences. The first states the tool's output components, and the second adds a key limitation. There is no wasted language or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and only two parameters, the description provides a list of the summary's content areas but does not explain the output structure, valid values for filing_status, or behavior for years other than 2026. It is moderately complete but leaves important gaps given its 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%, so the description must compensate for the meaning of year and filing_status. It does not explain filing_status allowed values or what the year parameter controls beyond the indirect hint about demo mode. This leaves the agent without enough information to set valid parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns a combined federal bracket, standard deduction, mileage, retirement, and filing-deadline reference summary. The word 'combined' distinguishes it from individual sibling tools like tax_federal_brackets and tax_deadlines, and it mentions the demo mode limitation.

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 that this is a summary tool aggregating multiple tax reference values, but it does not explicitly say when to use it versus individual sibling tools or provide any exclusions. The usage is inferable from the word 'combined' but not explicitly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tech_stackTech Stack SignalA
Read-onlyIdempotent
Inspect

Classify a company's public tech footprint by inspecting MX / A / CNAME / NS / TXT records. Returns detections across categories (email_provider, hosting_provider, cdn_provider, dns_provider, SaaS tools via TXT) with vendor evidence on every detection. Non-intrusive — only looks at DNS the domain owner published.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesCompany domain, e.g. apple.com.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds the non-intrusive nature and that 'only looks at DNS the domain owner published,' which provides method-level context beyond the annotations. It also clarifies that every detection includes vendor evidence, setting expectations for the output. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences: the first defines the action and method, the second enumerates output categories and evidence, and the third addresses non-intrusiveness. Every sentence earns its place; no fluff or redundant detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with no output schema, the description covers the action, methodology, output structure, and safety profile. It provides enough information for an agent to select and invoke it correctly, and it clearly differentiates from many DNS-related sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully describes the single 'domain' parameter with an example ('apple.com'), giving 100% schema coverage. The tool description adds no new parameter-specific information beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's core action ('Classify a company's public tech footprint') and the method (inspecting MX/A/CNAME/NS/TXT records). It lists specific output categories, which distinguishes it from sibling tools like dns_lookup or dns_profile that merely retrieve DNS data rather than classify the stack.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies when to use this tool: when you need a classification of a company's public tech footprint based on DNS. It does not explicitly name alternatives or state when not to use it, but the context is unambiguous given the listed categories and evidence requirements.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vin_decodeVIN DecodeA
Read-onlyIdempotent
Inspect

Decode a 17-character Vehicle Identification Number. Offline ISO 3779/3780 structural decode (syntax, check digit, country, model year) + NHTSA vPIC enrichment (make / model / trim / body / engine / plant). Use for insurance underwriting, used-car listing validation, fleet management.

ParametersJSON Schema
NameRequiredDescriptionDefault
vinYes17-character VIN (case-insensitive, no I/O/Q characters per ISO 3779).
use_vpicNoWhen false, skip NHTSA vPIC enrichment and return offline-only fields.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes beyond the annotations by explaining the dual offline/online behavior: it performs an 'offline ISO 3779/3780 structural decode' and an 'NHTSA vPIC enrichment' which can be skipped via the use_vpic parameter. This adds context about data sources and the ability to control external enrichment, which is not covered by the readOnly/idempotent hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: the first precisely defines the operation and outputs, and the second lists targeted use cases. Every word earns its place; no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (two parameters, no output schema), the description covers the core behavior, return categories, and use cases. It could mention behavior on invalid VINs or the exact response format, but these are minor gaps and the description is sufficiently informative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already fully documents both parameters with specific descriptions (17-character format, no I/O/Q; use_vpic default and behavior). The tool description adds some context about what the decoded fields are, but doesn't meaningfully enhance the parameter-level understanding beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool decodes a 17-character VIN and lists the exact outputs (syntax, check digit, country, model year) plus NHTSA enrichment fields. This distinguishes it from the sibling tools, which are all unrelated (address, company, weather, etc.), so there is no ambiguity about its function.

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 specifies concrete use cases ('insurance underwriting, used-car listing validation, fleet management'), which provides clear guidance on when to apply the tool. It doesn't explicitly exclude alternatives, but given no sibling tool handles VINs, alternatives are not relevant.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weather_air_qualityAir Quality (AQI + pollutants)A
Read-onlyIdempotent
Inspect

Current air quality at a lat/lon or US ZIP: US EPA AQI + European AQI, plus pollutant concentrations (PM2.5, PM10, ozone, NO₂, SO₂, CO, dust) in µg/m³, a categorical band, and the primary pollutant. Source: Open-Meteo Air Quality (CAMS + EPA AirNow blend).

ParametersJSON Schema
NameRequiredDescriptionDefault
latNo
lonNo
zip_codeNoUS ZIP (preferred). Or pass lat+lon.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, and open-world hints. The description adds valuable behavioral context by specifying the data source (Open-Meteo Air Quality, CAMS + EPA AirNow blend) and the exact output contents (US EPA AQI, European AQI, pollutant concentrations, categorical band, primary pollutant), which goes beyond what annotations alone convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, with the core purpose stated in the first line and additional details (output composition and data source) following in a structured manner. Every sentence contributes meaningful information without redundancy, making it highly efficient.

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 tool with three parameters and no output schema, the description is sufficiently complete. It specifies what the tool returns, the input alternatives, and the underlying data source. The annotations cover safety and mutability aspects. It does not explain interpretation of categories, but that is not essential for selecting and invoking the tool 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?

The schema description for zip_code already explains that it is a US ZIP (preferred) and that lat+lon can be passed instead. The tool description repeats this 'lat/lon or US ZIP' pattern, adding minimal new semantic value. It implies that lat and lon are used together but does not specify formats, ranges, or other constraints. Since schema coverage is low (33%), the description partially compensates but does not fully detail each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns current air quality data, including AQI values, pollutant concentrations, and related metrics. It explicitly distinguishes this from sibling tools by specifying the focus on air quality rather than general weather, and mentions the input methods (lat/lon or US ZIP).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context by explaining that the tool works with either lat/lon coordinates or a US ZIP code, and that it returns air quality data. It does not explicitly exclude alternatives, but the focus on air quality makes the intended use case unambiguous relative to sibling weather tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weather_alertsActive Weather Alerts (US, NWS)A
Read-onlyIdempotent
Inspect

Active alerts from the US National Weather Service. Query by lat+lon, US ZIP, or two-letter state code.

ParametersJSON Schema
NameRequiredDescriptionDefault
latNo
lonNo
stateNoTwo-letter US state code.
zip_codeNo
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds the data source (NWS) and query methods, but does not disclose additional behavioral traits like response format, rate limits, or geographic scope beyond 'US.' This is consistent with annotations but adds limited extra context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one concise sentence, front-loaded with the core function and followed by a clear list of query options. There is no redundant or filler content, making it highly efficient.

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 lookup with no required parameters and rich annotations, the description covers purpose and query methods sufficiently. It does not detail the output shape, but no output schema exists and the tool is straightforward. Minor gaps like defining 'active' do not hinder selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has low description coverage (25%), with only 'state' described. The description compensates by indicating that lat+lon are used together, zip_code refers to a US ZIP, and state is a two-letter code. It also presents these as alternative query modes, adding semantic grouping not present in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns 'active alerts from the US National Weather Service,' identifying a specific verb (query) and resource (active alerts). This distinguishes it from sibling weather tools like weather_forecast and weather_current, which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through the phrase 'active alerts' and the query options, but it does not explicitly contrast with alternatives such as weather_forecast or weather_historical. It provides no when-to-use or when-not-to-use guidance, making the use case only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weather_best_windowBest Window for an Outdoor ActivityA
Read-onlyIdempotent
Inspect

Find the best contiguous N-day or N-hour window in the forecast horizon for an activity (outdoor_event, ski, construction, agriculture_spray, running). Returns top 5 windows ranked 0-100 with drivers.

ParametersJSON Schema
NameRequiredDescriptionDefault
latNo
lonNo
top_nNo
horizonNodays
activityNooutdoor_event
zip_codeNo
window_lengthNo
horizon_lengthNo0 = activity-appropriate default (14 days / 48 hours).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds behavioral context by specifying the output format (ranked 0-100, drivers) and the notion of contiguity, giving the agent a clearer picture of the result 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 sentences, front-loaded with the main action, and includes a parenthetical enumeration of supported activities. Every piece of information serves a purpose with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 8 parameters and no output schema. The description provides a basic return statement (top 5 windows, 0-100, drivers) but does not explain 'drivers' meaning or the difference between location parameters (lat/lon vs zip_code), leaving some ambiguity for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 13% schema description coverage, the description compensates by explaining the core parameters: 'N-day or N-hour' for horizon/window, the 'activity' enum, and 'top 5' for top_n. It does not clarify lat/lon vs zip_code selection, but parameter names are self-explanatory.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Find' with a clear resource: best contiguous N-day/N-hour window for an activity. It enumerates activity types and states the output (top 5 windows ranked 0-100 with drivers), distinguishing it from siblings like weather_forecast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context that the tool is for selecting optimal time windows for specific activities (outdoor_event, ski, etc.), which implies when to use it. However, it does not explicitly exclude alternatives or name sibling tools, so it misses the top tier.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weather_compareCompare Weather Across LocationsA
Read-onlyIdempotent
Inspect

Rank up to 5 locations by comfort outlook (ideal > mild > poor > severe). Useful for trip planning, expansion site comparison, event location selection.

ParametersJSON Schema
NameRequiredDescriptionDefault
unitsNoimperial
coordsNoSemicolon-separated lat,lon pairs (max 5). e.g. 40.7,-74.0;25.7,-80.2
zip_codesNoComma-separated US ZIPs (max 5).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds meaningful behavioral context beyond annotations by disclosing the comfort rating scale and the ranking nature of the output, which is not present in the schema or annotations. It does not contradict 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 two sentences, front-loaded with the core action and ranking scale. The use-case sentence adds context without redundancy. Every word contributes value; no filler or repetition of schema/annotation details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 optional parameters and no output schema, the description conveys the essential purpose, ranking logic, and target use cases. It does not specify return format or how units affect the ranking, but the schema covers input semantics and annotations cover safety. Overall, it is sufficiently complete for an agent to select and invoke the tool 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 67% (coords and zip_codes have descriptions; units has enum/default). The description itself adds no parameter-level detail beyond what the schema provides, such as the difference between coords and zip_codes or when to use each. With coverage above 50%, a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Rank') and resource ('up to 5 locations by comfort outlook'), with an explicit ordinal scale (ideal > mild > poor > severe). This distinguishes it from sibling weather tools like weather_current or weather_zip, which retrieve specific conditions rather than comparing and ranking locations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear use cases ('trip planning, expansion site comparison, event location selection'), which signal when to use this comparison tool rather than a single-location weather tool. However, it does not explicitly name alternatives or state when not to use it, so it falls short of the highest bar.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weather_currentCurrent Weather (by coordinate)A
Read-onlyIdempotent
Inspect

Current conditions at a latitude/longitude in imperial or metric units. Sourced from Open-Meteo.

ParametersJSON Schema
NameRequiredDescriptionDefault
latYes
lonYes
unitsNoimperial
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already convey read-only, idempotent, and non-destructive behavior. The description adds that data is sourced from Open-Meteo, which is a useful context signal, but it does not disclose return format or other behavioral details. Since annotations cover the safety profile, the description's limited addition is acceptable but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, front-loaded with the core purpose and ending with a source note. Every word carries meaning, with no unnecessary verbosity or repetition of schema details.

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 tool with no output schema, the description is adequate but leaves the return values vague ('current conditions' could mean temperature, humidity, wind, etc.). Annotations cover safety, and the tool is straightforward, but a more detailed description of output would improve completeness.

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 description explains the latitude/longitude parameters in prose ('at a latitude/longitude') and the units parameter ('imperial or metric units'), effectively covering all three schema properties. Although the schema has no property descriptions and zero coverage by typical metrics, the description compensates by clarifying the meaning and allowed values of each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as providing current weather conditions at a latitude/longitude, with units of measure. While it lacks an explicit verb like 'get' or 'retrieve', the noun phrase 'Current conditions' effectively conveys the action. It is distinguishable from siblings like weather_forecast and weather_historical due to the word 'Current'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (when you need current conditions at coordinates) but does not explicitly mention alternatives or exclusion criteria. Sibling tools like weather_zip, weather_forecast, and weather_historical are not referenced, so the guidance is only implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weather_degree_daysHeating + Cooling Degree DaysA
Read-onlyIdempotent
Inspect

HDD and CDD over a window, with per-day rows. Used for HVAC sizing, utility bill reconciliation, energy forecasting. Default base 65°F is the NOAA HVAC standard.

ParametersJSON Schema
NameRequiredDescriptionDefault
latNo
lonNo
zip_codeNo
base_tempNoBase temperature in °F.
days_backNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Given the annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior, the description adds valuable context beyond this: it discloses the per-day row output format and the NOAA standard for the default base temperature. This helps set expectations about the returned data without contradicting 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 three compact sentences, each adding distinct value: the first defines the core function, the second provides use cases, and the third explains a key default. There is no redundancy or filler, and the most important information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core output structure (per-day rows) and a key default (base 65°F), but with no output schema and five parameters, it leaves gaps. It does not explain how location is specified (lat/lon vs zip_code), the units or contents of the per-day rows, or the meaning of the days_back window. These are important for an agent to use 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 only 20% (only base_temp has a schema description). The tool description adds context for base_temp ('Default base 65°F is the NOAA HVAC standard') but does nothing to explain lat, lon, zip_code, or days_back. With low coverage, the description was expected to compensate, but it only addresses one parameter, leaving the others to rely on their names for meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'HDD and CDD over a window, with per-day rows.' This specifies the resource (degree days), the scope (a time window), and the output structure (per-day rows), which distinguishes it from sibling weather tools like weather_current or weather_historical.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases ('Used for HVAC sizing, utility bill reconciliation, energy forecasting'), which gives clear context for when this tool might be relevant. However, it does not mention any alternatives or when NOT to use this tool, so it leaves the agent to infer selection among the many sibling weather tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weather_forecastWeather Forecast (1-16 days)B
Read-onlyIdempotent
Inspect

Daily forecast with travel-impact score (flight risk, outdoor event suitability) per day plus an overall precipitation outlook (dry/mixed/wet pattern).

ParametersJSON Schema
NameRequiredDescriptionDefault
latNo
lonNo
daysNo
unitsNoimperial
zip_codeNoUS ZIP (preferred). Or pass lat+lon.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds detail about the output structure (per-day score, overall pattern) but does not disclose additional behavioral traits such as data sources, rate limits, or location-resolution nuances, which would add value 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?

One sentence, 22 words, with no filler. It front-loads the core product (daily forecast) and packs the differentiating features (travel-impact score, flight risk, outdoor suitability, precipitation outlook) into a compact structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description focuses on output semantics but omits critical input requirements: how to specify location (lat/lon vs zip_code), the 1-16 day range, unit options, and defaults. Without an output schema and with 5 parameters, this leaves significant gaps for an agent trying to invoke the tool correctly, especially among many weather-related siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 20%, and the tool description adds no parameter context. It does not explain the relationship between lat/lon and zip_code, whether zip_code is preferred, how days affects the forecast, or what units controls. The description completely fails to compensate for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies a daily forecast with a travel-impact score and precipitation outlook, distinguishing it from weather_current or weather_hourly. However, it lacks an explicit verb like 'retrieve' or 'return', so it falls short of a fully specific verb+resource statement.

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 through the travel-impact score and flight risk/outdoor suitability framing, suggesting trip planning scenarios. Yet there is no explicit 'when to use' guidance or mention of alternatives like weather_best_window or weather_compare, which are common siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weather_historicalHistorical Weather (past N days)A
Read-onlyIdempotent
Inspect

Last 1-365 days of daily observations with pre-computed aggregates (frost-day count, summer-day count, rainy days, heavy-rain days, extremes). Answers 'is this a normal year?' questions.

ParametersJSON Schema
NameRequiredDescriptionDefault
latNo
lonNo
unitsNoimperial
zip_codeNo
days_backNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint: false, covering the safety profile. The description adds behavioral context beyond that: the 1-365 day range, the fact that observations are daily, and the specific pre-computed aggregates (frost-day count, summer-day count, rainy days, heavy-rain days, extremes). No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, front-loaded with the core offering and followed by a one-line use case. It is dense, informative, and contains no unnecessary words.

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 partially conveys return values (daily observations, aggregates) but omits response structure and parameter requirements. The description covers the main content but leaves gaps for a tool with 5 optional-looking parameters, making it adequate but incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only alludes to days_back via 'Last 1-365 days' and does not explain lat, lon, zip_code, or units, nor their interrelation (e.g., whether location is required). This is insufficient for a 5-parameter tool with no schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns 'Last 1-365 days of daily observations with pre-computed aggregates' and explicitly says it answers 'is this a normal year?' questions. This identifies a specific verb (returns), resource (historical daily weather), and distinguishes it from related weather tools like weather_normals or weather_current.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear use case: 'Answers is this a normal year?' This tells the agent when to use it. However, it does not explicitly name alternatives or when not to use, so it lacks the exclusionary guidance needed for a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weather_hourlyHourly Forecast (up to 16 days)A
Read-onlyIdempotent
Inspect

Hour-by-hour forecast: temperature, apparent temperature, precipitation probability + amount, humidity, cloud cover, wind speed/gusts/direction, and a WMO condition label per hour. For event timing, energy-demand curves, and logistics windows.

ParametersJSON Schema
NameRequiredDescriptionDefault
latNo
lonNo
hoursNo
unitsNoimperial
zip_codeNoUS ZIP (preferred). Or pass lat+lon.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, and non-destructive behavior, so the description is not required to restate those. It adds value by detailing the exact set of weather variables returned, including wind gusts and WMO condition labels, which helps set expectations beyond the raw 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 two sentences: the first front-loads the core payload and the second adds practical use cases. Every word contributes, and there is no redundancy or off-topic information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity, the description covers the returned fields and offers contextual use cases, which is sufficient for an agent to understand the tool's role. However, it does not mention the maximum forecast horizon (though the title does), nor does it describe response structure, but in the absence of an output schema the description gives enough context to operate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 20% (only zip_code is described), and the tool description does not explain any parameter semantics. While lat, lon, hours, and units are somewhat self-explanatory, the description fails to compensate for the large gap in schema documentation, leaving the agent without guidance on constraints like hours range or units choices.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the resource (hour-by-hour forecast) and the data fields returned (temperature, precipitation, humidity, etc.). It also includes a scope (up to 16 days) and is distinguishable from siblings like weather_current and weather_forecast by focusing on hourly granularity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases: 'event timing, energy-demand curves, and logistics windows,' which guide when to choose this tool. It does not explicitly state when not to use it or name alternative tools, but the use cases imply hourly data is needed, distinguishing it from daily or current weather tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weather_marineMarine Forecast (waves + swell)A
Read-onlyIdempotent
Inspect

Coastal/marine hourly forecast: wave height, period, and direction, plus wind-wave and swell components. For shipping, fishing, surfing, and coastal-event planning. Coastal/open-water coordinates only — inland points return an error.

ParametersJSON Schema
NameRequiredDescriptionDefault
latNoLatitude of a coastal/open-water point.
lonNoLongitude of a coastal/open-water point.
hoursNo
unitsNoimperial
zip_codeNoUS ZIP — must resolve to a coastal point.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, covering safety. The description adds valuable behavioral context: the hourly resolution, the specific wave components returned, and the error condition for inland points. This exceeds the baseline but doesn't cover auth/rate limits or output structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short, front-loaded sentences with zero fluff. Each sentence provides distinct value: purpose, use cases, and constraint. Excellent structure.

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 forecast tool with 5 params and no output schema, the description covers purpose, scope, use cases, data components, and a key error behavior. It omits details like units for wave measurements or time series structure, but 'hourly forecast' and the named components give adequate context for an agent to select and invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 60% of parameters with descriptions (lat, lon, zip_code). The description does not elaborate on parameter choices like hours or units, or explain the lat/lon vs zip_code tradeoff beyond the schema. It reinforces the coastal requirement but adds little semantic value over the schema, so a mid-range score is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it's a coastal/marine hourly forecast with specific outputs (wave height, period, direction, wind-wave, and swell components). The verb 'forecast' and resource 'marine' are specific, and the coastal scope distinguishes it from generic weather tools like weather_forecast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases (shipping, fishing, surfing, coastal-event planning) and a hard constraint (coastal/open-water coordinates only, inland returns error). However, it does not name alternative tools for inland or general forecasts, so it lacks the explicit when-not-to-use guidance that would warrant a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weather_normalsClimate Normals + DepartureA
Read-onlyIdempotent
Inspect

Same-window decadal climate normals for the next N days, plus a departure-from-normal block comparing the current forecast to the baseline. 'This week is 11°F above normal.'

ParametersJSON Schema
NameRequiredDescriptionDefault
latNo
lonNo
unitsNoimperial
yearsNo
zip_codeNo
horizon_daysNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds useful behavioral context by explaining the two output blocks (normals and departure) and providing an example phrase. This goes beyond annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: one sentence summarizes the tool's function and a second sentence gives a concrete example. Every clause adds value, and the example clarifies the departure concept without unnecessary verbosity.

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% parameter coverage in the description, the tool needs more context to be invoked correctly. It fails to describe input semantics (locations, units) and the exact structure of the departure block. The example is illustrative but does not compensate for the missing parameter guidance.

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% with 6 parameters, so the description must compensate. It only hints at horizon_days ('next N days') and years ('decadal'), but does not explain how to specify location (lat/lon vs zip_code) or units. The 11°F example indirectly references units, but this is insufficient for correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool provides: decadal climate normals for the next N days plus a departure-from-normal comparison to the current forecast. It distinguishes itself from sibling weather tools like weather_forecast and weather_historical by focusing on normals and deviation, and includes a concrete example to illustrate the output.

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 use for normals/departure analysis via phrases like 'current forecast' and 'baseline', but it does not explicitly state when to use this tool versus alternatives such as weather_forecast or weather_historical. No exclusions or alternative recommendations are provided, so the guidance is only implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weather_routeWeather Along a RouteA
Read-onlyIdempotent
Inspect

Weather conditions along a polyline route. Pass up to 20 legs, each a lat/lon waypoint with an optional ISO 8601 departs_at. Legs departing within 2 hours (or with no time) return current conditions; future legs return the daily forecast for that date. For trucking, road-trip, and delivery-window planning.

ParametersJSON Schema
NameRequiredDescriptionDefault
legsYesOrdered waypoints along the route.
unitsNoimperial
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds valuable behavioral context beyond annotations: the time-window semantics (2-hour threshold, daily forecast for future legs). This helps the agent understand how the tool will behave, though it does not detail response structure or potential edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the core purpose, followed by concise input rules and use cases. No wasted words; every sentence adds value. This is an example of efficient, well-structured tool documentation.

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?

In the absence of an output schema, the description partially describes return behavior ('current conditions' vs 'daily forecast'), which gives the agent enough context to infer what the tool produces. It lacks detail on response format or units, but overall it is sufficient for selection and invocation. The moderate complexity and strong annotations keep the bar low, but a full 5 would require clearer output specification.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: legs has a description, units does not. The description compensates for the legs parameter by explaining leg structure (lat/lon waypoint, optional ISO 8601 departs_at) and temporal behavior. It does not mention units, but the enum and default are self-explanatory. The added temporal semantics elevate this above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource: 'Weather conditions along a polyline route.' It clearly distinguishes itself from sibling weather tools (e.g., weather_current, weather_forecast) by focusing on multi-leg route planning, and the closing phrase 'For trucking, road-trip, and delivery-window planning' reinforces its unique scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states when to use the tool (route-based weather planning) and provides behavioral context: legs departing within 2 hours return current conditions, future legs return daily forecasts. However, it does not explicitly name alternatives like weather_current or weather_forecast for single-point queries, so exclusions are implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weather_zipCurrent Weather (by US ZIP)A
Read-onlyIdempotent
Inspect

Resolve a US ZIP to coordinates via the geo dataset, then return current weather.

ParametersJSON Schema
NameRequiredDescriptionDefault
unitsNoimperial
zip_codeYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the geo dataset resolution step, which is useful context, but it does not disclose behavior such as error handling for invalid ZIPs or response structure. This is acceptable given the annotations but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the primary action and efficiently conveys the two-step process. Every word contributes value, making it highly concise.

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 2-parameter tool with strong annotations, the description is mostly adequate. However, without an output schema, it only says 'current weather' without specifying what data is included (e.g., temperature, humidity), leaving room for uncertainty. It also does not mention handling for unknown ZIP codes.

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 directly links zip_code to the 'US ZIP' input, but it does not mention the units parameter or clarify ZIP format. The schema's enum and default for units are self-explanatory, but the description does not add much meaning beyond the parameter names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool resolves a US ZIP to coordinates via the geo dataset and then returns current weather. The verb+resource structure (resolve, return) and explicit mention of the geo dataset distinguish it from sibling tools like geo_zip_lookup and weather_current.

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 title and description make it clear the tool is intended for US ZIP code inputs, and the mention of 'via the geo dataset' implies the prerequisite. However, it does not explicitly state when not to use it or mention alternatives for non-ZIP inputs, so it lacks exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources