Skip to main content
Glama

Server Details

Discover, rate and compare APIs and providers in the APIs.io catalog; manage a listing you own.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 78 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
ChatGPT
–
Claude
–

TDQS

B3.2/5.0

Scored across 146 tools

Disambiguation2/5

Many tools have overlapping or near-identical surfaces: find_apis / apis_io_search / find_artifacts / find_<type>, get_provider / enrich_provider / get_provider_rating / get_provider_capabilities / get_provider_business_capabilities / get_provider_artifacts, and a large cohort_* family (cohort_stats, cohort_scores, cohort_rankings, cohort_capabilities, cohort_failures, cohort_history, get_cohort, compare_cohorts) whose boundaries are only distinguished by long prose. The descriptions do actively warn readers off the wrong tool ('NOT get_provider_capabilities'), which prevents some misselection, but at 146 tools an agent must read paragraphs to pick correctly. The correction/feedback cluster (report_correction, correct_facts, dispute_finding, request_check, submit_artifact, submit_feedback, report_gap) is especially easy to confuse.

Naming Consistency4/5

The dominant pattern is a clear verb_noun snake_case convention (find_apis, get_provider, list_lists, create_list, delete_list, submit_artifact). Deviations are minor and readable: bare verbs like resolve and single-word nouns (check_status is fine, but compose_goal/plan_goal and question-style names like what_can_i_fix, whats_changed mix phrasing). No camelCase or chaotic mixes, so the set stays predictable overall.

Tool Count1/5

146 tools is a severe mismatch for any single MCP surface; even a large catalog product would normally expose a fraction of this. The set bundles discovery, ratings, cohorts, VC/insights, workspace CRUD, agent registry, and editorial/governance actions into one flat namespace. An agent must triage a six-figure token catalog before it can act.

Completeness4/5

Coverage of the catalog domain is genuinely broad: search/list/get for APIs, providers, tags, industries, regions, artifacts, ratings, cohorts, agent readiness, VC, insights, plus write paths for lists, saved searches, watches, and correction requests. Minor gaps exist, e.g. no remove_from_list or update_list despite add_to_list/create_list/delete_list, and no update/rename for saved searches. These are small workarounds rather than dead ends.

Available Tools

146 tools
add_to_listB
Idempotent
Inspect

UNDERSTANDING — Add providers/APIs (by slug or aid) to one of your lists. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
idYesList id, as create_list returns it or list_lists lists it.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
membersYesProvider slugs and/or API aids to add, e.g. ["stripe","adyen:checkout-api"].

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already disclose the safety profile (idempotentHint=true, destructiveHint=false), so the description's main addition is cost context (B1, $0.01/call) and the note that 'context' is never used to rank. It does not state what happens on duplicate members beyond what idempotentHint implies, so the added value 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.

Conciseness4/5

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

The core action is front-loaded in a single clause, with pricing appended as a secondary pointer to apis://prices. Efficient overall, though the 'UNDERSTANDING —' prefix is slightly noisy.

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 three-parameter mutation with no output schema, the description covers the core action and cost, but omits operational details that would help an agent (e.g., behavior on duplicates, whether the list must be owned, partial-failure handling). Adequate but with clear 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 the schema already documents all three parameters, including the 'aid' format example. The description only echoes the 'by slug or aid' phrasing, which the member schema already covers. 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?

States a specific verb (add), resource (providers/APIs), target (one of your lists), and the accepted identifier forms (slug or aid). It is readily distinguishable from siblings like create_list, delete_list, and get_list.

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

Usage Guidelines2/5

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

No when-to-use guidance is given: it doesn't say when to add vs. create a new list, nor does it mention prerequisites such as obtaining the list id first (only the schema hints at this). The only context is the pricing tier, which is not usage guidance.

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

agent_readiness_dimensionsB
Read-only
Inspect

UNDERSTANDING — diffusion: for each agent-readiness dimension, how many scored providers satisfy it, out of how many, as a share. The denominator every "the agent web is/is not here yet" claim needs and almost never has. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
pageNoPage number, 1-based (default 1).
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuine non-annotation context: the pricing tier (B1, $0.01/call, included in Understanding and Influence) and a pointer to apis://prices. It adds no detail on pagination, ordering, or result shape beyond what is stated as output.

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 core semantics are front-loaded in the first sentence, which is good. However, the second sentence is editorial sales copy ('The denominator every ... claim needs and almost never has') that consumes space without adding invocation-relevant information. The pricing sentence is useful; the rhetoric is not.

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 carries some of the return-value burden and does state the shape (counts and shares per dimension). Combined with annotations covering the safety profile, this is adequate but thin: ordering of dimensions, the meaning of the share denominator, and pagination behavior are not addressed.

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

Parameters3/5

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

Schema description coverage is 100% and all three parameters (page, limit, context) are fully documented in the schema, including defaults and bounds. The description adds no parameter-level meaning, so the baseline of 3 applies when the schema does all the work.

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

Purpose4/5

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

The description states a specific output: for each agent-readiness dimension, the count of scored providers satisfying it as a share. That is a concrete verb+resource (aggregate readiness dimension coverage). It does not explicitly distinguish itself from siblings like insights_dimensions or get_agent_readiness, but the shape of the result is clear enough to route on.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance or named alternative. The sibling list contains several near-neighbors (insights_dimensions, get_agent_readiness, find_agent_readiness, readiness_gates), and the description does not say which condition selects this one over them. The closest thing to guidance is an editorial justification ('the denominator ... claims need').

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

check_statusA
Read-only
Inspect

INFLUENCE — the status of a check request by id: queued, in_review, running, done, rejected or needs_info, with any notes shared by the reviewer. The id identifies the request, but the Influence plan is now required to read it back. To report an error for free, use report_correction or open an issue on the provider's api-evangelist repo. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
idYesThe check id request_check returned (or my_checks lists).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the description's useful additions are the plan gating requirement, the reviewer-notes payload, and the cost ($0.01/call, B1 tier, included in Understanding/Influence). Authentication/quota and billing disclosure is genuinely beyond what the annotations convey.

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

Conciseness4/5

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

The core purpose is front-loaded in the first clause, and the remaining sentences each carry actionable information (plan prerequisite, error-reporting alternative, price). The unexplained 'INFLUENCE —' prefix and the trailing 'See apis://prices' pointer are the only mild clutter.

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 usefully enumerates the terminal and intermediate statuses plus the reviewer-notes field, and it covers the plan gate and pricing. Error/not-found behavior and whether polling is expected are the only notable omissions; still solid for a two-param read tool.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already documented; the description only restates that the id identifies the request, without adding format or sourcing detail beyond what the id schema note ('returned by request_check, or my_checks lists') already provides. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource (fetch the status of a check request by id) and even enumerates the possible return values: queued, in_review, running, done, rejected, needs_info. It does not explicitly contrast itself with the closely related siblings request_check or my_checks, which is why 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 Guidelines4/5

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

Gives a real prerequisite (the Influence plan is now required to read the request back) and routes error reporting to report_correction or a repo issue rather than this tool. That is clear context plus an explicit alternative, but it never states the intended flow (call after request_check to poll).

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

claim_listingAInspect

INFLUENCE — ask to claim a listing as yours. Returns 202 with a token and the hosts it will be checked against: publish it as a DNS TXT record, or as a file at /.well-known/apis-io-challenge, and leave it up. A PERSON verifies it and emails you — there is nothing else to call. Track it with check_status. Priced B4 (human work) — worked by a person, no charge. See apis://prices.

NameRequiredDescriptionDefault
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations: returns 202 with a token and the hosts to be checked, requires publishing a DNS TXT record or a /.well-known/apis-io-challenge file that must stay up, and a human verifies and emails. It also discloses pricing ('B4, human work, no charge') — valuable for a non-readOnly mutation with 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?

Front-loads the action and outcome, then the verification mechanics and pricing. Every sentence carries information, though the pricing/uri reference is slightly tangential to invocation.

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

Completeness5/5

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

With no output schema, the description carries the return contract itself (202, token, hosts) and the full async verification workflow, so nothing an agent needs to call or follow up correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both slug and context. The description adds no extra parameter syntax or format guidance beyond what the schema states, so the 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?

States a specific verb and resource ('ask to claim a listing as yours') and implicitly distinguishes itself from the read/track sibling by routing tracking to check_status. An agent can tell this is a claim-submission tool without opening the schema.

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

Usage Guidelines4/5

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

Gives clear context (claiming ownership) and an explicit follow-up route: 'Track it with check_status' plus 'there is nothing else to call', which heads off redundant calls. It does not explicitly contrast with adjacent siblings like watch_listing or unwatch_listing, 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.

cohort_capabilitiesA
Read-only
Inspect

UNDERSTANDING — what every member of a cohort actually publishes: artifact counts by type plus the agent-readiness dimensions each one satisfies. The capability matrix behind a market report. Large cohorts come back in byte-budgeted chunks: while complete is false, call again with cursor set to next_cursor; the last page has complete: true and a null next_cursor. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
kindYesCohort kind: tag, industry, region, area or vc — says what `slug` names.
slugYesSlug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. "payments" with kind "tag".
cursorNoResume offset from a previous response's next_cursor. Omit for the first page; keep calling while next_cursor is not null.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds substantive behavior beyond that: byte-budgeted chunked pagination with the complete/next_cursor loop, and cost disclosure ($0.05/call, tier B2, included in Understanding/Influence). Auth requirements and rate limits remain unstated.

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?

Front-loads the purpose, then layers pagination and pricing. Every sentence is load-bearing, though the pricing sentence and 'See apis://prices' add bulk that could be trimmed for a description primarily used for selection.

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 carries the burden of explaining returns and does so partially: artifact counts by type, satisfaction dimensions, and the complete/next_cursor paging fields. It stops short of describing the shape of individual entries, but an agent has enough to call and iterate 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%, so the schema already documents kind, slug, cursor and context, including the enum values. The description reinforces the cursor/next_cursor paging contract but adds no meaning beyond what the schema provides, making the baseline 3 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?

States a specific verb and resource: what members of a cohort publish — artifact counts by type plus the agent-readiness dimensions each satisfies. The 'capability matrix behind a market report' framing distinguishes it from siblings like cohort_scores, cohort_rankings and cohort_stats without needing to open any schema.

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

Usage Guidelines3/5

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

Gives a usage context ('the capability matrix behind a market report') and detailed pagination instructions, but never explicitly contrasts with the many sibling cohort_* tools or states when NOT to use this one. Usage is implied rather than routed.

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

cohort_failuresA
Read-only
Inspect

UNDERSTANDING — what a whole market gets WRONG: the agent-readiness checks its members most commonly fail, ranked by what fixing each would move the cohort mean. The inverse of gap_analysis, which says where a market is under-served; this says where it is failing the rubric. Turns "fix your OpenAPI" into "this industry does not publish OpenAPI", which is the shape of a finding worth publishing. Named checks only — facet rollups cannot name the checks underneath them. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.

NameRequiredDescriptionDefault
kindYesCohort kind: tag, industry, region, area or vc — says what `slug` names.
pageNoPage number, 1-based (default 1).
slugYesSlug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. "payments" with kind "tag".
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only certify readOnly/openWorld=false, but the description goes well beyond that: full cost model ($0.005/request + $0.0002/record, less past 100, capped at $0.50), plan gating (pay-as-you-go, Understanding, Influence), an estimate endpoint, and a hard data-shape limit ('facet rollups cannot name the checks underneath them'). This is exactly the extra context annotations cannot carry.

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 intent statement is front-loaded in the first clause and no sentence is pure filler, but roughly half the text is pricing/tier boilerplate that could have been a single pointer to the prices resource. Efficient, though not maximally tight.

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 does describe the result conceptually (failing checks ranked by lift to the cohort mean) and covers access tier and cost. Remaining gaps — exact record shape and pagination interaction with the per-record price — are minor for a read-only cohort query.

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 kind, slug, page, limit and context are already fully documented in the schema. The description adds no syntax, format, or example detail beyond that ('Named checks only' constrains output shape, not parameters). Baseline 3 is correct when the schema does the heavy lifting.

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

Purpose5/5

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

Specific verb+resource: it returns the agent-readiness checks a cohort most commonly fails, ranked by impact on the cohort mean. It differentiates from the nearest sibling explicitly ('The inverse of gap_analysis, which says where a market is under-served; this says where it is failing the rubric'). An agent can select this without opening any other schema.

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

Usage Guidelines4/5

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

Names the alternative (gap_analysis) and the condition that separates them, and adds a real usage constraint ('Named checks only — facet rollups cannot name the checks underneath them'). It does not, however, route among the other cohort_* siblings (cohort_scores, cohort_rankings, cohort_capabilities, cohort_stats), so the guidance is clear but not exhaustive.

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

cohort_historyA
Read-only
Inspect

UNDERSTANDING — the SET-LEVEL time series: how a whole market's Kin Score and agent readiness moved, build by build. There was a per-provider series and a whole-dataset licence and nothing between them, so "how has banking moved over six months" had no answer. Returns the MEAN over members present on each date plus members_scored beside it — membership changes as the catalog grows, and a move you cannot attribute to scores rather than population is not a finding. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
kindYesCohort kind: tag, industry, region, area or vc — says what `slug` names.
slugYesSlug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. "payments" with kind "tag".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.1/5.0
Behavior5/5

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

Goes well beyond the readOnly annotation: it discloses the return shape (MEAN over members present each date plus members_scored), the attribution caveat (membership shifts as the catalog grows), and full pricing/plan details ($0.05 B2, included in Understanding and Influence, apis://prices). This is exactly the extra context annotations can't provide.

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?

Front-loaded with the core purpose, then returns and pricing. Mostly earns its length, though the editorial aside ('a move you cannot attribute to scores rather than population is not a finding') is slightly discursive for a tool definition.

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

Completeness5/5

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

With no output schema, the description carries the return-value burden and does so (MEAN and members_scored), plus pricing and the key membership caveat. An agent has everything needed to call it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so kind/slug/context are already documented and the description's cohort framing adds little param-level detail beyond what the schema states. Baseline 3 applies when the schema carries parameter semantics.

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?

Opens with a specific framing — 'the SET-LEVEL time series' of Kin Score and agent readiness — and explicitly positions it against the per-provider series and whole-dataset licence it sits between, so an agent can tell what it returns. The verb is descriptive rather than a crisp action verb, and it doesn't name the sibling tools (e.g. cohort_scores, get_rating_history) directly, keeping it from a 5.

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

Usage Guidelines4/5

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

Frames the use case concretely ('how has banking moved over six months had no answer') and contrasts it with the per-provider and whole-dataset alternatives, giving clear context for selection. It stops short of naming the actual sibling tools or stating explicit exclusions, so it's a strong 4 rather than a 5.

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

cohort_rankingsA
Read-only
Inspect

UNDERSTANDING — the leaderboard for a market, on TWO axes: rank by Kin Score composite AND rank by agent readiness. The two orders differ, and the gap between a provider's two ranks is usually the story. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.

NameRequiredDescriptionDefault
kindYesCohort kind: tag, industry, region, area or vc — says what `slug` names.
pageNoPage number, 1-based (default 1).
slugYesSlug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. "payments" with kind "tag".
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, but the description adds genuinely useful context beyond them: the dual-axis ordering, the interpretive note that the gap between a provider's two ranks is the story, and a full pricing model (per-request, per-record, cap, plan inclusion). Pagination behavior is left to the schema, which is acceptable.

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 purpose and the dual-axis distinction are front-loaded, and the pricing sentence, while long, carries information an agent needs to avoid a costly call. Slightly dense but no wasted sentences.

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

Completeness5/5

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

With no output schema and full schema coverage, the description supplies what's missing: what is returned (a leaderboard), how it's ordered (two divergent axes), how to interpret it, and the full cost model plus an estimate pointer. Nothing an agent needs to call it correctly and safely is absent.

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 schema already documents kind, slug, page, limit, and context in detail. The description adds no parameter-level meaning (e.g., no example slugs or kind semantics), so it sits at the baseline for a fully-documented 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?

It states a concrete resource (a market leaderboard) and scope (ranked on two axes: Kin Score composite and agent readiness), which is far more specific than a tautology. It does not, however, explicitly contrast itself with close siblings like cohort_scores, compare_cohorts, or get_industry_leaders, so an agent must infer the boundary.

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

Usage Guidelines2/5

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

The description never says when to choose this over cohort_scores, cohort_stats, or the various *_leaders siblings, nor does it state prerequisites. The only procedural advice is about pricing (estimate first, see apis://prices), which is billing guidance rather than tool-selection guidance.

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

cohort_scoresA
Read-only
Inspect

UNDERSTANDING — facet-level scores for every member of a cohort, each with the cohort average and the delta against it. A 60 in governance means nothing until you know the market sits at 45; this is the endpoint that says so. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.

NameRequiredDescriptionDefault
kindYesCohort kind: tag, industry, region, area or vc — says what `slug` names.
pageNoPage number, 1-based (default 1).
slugYesSlug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. "payments" with kind "tag".
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuinely non-structured context: per-record pricing, the $0.50 cap, plan inclusion, and the directive to estimate at /api/v1/prices/estimate first — useful operational traits beyond the annotations.

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

Conciseness4/5

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

Front-loaded with the purpose in the first sentence, and the pricing block is dense but each clause carries actionable information. Slightly verbose on billing detail, but nothing is truly 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?

With no output schema, the description does describe what comes back (per-member scores, cohort average, delta), and it discloses cost and pre-call estimation. Only the sibling-relative 'when to use' dimension is thin.

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 kind/slug/page/limit/context are already documented in the schema; the enum and example are there too. The description contributes no additional parameter meaning, making the baseline 3 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 names a specific output shape — facet-level scores for every cohort member plus cohort average and per-member delta — which is materially distinct from siblings like cohort_stats or cohort_rankings. It stops short of naming those siblings explicitly, so an agent still has to infer the boundary.

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

Usage Guidelines3/5

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

Usage is only implied by the framing ('A 60 in governance means nothing until you know the market sits at 45') plus the pricing/estimate guidance. There is no explicit statement of when to prefer this over cohort_rankings, cohort_stats, or compare_cohorts.

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

cohort_statsA
Read-only
Inspect

UNDERSTANDING — the DISTRIBUTION for a whole market: Kin Score mean/median/min/max/stdev, agent-readiness spread, band split, per-facet averages, and artifact adoption rates. This is the market-stats sheet from a Trend Report, computed live. Always carries a coverage block saying how much of the roster is actually scored AND how deeply we enriched it (enrichment_depth: mean catalog_gap and median artifact directories). Read that before quoting the mean anywhere: cohort enrichment depth spans ~42 points of catalog_gap across the catalog, so part of any cohort number is our coverage rather than the market. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
kindYesCohort kind: tag, industry, region, area or vc — says what `slug` names.
slugYesSlug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. "payments" with kind "tag".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.9/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint, but the description goes well beyond: it discloses a guaranteed `coverage` block, `enrichment_depth` semantics, the ~42-point catalog_gap span, the caveat that cohort numbers partly reflect coverage rather than the market, and the pricing tier ($0.05 B2, included in Understanding/Influence, see apis://prices). This is exactly the extra operational context annotations cannot carry.

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?

Front-loads the purpose before the caveats and pricing, and the coverage warning is high-value rather than filler. It is dense and long, with parenthetical detail (~42 points of catalog_gap) that is borderline for a tool description, but nearly every clause carries substance.

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 does the work of describing the returned sheet (statistics, coverage block, enrichment_depth, adoption rates) and even adds pricing. It is largely self-sufficient for calling correctly; the only missing piece is explicit routing among the cohort_* siblings.

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 each of the three parameters (kind enum, slug, context) is already documented in the schema. The description adds no extra meaning about kind/slug syntax or the enum values, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific resource (the market-stats sheet / distribution for a whole market) and enumerates exactly what it returns: Kin Score mean/median/min/max/stdev, agent-readiness spread, band split, per-facet averages, artifact adoption. It is clearly a distribution-statistics tool rather than a ranking or listing one. However, it never names a sibling (cohort_scores, cohort_rankings, cohort_capabilities) as the alternative, so differentiation from close neighbors is left implicit.

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

Usage Guidelines3/5

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

Frames itself as the 'UNDERSTANDING' layer and tells the agent to read the coverage block before quoting the mean, which implies when the output is trustworthy. But it gives no explicit when-not or alternative-tool routing against the many cohort_* siblings, so selection guidance is implied rather than stated.

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

company_gapsB
Read-only
Inspect

UNDERSTANDING — A company's weakest investment dimensions — where it is thin and a vendor could sell in. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesCompany (provider) slug, as find_company_insights returns it, e.g. "stripe".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description usefully adds cost behavior ($0.05/call, B2 tier, included in Understanding/Influence), which is genuine operational context beyond the annotations, but says nothing about return format, latency, or result shape.

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

Conciseness4/5

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

Two sentences, front-loaded with the core purpose before the pricing detail. It is reasonably tight, though the pricing/tier sentence is somewhat verbose and could be deferred to a pricing resource.

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

Completeness3/5

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

For a read-only, no-output-schema tool with fully documented params, the safety and parameter story is complete. However, the description never clarifies what a returned 'dimension' is or how many results to expect, leaving the agent guessing about output shape.

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 schema itself documents both slug and context fully, including the format example and the caveat that context is never used to rank. The description adds no parameter-level meaning, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource: it returns a company's weakest investment dimensions ("where it is thin and a vendor could sell in"). The scope is clear, but it never distinguishes itself from close siblings like gap_analysis or industry_gap_analysis, which an agent could easily confuse it with.

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

Usage Guidelines2/5

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

The description gives no when-to-use or when-not-to-use guidance and names no alternatives, despite several near-synonymous siblings (gap_analysis, industry_gap_analysis, report_gap). The only implied usage is the vague 'UNDERSTANDING' framing and the sales-oriented aside, which is not actionable routing guidance.

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

compare_cohortsA
Read-only
Inspect

UNDERSTANDING — two markets side by side on one rubric: "is US payments further along than UK banking?" Returns both distributions plus the deltas on score, agent readiness, every facet and every adoption rate. A question a written report cannot answer, because a report only ever covers one market. CHECK depth_confounded FIRST: when the higher-scoring cohort is also the one we enriched more deeply, the delta reflects our own coverage as much as the markets, and depth_note says by how much. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.

NameRequiredDescriptionDefault
aYesFirst cohort as <kind>:<slug>, e.g. "tag:payments".
bYesSecond cohort as <kind>:<slug>, e.g. "industry:banking".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description goes further with the depth_confounded caveat and depth_note explanation, plus full pricing mechanics (per-request, per-record, cap, plan inclusion, estimate endpoint). It adds genuine behavioral context, though it says nothing about latency, caching, or failure modes.

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

Conciseness4/5

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

Front-loads the understanding and return before the caveat and pricing, and every sentence carries information not present in structured fields. The pricing sentence is long and dense but is the only place that cost model is documented, so it 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?

With no output schema, the description steps up to describe exactly what comes back (both distributions plus per-dimension deltas), warns about the confound that would otherwise mislead interpretation, and documents the full cost path. Nothing essential to calling it correctly is missing.

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

Parameters3/5

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

Schema coverage is 100%, including inline examples for a and b and the semantics of context ('never used to rank'). The description adds no parameter-level detail beyond the schema, so the baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb+resource (side-by-side comparison of two cohorts on one rubric) and spells out the return: both distributions plus deltas on score, agent readiness, every facet and adoption rate. The framing question ('is US payments further along than UK banking?') makes it immediately distinguishable from single-cohort siblings like cohort_scores or cohort_stats.

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

Usage Guidelines4/5

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

Gives a clear usage scenario and an implicit when-not ('a report only ever covers one market'), so the agent knows this answers cross-market questions other tools can't. However, it never names a sibling alternative or an explicit exclusion, so routing against the many cohort_* tools is left partly to inference.

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

compare_providersA
Read-only
Inspect

UNDERSTANDING — Compare 2+ providers side by side: composite/band, per-facet leaders, an artifact-coverage matrix, and each provider's economics — audience, pricing basis, delivery, graded entry cost (USD/month) and marginal cost (USD per unit), with the plan and the quoted figure behind each number and the date it was read; cheapest_entry names the cheapest published way in. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
providersYesProvider slugs to compare (2+).

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint=false, so the safety profile is covered. The description adds genuine non-redundant context: it is a billed synthesis call ($0.05, included in Understanding/Influence), names cheapest_entry as a computed output, and discloses provenance (quoted figure + date read).

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 output enumeration is front-loaded and informative, but the single em-dash-chained sentence is dense and overloaded, and the pricing/tier sentence plus apis://prices pointer add bulk beyond what is needed to select and call 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?

With no output schema, the description does the work of describing the return payload in detail, which is exactly what is needed. It stops short only on pagination/limits and explicit alternative-tool routing, minor for a bounded 2-param comparison call.

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 both parameters, so baseline is 3. The description confirms the 2+ provider requirement but adds no syntax, slug-format, or context-parameter detail beyond what the schema already documents.

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

Purpose5/5

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

States a specific verb (compare) plus resource (providers) and enumerates the distinct outputs — composite/band, per-facet leaders, artifact-coverage matrix, economics — so an agent can distinguish it from get_provider or find_providers without opening a schema.

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

Usage Guidelines3/5

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

The '2+ providers side by side' phrasing implies the use case, but there is no explicit when-to-use guidance, no exclusions, and no routing against adjacent siblings like match_providers, find_similar_providers, or compare_cohorts.

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

compose_goalA
Read-only
Inspect

INFLUENCE — hypermedia for a goal across providers: affordances with full href, HTTP method, safety and idempotence from RFC 9110 semantics, path parameters marked ready or needed against your state, the contract location for the full request schema, matching Arazzo workflows with their next step, and each provider's rate limits, pricing, MCP server and terms. POST back state.done and state.have via the replan link to get what is possible now. Pass operations from a plan_goal bundle, or a goal to rank within the providers. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
goalNoThe goal, ranked within the providers when operations is not given.
limitNoAffordances to return when ranking a goal (1-20, default 8).
stateNoWhat is done and what you hold: {"done":["stripe:POST /v1/payment_intents"],"have":{"AccountSid":"AC..."}}.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
providersYesProvider slugs, e.g. ["stripe","twilio"].
operationsNoOperation ids from a plan_goal bundle, e.g. ["stripe:POST /v1/payment_intents"].

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real context beyond that: output contents, the replan-loop mechanism, and explicit pricing ('B2 cross-catalog synthesis — $0.05 per call', included in Understanding and Influence, see apis://prices). The 'POST back ... via the replan link' phrasing is slightly risky (an agent could misread POST as an action of this tool) but it is scoped to the replan link, not this call.

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 core purpose is front-loaded, but the opening is one very long run-on clause chaining seven or eight deliverable types, which is hard to parse at a glance. Sentences do carry information (deliverables, invocation modes, pricing) with little pure filler, but bullet-style structure would serve better than the packed em-dash list.

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 must carry the return contract, and it does: it enumerates the affordance fields, the contract location pointer, Arazzo workflow matching, and provider rate limits/pricing. Combined with 100% schema coverage for six parameters and read-only annotations, an agent has enough to call this correctly; only the exact response envelope shape is left implicit.

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 parameter descriptions already explain goal-vs-operations ranking and give a state example. The description restates the operations-from-plan_goal and goal-ranking semantics and clarifies that state.done/state.have is the state shape, but adds little beyond the schema. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource: produces hypermedia affordances for a goal across providers, enumerating exactly what each affordance carries (href, HTTP method, safety/idempotence, path params, contract location, Arazzo workflow, rate limits/pricing). It also names plan_goal as the upstream source of operations, which orients the agent within the workflow. Jargon-heavy ('INFLUENCE — hypermedia') but the concrete output list keeps it from being vague.

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

Usage Guidelines4/5

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

Gives two explicit invocation modes: pass `operations` from a plan_goal bundle, or pass a `goal` to rank within the providers. It also explains the follow-up loop: POST state.done/state.have via the replan link to get what is possible now. Clear context, though it never states when NOT to use this versus plan_goal or find_operations.

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

correct_factsAInspect

INFLUENCE — propose corrections to what we say about you: name, description, url, industries, tags. Returns 202 and is applied by a person — an API that let an owner rewrite their own description unreviewed would be a marketing surface, not a catalog. Score and band are not owner-settable and are ignored. Priced B4 (human work) — included in Influence; otherwise $49.00 as a one-off with its own receipt, never from a prepaid balance. If this is your own company and our data about it is wrong, report_correction is free. See apis://prices.

NameRequiredDescriptionDefault
urlNoThe provider's correct website, e.g. "https://example.com".
nameNoThe provider name as it should read, e.g. "Acme Payments".
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
tagsNoTag slugs that should apply, e.g. ["payments","payouts"].
contactNoOptional email address we can reply to about this request, e.g. "dev@example.com".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
industriesNoIndustry slugs that should apply, e.g. ["financial-services"].
descriptionNoThe description as it should read — one or two sentences.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare this is a non-read-only, non-destructive write. The description adds real behavioral context beyond them: returns 202, changes are applied by a human (async, not immediate), score/band are ignored, and the pricing model (included in Influence, else $49 one-off with its own receipt, never from prepaid balance).

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?

Front-loads purpose and constraints, and each clause carries operational weight (review, pricing, routing). The one editorial aside about 'a marketing surface, not a catalog' is justification rather than instruction and could be trimmed, but overall it is dense without padding.

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 submission/mutation tool with no output schema and no annotations on outcome, the description covers the async 202 result, human review, non-settable fields, pricing, and the free alternative. An agent has everything needed to call it and interpret 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?

Schema description coverage is 100%, so the schema already documents all 8 parameters with examples, making the baseline 3 appropriate. The description names 5 of the settable fields but adds no syntax or format detail beyond what the schema provides, and says nothing about slug (required), contact, or 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?

Opens with a specific verb (propose corrections) and resource (what we say about you), then enumerates the settable fields: name, description, url, industries, tags. It also distinguishes itself from the sibling report_correction and from owner-settable score/band, so an agent can tell it apart without opening the schema.

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

Usage Guidelines5/5

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

Explicitly routes the agent: use report_correction instead 'if this is your own company and our data about it is wrong' because it is free. States the condition, the alternative tool, and the reason, which is exactly the when-to-use/when-not guidance an agent needs.

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

create_listAInspect

UNDERSTANDING — Create a named, persistent list (a shortlist / stack you own) of providers or APIs. Requires an apis.io API key. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
nameYesName for the list, e.g. "Payments shortlist".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
membersNoProvider slugs and/or aids to seed the list.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only tell the agent this is not read-only and not destructive. The description adds meaningful behavior beyond that: the list is persistent, ownership is asserted, and the call requires an API key and carries a cost (B1, $0.01/call). It does not cover duplication behavior or what the call returns, but the added context is substantial.

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

Conciseness4/5

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

A single front-loaded sentence naming purpose, then short trailing clauses for auth and pricing. No waste, though the pricing tier code and price pointer add slight noise relative to a simple create operation.

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 3-parameter creation tool with no output schema, the description covers purpose, persistence, auth requirement, and cost. It omits what is returned on success (e.g. a list identifier needed for subsequent add_to_list calls) and any naming/duplication constraints, but the core is 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 schema already explains name, context, and members in detail. The description adds nothing about parameter formats or the seeding behavior of 'members' beyond what the schema states, so the 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?

States a specific verb+resource with scope: 'Create a named, persistent list ... of providers or APIs', and characterizes it as a shortlist/stack the caller owns. This is clearly distinguishable from siblings like add_to_list, get_list, and list_lists.

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 names the required apis.io API key and the pricing tier, which is useful context, but it never states when to create a list versus adding to an existing one (add_to_list) or when a list is preferable to a saved search. Usage is left implied.

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

delete_listA
DestructiveIdempotent
Inspect

UNDERSTANDING — Delete a list you own. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
idYesList id to delete, as list_lists lists it.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is covered by structured fields. The description adds the ownership/authorization constraint, but does not say whether the delete is permanent, what happens to list items, or whether it can be undone.

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

Conciseness4/5

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

The purpose is front-loaded in the first phrase and the rest is a compact pricing/tier note. The pricing sentence is metadata rather than tool semantics, which is slightly off-topic but brief and genuinely useful for cost-aware agents.

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

Completeness4/5

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

For a two-parameter destructive tool with full schema coverage, a rich annotation set, and no output schema, the description plus structured fields give an agent enough to invoke it correctly. The only material omission is the consequence of deletion (permanence, effect on list items).

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 both `id` and `context` are already documented in the schema. The description adds no syntax or usage detail for either parameter, so the baseline of 3 applies.

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

Purpose5/5

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

States a specific verb and resource ("Delete a list") plus a scoping constraint ("you own"), which cleanly separates it from create_list, get_list, and add_to_list. An agent can identify the operation without opening the schema.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus alternatives, and no mention that deletion is irreversible or what to do instead (e.g., set_visibility or unwatch_listing). The only usage hint is the ownership precondition embedded in the purpose sentence.

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

deprecated_operationsA
Read-only
Inspect

UNDERSTANDING — every provider publishing at least one operation marked deprecated in its own OpenAPI, ranked by how many. The lifecycle view of the catalog: 8,297 deprecated operations across 681 providers, which nothing could see before, because a provider's own deprecated filter needs you to already suspect that provider. Drill in with get_provider_operations(deprecated=true). Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.

NameRequiredDescriptionDefault
pageNoPage number, 1-based (default 1).
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint true, openWorldHint false), yet the description adds substantial context the agent needs: a concrete pricing model with caps, the pay-as-you-go vs. Understanding/Influence inclusion, and an estimate endpoint pointer. That is real behavioral disclosure beyond the structured fields, though it omits pagination/return-shape behavior.

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

Conciseness4/5

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

Purpose and scope are front-loaded in the first sentence, and the drill-down guidance follows logically. The 'which nothing could see before' phrasing is promotional filler that dilutes an otherwise efficient paragraph.

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 read-only aggregate tool with no output schema, the description supplies the essentials: what it returns (a ranked provider list), the scale of the result set, the drill-in alternative, and the pricing/cost model the agent must weigh before calling.

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%, so page, limit, and context are fully documented in the schema itself. The description adds no parameter-level syntax or meaning, so the 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 names a specific resource (providers that publish at least one deprecated operation) and a specific ordering (ranked by count). It clearly distinguishes itself from get_provider_operations, which it frames as the drill-down rather than the aggregate view.

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

Usage Guidelines4/5

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

It gives an explicit follow-up path ('Drill in with get_provider_operations(deprecated=true)') and frames the tool's niche as lifecycle-level discovery vs. per-provider filtering. It does not state exclusions, but the when-to-use is clear.

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

dispute_findingAInspect

INFLUENCE — "you say we lack X, here it is." Send the claim in words and a URL that evidences it. Returns 202; a person fetches your evidence, checks it against what we hold, and emails you either way. Open to any paying caller — you should not have to prove ownership before you can tell us our data is wrong. Priced B4 (human work) — included in Influence; otherwise $49.00 as a one-off with its own receipt, never from a prepaid balance. If this is your own company and our data about it is wrong, report_correction is free. See apis://prices.

NameRequiredDescriptionDefault
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
claimYesThe finding you dispute and why, e.g. "We do publish an OpenAPI at /openapi.json".
contactNoOptional email address we can reply to about this request, e.g. "dev@example.com".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
evidence_urlNoURL that shows the finding is wrong, e.g. "https://example.com/openapi.json".

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only give readOnlyHint=false, destructiveHint=false, openWorldHint=false, so the description carries most of the burden and does deliver: it discloses the 202 response, the human-review-and-email workflow, the no-ownership-required policy, and the pricing ($49 one-off, B4, never from a prepaid balance). Ratings on the response outcome and latency are not given, but the behavioral picture is unusually rich.

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 action is front-loaded, but the 'INFLUENCE — "you say we lack X, here it is"' framing and the dense pricing/policy sentences add verbosity ahead of the operational facts. Several sentences do earn their place (pricing, ownership, alternative), but the register is padded.

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 usefully explains the return lifecycle (202, human verification, email either way), eligibility, pricing, and the sibling alternative. It is close to complete for a submission tool, though it could state expected turnaround or what 'checks it against what we hold' yields.

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 all five parameters (slug, claim, contact, context, evidence_url) are already documented in the schema. The description only restates 'the claim in words and a URL' — it adds no syntax, format, or constraint meaning beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

The description states a concrete action — 'Send the claim in words and a URL that evidences it' — so an agent knows it submits a dispute with evidence. It also names a sibling (report_correction) and the condition that selects it. The 'INFLUENCE — ...' marketing opener somewhat obscures the verb at the front, keeping it short of a clean 5.

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

Usage Guidelines4/5

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

Explicitly says who may call it ('Open to any paying caller') and when to use the alternative ('If this is your own company and our data about it is wrong, report_correction is free'). This gives an agent a clear routing rule, though no explicit 'do not use for X' exclusions beyond the report_correction case.

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

enrich_providerA
Read-only
Inspect

One call, pick your field groups — resolves a slug OR any identifier and returns exactly the groups you ask for, instead of chaining get_provider + get_provider_rating + get_provider_artifacts + get_provider_onboarding. Groups: profile, onboarding, artifacts, rating, insights. Understanding plan — the base groups moved with the rest of the discovery layer on 2026-08-31. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
idYesProvider slug OR any identifier resolve() accepts.
fieldsNoField groups: profile, onboarding, artifacts, rating, security, insights. Default: profile+onboarding+artifacts+rating.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, and the description is consistent with them while adding real value beyond them: per-call pricing ($0.05 B2 tier), plan inclusion (Understanding and Influence), a dated migration note about base groups, and the assurance that the context parameter is never used to rank. It does not describe failure modes, rate limits, or response shape.

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

Conciseness4/5

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

Front-loaded with the core value proposition and the group list, and every sentence carries information (scope, groups, pricing, migration). The pricing and the 'Understanding plan — the base groups moved...' clause are dense and the latter is ambiguous about what actually changed, slightly diluting an otherwise efficient description.

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

Completeness4/5

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

With no output schema, the description correctly compensates by stating that it returns exactly the requested groups and by enumerating the valid groups and defaults. Pricing and plan coverage round out the operational picture; only failure/edge behavior is unaddressed, which is minor for a read-only enrichment call.

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 schema already documents id, fields, and context in detail; the description restates the group list and the default set without adding syntax or format detail beyond it. Baseline 3 applies when the schema does the heavy lifting.

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

Purpose5/5

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

States a specific verb+resource (enrich a provider) and immediately names the four sibling tools it replaces (get_provider, get_provider_rating, get_provider_artifacts, get_provider_onboarding), plus enumerates the available field groups. An agent can distinguish this from the chained-call siblings without opening any schema.

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

Usage Guidelines4/5

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

Explicitly frames the when-to-use case: one call instead of chaining get_provider + get_provider_rating + get_provider_artifacts + get_provider_onboarding, and explains the selection mechanism ('pick your field groups'). It names the alternatives clearly but offers no when-not-to-use guidance or prerequisites (e.g., when a single cheap get_provider call suffices).

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

export_datasetA
Read-only
Inspect

LICENCE (sold on the Influence plan) — the WHOLE dataset, not a 100-row page: ratings (every rated provider with facets, trend, rubric + provenance), providers (the catalog with coverage + score), or history (every provider's full score time series — parallel date/composite/agent_readiness arrays across every scored build the catalog retains, with a movement summary per provider). history is the one nobody can reconstruct after the fact: it is the only record of what the catalog looked like on those dates. For media outlets and analysts licensing the data to publish rankings and trends. Every dataset exceeds one response, so they arrive in byte-budgeted chunks: while complete is false, call again with cursor set to next_cursor and concatenate data; the last page has complete: true and a null next_cursor. Attribute to apis.io and cite the rubric. Priced B3 (bulk export) — $0.002 per row, $0.50 minimum per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
cursorNoResume offset from a previous response's next_cursor. Omit for the first page; keep calling while next_cursor is not null.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
datasetNoWhich dataset to export: "ratings" (default), "providers" or "history".ratings
co_brandNoOptional partner name for a co-branded license — stamps the attribution the license carries.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=true and openWorldHint=false; the description goes well beyond that by disclosing byte-budgeted chunking, the `complete`/`next_cursor` continuation contract, the attribution + rubric-citation obligation, and concrete pricing ($0.002/row, $0.50 minimum, plan inclusions). These are exactly the operational facts an agent needs and none of them are in 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?

Dense but mostly earned — each clause covers dataset contents, paging, licensing or pricing. The main flaw is front-loading: the first five words are a licence/plan parenthetical rather than the core action, and the per-dataset payload detail is long enough to be skimmed. Still, no sentence is pure 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?

With no output schema and no required parameters, the description carries the return-shape burden itself and does so — chunked `data`, `complete`, `next_cursor` — plus attribution and cost so the agent can decide whether a bulk licence call is appropriate. Nothing needed to invoke it correctly is missing.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3, but the description adds substantive meaning: it expands each `dataset` enum value with the actual payload contents (facets/trend/rubric+provenance; parallel date/composite/agent_readiness arrays; movement summary) and restates the cursor continuation rule as part of the paging loop. Only `co_brand` and `context` get no added explanation.

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

Purpose5/5

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

States a specific verb (export) and resource (dataset), then enumerates the three exports (`ratings`, `providers`, `history`) and what each contains. It also draws an explicit boundary against the paged search siblings — 'the WHOLE dataset, not a 100-row page' — so an agent can tell it apart from find_ratings without opening a schema.

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

Usage Guidelines4/5

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

Gives a clear audience/condition ('for media outlets and analysts licensing the data to publish rankings and trends') and singles out `history` as the one that cannot be reconstructed after the fact, which is a real selection signal. It never names the alternative tool (e.g. find_ratings, export_stack) or states when NOT to use it, so it stops short of full when/when-not routing.

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

export_stackA
Read-only
Inspect

UNDERSTANDING — Export a designed capability stack as an adoptable APIs.json document (with an Arazzo hint) the team can commit. Priced B3 (bulk export) — $0.002 per row, $0.50 minimum per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
regionNoOptional region slug to prefer.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
capabilitiesYesThe capabilities the stack needs, e.g. ["payments","email","identity"].

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description adds genuinely useful behavior beyond that, namely the exact output artifact produced (APIs.json + Arazzo hint) and full pricing terms (B3, $0.002/row, $0.50 minimum, plan inclusions). No contradiction with the read-only hint.

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?

Purpose and output format are front-loaded before the pricing sentence, and there is little wasted text. The leading tier label 'UNDERSTANDING —' is the one piece of structural noise.

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 export tool with no output schema, the description names the produced artifact and pricing, which is what an agent needs to decide and budget. It is only missing usage routing, which is scored separately.

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 schema documents region, context, and capabilities (with an example) on its own. The description adds no syntax or format detail about the parameters, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb (Export) and resource (a designed capability stack) plus the concrete output form: an adoptable APIs.json document with an Arazzo hint. The 'UNDERSTANDING —' prefix is tier noise, but the purpose itself is unambiguous and distinguishable from siblings like export_dataset.

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

Usage Guidelines2/5

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

The phrase 'the team can commit' hints at design-time use, but there is no explicit when-to-use, when-not, or named alternative (e.g. export_dataset or recommend_stack). The agent must infer routing from the resource name alone.

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

find_agent_readinessA
Read-only
Inspect

UNDERSTANDING — the agent-readiness leaderboard across the whole catalog. Rank providers by agent readiness, and filter to those that DO satisfy (has) or do NOT satisfy (missing) specific dimensions — e.g. has="mcp_server,protected_resource_metadata" is the OAuth-capable MCP cohort, missing="agent_card" is the addressable market for a fix. Returns agent score + band alongside the Kin Score. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.

NameRequiredDescriptionDefault
hasNoComma-separated dimensions the provider MUST satisfy (ANDed), e.g. mcp_server,idempotency.
bandNoRestrict to one or more agent-readiness bands.
pageNoPage number, 1-based (default 1).
sortNoRanked by agent readiness, highest first.
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
missingNoComma-separated dimensions the provider must NOT satisfy (ANDed) — the gap view.
min_scoreNoMinimum agent-readiness score, 0-100.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description goes further by disclosing the cost model ($0.005/request plus $0.0002/record, capped at $0.50), plan inclusion, the estimate endpoint, and what the response contains (agent score + band alongside Kin Score). That is well beyond annotation coverage, though pagination/limits behavior is left to 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.

Conciseness4/5

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

Front-loaded with the core purpose, then filters, then return/pricing. Dense but every clause carries information; the long pricing sentence is justified by the cost-sensitive nature of a per-record-priced tool. Slightly overstuffed in a single block.

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 8 optional params, no output schema, and no required fields, the description covers purpose, filter semantics, return contents, and cost. The main gap is not pointing to agent_readiness_dimensions for the valid dimension vocabulary, which an agent needs to construct has/missing values.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description earns above baseline by interpreting the has/missing filters semantically (ANDed cohorts, 'gap view') and supplying real dimension names and example values. band, min_score, and sort get no extra explanation beyond the schema, keeping it at 4 rather than 5.

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

Purpose4/5

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

States a specific verb and resource with scope: 'the agent-readiness leaderboard across the whole catalog. Rank providers by agent readiness' plus a filter capability. This is clearly a list/search tool over providers, distinguishable in practice from the singular get_agent_readiness, though no sibling is named explicitly.

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

Usage Guidelines4/5

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

Gives concrete usage patterns with worked examples: has="mcp_server,protected_resource_metadata" for the OAuth-capable MCP cohort and missing="agent_card" as the addressable market for a fix, which tells the agent when this tool is the right one. No explicit exclusions or named alternative (e.g. get_agent_readiness for a single provider) are given.

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

find_agentsA
Read-only
Inspect

FREE, no account — the A2A agent registry: agents that registered THEMSELVES by serving an agent card and calling register_agent. Each row carries the card URL, the operator, and the last verification of the card (grade, protocol version, transport). This is the door an unattended agent can walk through unaided; the others need a person or a voucher.

NameRequiredDescriptionDefault
pageNoPage number, 1-based (default 1).
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false. The description adds valuable context beyond those annotations: free/no-account access, the self-registration mechanism, and the returned fields (card URL, operator, verification grade, protocol version, transport). 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.

Conciseness4/5

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

Three sentences with key access facts front-loaded. The final sentence uses a metaphor ('door an unattended agent can walk through unaided') that is slightly ornamental but still conveys meaningful differentiation about accessibility.

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 listing tool with no output schema, the description identifies the returned fields and access requirements, while the schema handles pagination parameters. It could mention result ordering or total counts, but nothing critical for correct invocation is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters (page, limit, context) are fully documented in the schema. The description adds no additional parameter syntax or behavioral details. Per the rubric, this baseline is 3 when the schema already provides full 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?

Identifies the specific resource as the A2A agent registry and explains it contains agents that self-registered by serving an agent card and calling register_agent. This distinguishes it from register_agent, but the verb 'find' is only implied by the tool name, not stated in the description.

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

Usage Guidelines3/5

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

States that the registry is FREE and needs no account, and that an unattended agent can use it unaided while others require a person or voucher. This gives useful context, but it does not explicitly say when to choose this over sibling tools such as find_agent_readiness or get_agent_readiness.

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

find_apisA
Read-only
Inspect

Paginated, sortable list of APIs across providers — filter by tag, provider, artifact type, industry, region, or rating band. q is lexical over the API's own name and description; include=["via_provider"] adds APIs of providers whose name matched (the union apis_io_search counts). Use apis_io_search first for a cross-type overview. Parameter reference: apis://docs/tools/find_apis.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
areaNoArea slugs, e.g. ["security"].
bandNoexemplar | strong | developing | thin | minimal.
pageNoPage number, 1-based (default 1).
sortNoDefault: relevance with `q`, else composite.
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
viewNosummary (default, lean) or full.summary
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
fieldsNoOnly these top-level keys, e.g. ["slug","score"].
publicNoCallable with no signup (onboarding=open).
regionNoRegion slugs, e.g. ["north-america"].
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNovia_provider: also return APIs of providers whose name matched `q`. Needs `q`.
pricingNofree | freemium | free-trial | paid | enterprise, e.g. ["free"].
resolveNoon (default) uses a tag `q` names; off = text only.on
try_nowNoUsable at no cost right now (free/trial + self-serve/open).
industryNoIndustry slugs, e.g. ["fintech"].
min_scoreNoMinimum Kin Score composite (0-100), e.g. 60.
providersNoProvider slugs, e.g. ["stripe"].
onboardingNoopen (no key) | self-serve | approval.
provenanceNomodeled | unpublished | published | documented, e.g. "documented". Omit for all. Meanings: apis://docs/tools/find_apis.
artifact_typesNoArtifact types required, e.g. ["OpenAPI"].
onboarding_descriptorNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description still adds real behavior: results are paginated and sortable, q is a lexical match against the API's own name/description, and via_provider deliberately unions in provider-name matches (the same union apis_io_search counts). These are non-obvious behaviors an agent would otherwise get wrong. It does not discuss result volume limits or rate limits, keeping it out of the top band.

Agents need to know what a tool does to the world before 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 tight sentences: what it returns, how filtering works, the key caveat, the sibling alternative, and a docs pointer. Scoping information is front-loaded and nothing repeats the schema verbatim.

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 24-parameter, zero-required search tool with no output schema, the description covers purpose, filtering model, pagination, and a documentation escape hatch for the many enum/slug parameters. A brief note on the response envelope (beyond 'paginated') would make it fully self-sufficient, but it is adequate to call 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 description coverage is 96%, so the baseline is 3; the description earns above baseline by clarifying the subtle interactions the schema does not spell out — the lexical scope of q and the union semantics of include=["via_provider"] needing q. It also delegates the full parameter reference to apis://docs/tools/find_apis, which is honest but leaves some depth external.

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?

Opens with a specific verb and resource plus scope: 'Paginated, sortable list of APIs across providers', then enumerates the filter dimensions. It also explicitly differentiates itself from the sibling apis_io_search ('cross-type overview'), so an agent can choose between them without opening either schema.

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

Usage Guidelines4/5

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

Gives clear routing guidance ('Use apis_io_search first for a cross-type overview') and a conditional usage note for include=["via_provider"] which requires q. It stops short of stating when NOT to use this tool or naming get_api/find_similar_apis as follow-ons, so it is clear context without full exclusions.

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

find_apis_jsonA
Read-only
Inspect

APIs.json indexes across the catalog. The APIs.json discovery documents themselves. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance (catalog order), provider, or name.
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
providersNoProvider slugs, e.g. ["stripe"].

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already state readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds that include=["content"] inlines bodies, but this repeats the schema, and it does not disclose pagination, return format, or any rate/auth behavior 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?

The description is short and front-loads the resource scope before filters and the sibling alternative. The second sentence is a fragment that slightly repeats the first, but it still earns its place by clarifying the indexed artifact type.

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 full schema coverage and read-only annotations, the description covers the tool's scope, key filters, inline behavior, and cross-type alternative. It could be slightly more complete about pagination or result shape, but no output schema exists and the schema covers those 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?

Schema description coverage is 100%, so all nine parameters are already documented in the input schema. The description mentions q/tags/providers and include content but adds no syntax, format, or constraint details 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 names the specific resource ('APIs.json discovery documents themselves') and its scope ('indexes across the catalog'). It also distinguishes the tool from cross-type search by naming find_artifacts as the alternative.

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

Usage Guidelines4/5

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

It gives clear usage context through filters (q / tags / providers) and explicitly routes cross-type searches to find_artifacts. It does not clarify when to choose this over other sibling type-specific finders such as find_apis, but the main alternative is handled.

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

find_arazzoA
Read-only
Inspect

Arazzo workflows across the catalog. Multi-step API workflows chaining operations. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance (catalog order), provider, or name.
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
providersNoProvider slugs, e.g. ["stripe"].

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds the include=["content"] inlining behavior, but that is largely restated from the schema rather than new behavioral context (pagination, ranking, cost).

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

Conciseness4/5

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

Three tight fragments, front-loaded with the resource definition before filters and the alternative tool. Telegraphic phrasing costs a little clarity but every sentence carries 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 read-only, no-output-schema search tool with full schema coverage and clear annotations, the description covers resource, filters, and alternative routing. No ranking or pagination detail is provided, but little else is needed to call it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so all nine parameters are already documented. The description mentions q/tags/providers filters and the include semantics, but adds no syntax or format detail beyond what the schema provides — the expected baseline.

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

Purpose4/5

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

Names a specific resource (Arazzo workflows) and defines it as multi-step API workflows chaining operations, which distinguishes it from generic artifact search. No explicit verb, but the tool name supplies 'find' and the sibling find_artifacts is named as the cross-type alternative.

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

Usage Guidelines4/5

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

Gives clear usage context ('Filter by q / tags / providers') and explicitly routes the agent away to find_artifacts for cross-type search. It lacks a when-NOT-to-use-a-filter statement, but the alternative routing is the key signal.

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

find_areasA
Read-only
Inspect

Browse the API Evangelist areas taxonomy (authentication, webhooks, payments, …) — curated, scored provider indexes. Search by text; sort by provider count.

NameRequiredDescriptionDefault
qNoFree text matched against name and description, e.g. "payments".
pageNoPage number, 1-based (default 1).
sortNoOrder: name, api_count, provider_count or composite, e.g. "provider_count".
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety and the closed/curated nature of the data are covered structurally. The description reinforces that the index is curated and scored, but says nothing about pagination behavior, result count, or the shape of a returned area record.

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

Conciseness4/5

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

Two compact clauses with the resource and its nature front-loaded, followed by the operating instructions. Slightly stylistic (em dash, trailing ellipsis) but no wasted sentences.

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, closed-world list tool with a fully documented five-parameter schema and no output schema, the description gives enough to call it correctly. It could optionally sketch what an area result contains (e.g., provider counts), which is the only remaining 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 description coverage is 100%, so every parameter is already documented in-schema (q, page, sort, limit, context). The description only restates text search and provider-count sorting, adding no syntax or format detail beyond what the schema provides — the baseline 3 fits.

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

Purpose4/5

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

States a concrete verb+resource: browse the "areas taxonomy" with example members (authentication, webhooks, payments) and clarifies these are curated, scored provider indexes. The only shortfall is that it does not explicitly contrast itself with siblings like get_area or find_industries, so the agent must infer the find-vs-get distinction.

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

Usage Guidelines3/5

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

"Search by text; sort by provider count" tells the agent how to drive the tool, which implies the browse/filter use case, but there is no explicit when-to-use versus when-not, and no named alternative for retrieving a single area's detail (get_area) or its leaders (get_area_leaders).

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

find_artifactsA
Read-only
Inspect

Find artifacts of ANY one type across the catalog — the cross-type entry point. Each type also has a dedicated find_ tool (find_mcp, find_rules, find_scopes, …) with sorts and filters unique to that type; prefer those when you know the type. Types: mcp, skills, rules, arazzo, plans, rate-limits, finops, collections, asyncapis, graphql, json-ld, channels, examples, json-schemas, json-structures, openapis, postman, apis-json. PRO: scopes, security. include=["content"] inlines bodies.

NameRequiredDescriptionDefault
qNoFree text matched against artifact name and description, e.g. "refunds".
pageNoPage number, 1-based (default 1).
tagsNoTag slugs the artifact's API carries, e.g. ["payments"].
typeYesArtifact collection to browse — plural: openapis, asyncapis, arazzo, postman, collections, graphql, json-schemas, json-structures, json-ld, rules, examples, finops, plans, rate-limits, apis-json, mcp, skills, channels, scopes, security. E.g. "openapis".
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
providersNoProvider slugs, e.g. ["stripe"].

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds real behavioral context beyond the schema: that scopes and security are PRO-gated, and that include=["content"] inlines bodies rather than returning URLs. It does not discuss pagination behavior or result limits, keeping it from a 5.

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

Conciseness4/5

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

Front-loaded with the core purpose and the sibling routing rule, then supporting details. The long type enumeration partly duplicates the schema's type list but is defensible for a cross-type entry point; slightly dense overall.

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 an 8-parameter read-only finder with no output schema, the description covers purpose, routing, type taxonomy, and the include behavior. It does not address pagination semantics or result shape, but with 100% schema coverage that gap is minor.

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 further by enumerating the type values and flagging which ones (scopes, security) are PRO-only, meaning that is not conveyed by the schema's type description alone.

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

Purpose5/5

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

States a specific verb (find) and resource (artifacts) and explicitly frames itself as the cross-type entry point. It distinguishes itself from the many find_<type> siblings by naming that pattern and its trade-off.

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

Usage Guidelines5/5

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

Explicitly says to prefer the dedicated find_<type> tools when the type is known, and positions itself as the fallback/any-type path. This is direct when-to-use vs alternative guidance with nothing left to inference.

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

find_asyncapisA
Read-only
Inspect

AsyncAPI (event-driven) specifications across the catalog. Event/streaming APIs. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance (catalog order), provider, or name.
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
versionNoAsyncAPI spec version — the `asyncapi:` declaration, e.g. 2.6.0 or 3.0.0.
providersNoProvider slugs, e.g. ["stripe"].
info_versionNoThe document's OWN version from info.version, set by whoever wrote the spec. Absent on 70% of them.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, covering the safety profile. The description adds the include=["content"] inlining behavior, which is useful, but discloses nothing about pagination limits beyond the schema or rate/result characteristics.

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

Conciseness4/5

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

Two short, front-loaded sentences with essentially zero waste. The fragmentary style is efficient but slightly telegraphic rather than polished.

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 catalog search with fully documented params and no output schema, the definition covers the essentials and names a sibling alternative. Minor gaps remain around result/return expectations.

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 schema already documents all 11 parameters in detail. The description only echoes q/tags/providers and include without adding syntax or format meaning 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.

Purpose4/5

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

The description states a specific resource — AsyncAPI event-driven specifications — and clarifies scope as 'across the catalog,' with event/streaming APIs noted. It is clear but relies partly on noun fragments rather than a full verb+resource sentence, and sibling differentiation is only handled via the final sentence.

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

Usage Guidelines4/5

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

It gives filter guidance (q / tags / providers) and explicitly routes cross-type searching to find_artifacts, which is a real alternative among the many find_* siblings. It stops short of stating when NOT to use it or listing multiple alternatives.

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

find_capabilitiesA
Read-only
Inspect

START HERE for "what can a business do with these APIs". The business-capability model — 333 top-level capabilities across 28 industries — with how many catalog providers reach each one. Defaults to capabilities the catalog actually reaches; pass all=true for the whole model INCLUDING the ones with no coverage, which is a real answer rather than a gap: most of what an enterprise does runs on internal systems that publish no API. Free. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.

NameRequiredDescriptionDefault
qNoMatch against name, BC id or industry.
allNoInclude capabilities with zero catalog coverage (default false).
pageNoPage number, 1-based (default 1).
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
industryNoe.g. "Banking & Capital Markets", "Software & Technology".

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint/openWorldHint, so the description carries the behavioral burden and does so well: it discloses that all=false is the default, that uncovered capabilities are 'a real answer rather than a gap', and full pricing behavior ($0.005/request plus $0.0002/record, volume discount past 100, $0.50 cap, pay-as-you-go, included in Understanding and Influence).

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?

Front-loads the highest-value content ('START HERE', model size) and every sentence is functional, though the pricing clause is a dense run-on and reads slightly promotional ('Free.'). Still well under the size where it would obscure the primary purpose.

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 read-only 6-param discovery tool with no output schema, the description covers purpose, default behavior, cost model, and even the shape of the results (capabilities with provider-coverage counts). Nothing an agent needs to invoke it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description adds genuine semantics beyond the schema for `all` — explaining what the flag changes in the result set and why the zero-coverage rows exist. Other parameters (q, page, limit, industry, context) are left 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?

States a specific verb and resource ('find capabilities', the business-capability model of 333 capabilities across 28 industries) plus scope ('with how many catalog providers reach each one'). The 'START HERE for what can a business do with these APIs' framing distinguishes it from the many other find_* tools an agent could pick.

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

Usage Guidelines4/5

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

Gives clear entry-point guidance ('START HERE') and the key default-vs-alternative condition: defaults to capabilities the catalog actually reaches, pass all=true for the full model. It also advises estimating first at /api/v1/prices/estimate before calling. It stops short of naming an explicit sibling alternative (e.g. find_industries or get_capability) for narrower lookups.

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

find_channelsA
Read-only
Inspect

AsyncAPI event channels across the catalog. Individual event channels (topics/streams). Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance (catalog order), provider, or name.
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
versionNoAsyncAPI spec version the channel is defined in, e.g. 2.6.0 or 3.0.0.
protocolNoTransport the channel runs over: ws, http, sse, kafka, mqtt, amqp, nats, grpc… Empty where the document never says, which is most of them.
providersNoProvider slugs, e.g. ["stripe"].

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safe-read profile is covered. The description adds the useful behavioral note that include=["content"] inlines bodies rather than just returning URLs, but says nothing about pagination, result shape, or catalog scope beyond 'across the catalog'.

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

Conciseness4/5

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

Three short sentences, front-loaded with the resource identity before filtering and the alternative. No filler, though the first two sentences overlap in describing the same resource.

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 an 11-param, zero-required search tool with no output schema and annotations covering safety, the description covers identity, filtering, the include behavior, and routing to find_artifacts. Pagination/sort 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 description coverage is 100%, so the schema already documents all 11 parameters with examples and enums. The description's mention of q/tags/providers and include merely mirrors the schema, adding no syntax or semantic detail beyond it. 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?

States a specific resource (AsyncAPI event channels, described as topics/streams) and distinguishes it from the catch-all sibling by naming find_artifacts for cross-type search. It does not explicitly contrast with the closely-named find_asyncapis, so the differentiation is good but not exhaustive.

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

Usage Guidelines4/5

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

Gives clear context (filter by q/tags/providers) and points to an alternative with a condition ('Use find_artifacts for cross-type search'). It omits guidance on when to prefer this over find_asyncapis, so it falls short of full when-not coverage.

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

find_cohortsA
Read-only
Inspect

START HERE for market-level questions. Every scored population of providers in the catalog — tags, industries, regions, areas and VC portfolios — as one browsable index. Filter by kind, minimum population, or promotion tier (report/brief/data). Then call cohort_stats for the distribution, cohort_rankings for the leaderboard. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.

NameRequiredDescriptionDefault
qNoSubstring match on cohort name or slug.
kindNoRestrict to one roster source.
pageNoPage number, 1-based (default 1).
tierNoPromotion tier: report (100+, report-grade), brief (25+), data (everything else).
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
min_providersNoOnly cohorts with at least this many providers. 25+ is brief-grade, 100+ report-grade.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already establish readOnlyHint and openWorldHint, so the safety profile is covered. The description adds genuinely useful operational context beyond that: the full pricing model with per-record and per-request rates, the $0.50 cap, plan inclusion, and a pointer to /api/v1/prices/estimate and apis://prices. It does not describe result shape or pagination behavior, but pricing transparency is a real addition.

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?

Front-loaded with the highest-value instruction ('START HERE'), followed by scope, routing, and cost. Dense but well ordered. The pricing sentence is long, though it is bounded by a pointer to apis://prices, so it earns most of its length.

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

Completeness4/5

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

For a 7-parameter discovery tool with no output schema, the description covers purpose, scope, routing to downstream tools, and cost — enough to call it correctly. The one real gap is that return shape/pagination is not hinted at, though the sibling routing partially compensates.

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%, so every parameter including the tier and kind enums, page/limit ranges, and min_providers semantics is already documented in the schema. The description groups the filter axes (kind, minimum population, promotion tier) but adds no format or behavioral detail beyond what the schema states, making the baseline 3 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?

States a specific verb (find) and resource (cohorts), and defines the resource precisely as 'every scored population of providers' spanning tags, industries, regions, areas and VC portfolios. It also distinguishes itself from the many sibling find_* tools by positioning itself as the unified index rather than a single-roster lookup.

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?

Opens with 'START HERE for market-level questions' and explicitly routes the agent onward: cohort_stats for distributions, cohort_rankings for leaderboards. It also names the filtering dimensions, so an agent knows both when to pick this tool and how to move on from it.

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

find_collectionsA
Read-only
Inspect

Postman / Open collections across the catalog. Runnable request collections. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance / provider / name, or item_count (largest first).
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
providersNoProvider slugs, e.g. ["stripe"].

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds one behavioral note — include=["content"] inlines each body and the default returns 'just its URL', hinting at output shape and potential response-size cost. It adds no auth, rate-limit, or pagination behavior, so with annotations carrying the safety burden this lands at the baseline.

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?

It is tightly front-loaded: resource and scope first, then filters, then the alternative. Every clause carries information and nothing is padded. The telegraphic 'Postman / Open collections' opening is slightly cryptic, which keeps it from a 5.

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 9-parameter read tool with a fully-documented schema and no output schema, the description covers the essentials: what a collection is, the usable filters, the inlining option, and the cross-type alternative. Return format is only implied via 'instead of just its URL' and pagination behavior is left to the schema, which is acceptable given 100% coverage.

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 schema already documents q, tags, providers, include, sort, and pagination with examples. The description's restatement ('filter by q / tags / providers; include=["content"] inlines bodies') adds emphasis but no meaning beyond the schema. Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose4/5

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

The description names the resource and scope precisely — 'Postman / Open collections across the catalog' — and clarifies what a collection is ('runnable request collections'), which distinguishes it from type-specific siblings like find_openapis or find_mcp. It explicitly routes the agent to find_artifacts for cross-type search, so the agent can tell the two apart. The verb is only implied, keeping it short of a 5.

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

Usage Guidelines4/5

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

It names the alternative explicitly ('Use find_artifacts for cross-type search'), giving a clear routing condition that steers the agent away from this tool when searching across types. It also enumerates the filtering dimensions (q / tags / providers) which implies when this tool fits. It stops short of stating when-not-to-use this tool beyond that single alternative.

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

find_company_insightsA
Read-only
Inspect

Browse profiled companies (Fortune 1000) by name or industry; ranked by overall technology-readiness signal. industry takes an insights industry NAME from insights_industries (e.g. "Industrial") — a different vocabulary from the catalog industry slugs find_providers uses — and matches every roster a company sits on, not just its primary. Understanding plan. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.

NameRequiredDescriptionDefault
qNoFree text matched against company name, e.g. "stripe".
pageNoPage number, 1-based (default 1).
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
industryNoIndustry slug to narrow to, e.g. "artificial-intelligence".

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: ranking behavior, per-record/per-request pricing with a cap, plan gating, and an estimate endpoint. It does not describe pagination behavior or return shape, but the pricing/plan detail is substantive.

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 core purpose and the industry-vocabulary caveat are front-loaded before pricing detail. The pricing sentence is long and slightly crammed, but each clause carries distinct operational information (rate, cap, plan inclusion, estimate path), so it largely earns its space.

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, no-output-schema discovery tool, the description covers purpose, ranking, parameter vocabulary, plan gating, and cost. The only notable gap is the relationship to get_company_insight and return/pagination shape, which is minor here.

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 further by explaining that `industry` takes an insights industry NAME from insights_industries rather than a catalog slug, and that it matches every roster a company sits on. This is valuable disambiguation, though it sits in tension with the schema's own example ("artificial-intelligence"), which is itself described as a slug.

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

Purpose5/5

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

States a specific verb (browse/find) and resource (profiled Fortune 1000 companies), plus the ranking signal (technology-readiness). It explicitly distinguishes its industry vocabulary from find_providers, so an agent can separate it from the catalog-side sibling without opening a schema.

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

Usage Guidelines4/5

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

Gives clear routing context: the industry parameter uses a different vocabulary than find_providers, and it notes the Understanding plan requirement. It does not address when to use this list tool vs the singular get_company_insight sibling, leaving that inference to the agent.

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

find_countriesA
Read-only
Inspect

Browse the country dimension — the finest of the four place taxonomies, and the one a buyer usually names ("who is in Germany"). Peer to find_industries / find_regions / find_areas. Search by text; sort by provider count. Membership is derived and known to be partial: read a count as a floor, not a census.

NameRequiredDescriptionDefault
qNoFree text matched against name and description, e.g. "payments".
pageNoPage number, 1-based (default 1).
sortNoOrder, e.g. "name" or "provider_count".
typeNoWhich record kind to list. `country` (default) is the dimension itself — the 27 countries the catalog covers; `country-industry` is the crossover pages ("Education & EdTech in China"); `all` is both.country
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: "Membership is derived and known to be partial: read a count as a floor, not a census," which warns the agent about data reliability in a way no structured field conveys.

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?

Front-loaded with the resource identity, then taxonomy relationship, then mechanics, then the data-quality caveat. Dense and largely waste-free, though the taxonomy aside is slightly expansive.

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 definition still gives the agent enough: what the dimension contains, the record-kind modes, and the critical caveat that counts are floors. Return-format gaps are minor since the tool is a simple filtered list.

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%, so the schema already documents all six parameters. The description restates the search-by-text and sort-by-count behavior already present in the schema, adding no syntax or format details beyond it. 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?

States a specific verb and resource ("Browse the country dimension") and situates it precisely within the place taxonomy, explicitly naming its peers find_industries / find_regions / find_areas. An agent can tell it apart from siblings without opening any schema.

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

Usage Guidelines4/5

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

The description clarifies that this is the finest of four place taxonomies and "the one a buyer usually names," which is genuine routing guidance, and names the peer tools. It stops short of explicit when-not-to-use conditions, e.g. when to call get_country or find_regions instead.

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

find_estatesA
Read-only
Inspect

UNDERSTANDING — Browse corporate estates — one COMPANY whose API surface is spread across many provider records (Amazon 237, Salesforce 27, Cisco 37). Ranked by member count. Use this when two slugs look like separate vendors and you need to know whether they are one company. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
qNoFree text matched against name and description, e.g. "payments".
pageNoPage number, 1-based (default 1).
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description goes beyond them by disclosing the ranking order (by member count), the pricing tier (B1, single-entity synthesis, $0.01/call, included in Understanding and Influence) and a pointer to apis://prices — real operational context an agent can act on.

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?

Front-loads the definition of an estate, then the routing cue, then ranking and pricing. Every clause is relevant, though the pricing sentence is dense and could be tightened; the 'UNDERSTANDING —' label adds mild clutter.

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, four-parameter search tool with no output schema, the description supplies the concept, the ranking semantics, and cost. It does not describe the shape of an estate record (members, slugs), a minor gap given there is no output schema to lean on.

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

Parameters3/5

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

Schema description coverage is 100% with four well-documented parameters, so the schema carries the semantic load. The description adds nothing about q, page, limit, or context, which is acceptable at this coverage level but earns only the 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?

States a specific verb+resource (browse corporate estates) and defines the non-obvious domain concept: one company whose API surface spans many provider records, with concrete examples (Amazon 237, Salesforce 27). The ranking rule (by member count) further pins down what the tool returns, so an agent can distinguish it from provider-level tools like find_providers.

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

Usage Guidelines4/5

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

Gives a concrete triggering condition: 'Use this when two slugs look like separate vendors and you need to know whether they are one company.' That is a clear when-to-use signal, but it names no alternative tool or exclusion, so it stops short of full routing guidance.

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

find_examplesA
Read-only
Inspect

Example payloads across the catalog. Real request/response examples. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance / provider / name, or key_count (largest first).
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
providersNoProvider slugs, e.g. ["stripe"].

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds one genuine behavioral detail — that include=["content"] inlines artifact bodies instead of returning only URLs — but says nothing about pagination behavior or result shape. With annotations carrying the safety load, this is a moderate addition.

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

Conciseness4/5

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

Three short, front-loaded sentences with no filler. The only minor waste is the second sentence ('Real request/response examples'), which largely restates the first, but overall it is tight and scannable.

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 9-parameter read-only search tool with no output schema, the description covers the resource, the filter levers, the include behavior, and the sibling alternative. Pagination and sort semantics live in the schema, which is fully documented, so the description is nearly complete, though it could say more about when to prefer it over other find_* siblings.

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 all nine parameters (q, tags, providers, match, include, sort, page, limit, context) are already documented in the schema. The description repeats the filter names and the include behavior without adding syntax or format detail beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

The description states a specific resource — example payloads (real request/response examples) across the catalog — and explicitly distinguishes itself from find_artifacts for cross-type search. The retrieval verb is only implied by the tool name rather than stated, which keeps it just short of a 5.

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

Usage Guidelines4/5

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

It gives an explicit alternative ('Use find_artifacts for cross-type search'), which routes the agent for one condition, and states the filtering levers (q / tags / providers) plus the include flag. It lacks broader when/when-not guidance and does not say what distinguishes this from other find_* tools beyond find_artifacts.

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

find_extensionsA
Read-only
Inspect

Browse every OpenAPI x- specification extension harvested across the catalog, with the provenance the OpenAPI Initiative registry does not carry: who publishes it, in how many documents, where in the document it appears, and what shape the value takes. Search by key or purpose; sort by occurrences.

NameRequiredDescriptionDefault
qNoFree text matched against name and description, e.g. "payments".
pageNoPage number, 1-based (default 1).
sortNoOrder: occurrences or documents (largest first), or name, e.g. "occurrences".
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
include_pipelineNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered; the description adds real value beyond that by disclosing what the results carry — publisher, document counts, position in the document, value shape — and framing it against the OpenAPI Initiative registry. Pagination behavior is left to the schema, which is acceptable.

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?

Short two-sentence structure that leads with the resource and the provenance value proposition, then the control knobs. The first sentence is long but every clause carries information; nothing is redundant.

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 search tool with no output schema, the description usefully stands in for return-value documentation by enumerating the result fields. The only real hole is the undocumented `include_pipeline` flag, which an agent cannot reason about from any available field.

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 83%, so the schema baseline is 3; the description reinforces that `q` matches key or purpose and that `sort` accepts occurrences, but adds no syntax or default detail beyond the schema. `include_pipeline` has no description in either the schema or the description, leaving one parameter unexplained.

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

Purpose4/5

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

States a specific verb and resource: browsing OpenAPI `x-` specification extensions harvested across the catalog, with the scope made explicit ('every'). It differentiates from get_extension implicitly (browse/list vs. fetch one) but never names the sibling, so the distinction is inferable rather than stated.

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

Usage Guidelines3/5

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

'Search by key or purpose; sort by occurrences' hints at how to drive the tool, but there is no explicit when-to-use-it vs. get_extension guidance and no stated prerequisites or exclusions. An agent can guess this is the discovery/list counterpart to get_extension, but the description doesn't say so.

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

find_finopsA
Read-only
Inspect

FinOps / billing models across the catalog. How usage is metered and billed. meta carries the billing model (pricing category), method, provenance_date, primary_unit (what the provider bills by) and template: true on sweep output that restates the FinOps framework without a unit, meters or a pricing category. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance (catalog order), provider, or name.
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
methodNoWho wrote the file: "searched", "probed", "generated" (unverified sweep output), "unmarked".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
providersNoProvider slugs, e.g. ["stripe"].
billing_modelNoPricing category substring, e.g. "subscription", "usage", "prepaid", "take rate".

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and closed-world scope. The description earns credit by disclosing the result shape of meta (pricing category, method, provenance_date, primary_unit) and flagging `template: true` for sweep output lacking units/meters — genuinely useful context absent from any structured field.

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?

Front-loads the domain, then packs filtering and the meta/template semantics efficiently. Dense and fragmentary in places but nearly every clause carries non-obvious 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?

With no output schema, 11 params and a read-only profile, the description compensates by explaining the meta payload and template flag. It covers what an agent needs to interpret results, leaving only minor gaps like pagination behavior.

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 all 11 parameters are self-documented. The description restates q/tags/providers and include=["content"] filtering, which is largely redundant with the schema; baseline 3 applies.

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

Purpose4/5

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

States a specific domain (FinOps/billing models and how usage is metered and billed) and scopes it as a catalog search. It is distinguishable from find_artifacts via the explicit cross-type routing note, though the opening is a noun phrase rather than a crisp 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 Guidelines4/5

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

Gives concrete usage: filter by q/tags/providers, and inline bodies with include=["content"]. It names find_artifacts as the alternative for cross-type search, establishing when to prefer this type-scoped tool, but offers no explicit exclusion criteria or ranking caveats.

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

find_graphqlA
Read-only
Inspect

GraphQL schemas across the catalog. GraphQL type systems. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance (catalog order), provider, or name.
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
providersNoProvider slugs, e.g. ["stripe"].

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds one useful behavioral fact — include=["content"] inlines bodies instead of just URLs — but says nothing about pagination limits or result shape, which matters for a 9-param listing tool.

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

Conciseness4/5

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

Four short clauses, front-loaded with the resource before the filters and the alternative. The "GraphQL type systems" fragment is near-redundant with the first sentence, a minor waste in an otherwise tight description.

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

Completeness4/5

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

For a filter-and-list tool with a fully described schema and read-only annotations, the description covers purpose, filters, the inline-body option, and the sibling alternative. No output schema exists, but return values are not described, which is the main remaining 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%, so the schema already documents all nine parameters and the baseline is 3. The description restates q/tags/providers and clarifies the include semantics, but adds no format or interaction detail beyond what the schema provides.

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

Purpose4/5

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

The description identifies the resource concretely ("GraphQL schemas across the catalog. GraphQL type systems") and points to find_artifacts as the cross-type sibling, which lets an agent separate it from find_openapis/find_asyncapis. It relies on the tool name for the verb rather than stating one, and the second fragment adds little, but the resource is unambiguous.

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

Usage Guidelines4/5

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

"Filter by q / tags / providers" gives clear usage context, and "Use find_artifacts for cross-type search" names the alternative and the condition that selects it. There is no explicit when-not guidance beyond that, so it stops short of a full routing rule.

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

find_industriesC
Read-only
Inspect

Browse industry verticals; sort by provider/API count.

NameRequiredDescriptionDefault
qNoFree text matched against name and description, e.g. "payments".
pageNoPage number, 1-based (default 1).
sortNoOrder: name, api_count, provider_count or composite, e.g. "provider_count".
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds only that results can be sorted, which is already exposed by the schema's sort parameter; it says nothing about pagination behavior, total counts, or result shape for a 5-parameter listing tool.

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

Conciseness4/5

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

A single short clause, front-loaded with the verb and resource plus the sort hook. Nothing is wasted, though the extreme brevity edges toward under-specification rather than pure conciseness.

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

Completeness3/5

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

For a zero-required-parameter discovery tool with no output schema, the description is minimally adequate but omits what a browse call returns and how it relates to the industry detail/leader tools. It is complete enough to invoke, not to use optimally.

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% (q, page, sort, limit, context all documented), so the schema carries parameter semantics. The description merely restates the sort dimension ('provider/API count') and adds no format, default, or interaction detail beyond it. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource: 'Browse industry verticals'. The sort capability is also mentioned, so an agent knows this is a listing/discovery call rather than a detail lookup. It does not, however, name any sibling (e.g. get_industry, find_apis, insights_industries) to disambiguate.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus alternatives such as get_industry (single industry) or find_apis/find_providers (entities within an industry), nor any prerequisite or exclusion. Usage is only implied by the word 'browse'.

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

find_investorsA
Read-only
Inspect

UNDERSTANDING — The reverse portfolio edge: which VC firms in the network back a given provider/company (by slug). The investor COUNT is free; the named firms need Understanding. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover readOnlyHint=true and openWorldHint=false, so the safety profile is set. The description adds non-obvious behavioral context: a partial paywall (count free, named firms gated behind Understanding), a per-call price, and a pointer to apis://prices. It does not describe pagination or result shape, but the added gating/cost detail is meaningful.

Agents need to know what a tool does to the world before 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 tight paragraph, front-loaded with the capability statement, then gating and price. Every clause earns its place and nothing is repeated.

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 carry more of the return-value burden; it only implies a count plus named firms and does not describe ordering, limits, or empty-result behavior. It is adequate for a simple lookup but leaves the response shape underspecified.

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%, so both parameters are already documented in the schema. The description only echoes 'by slug' and adds no format or edge-case semantics beyond what the schema provides — 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?

States a specific verb and resource ('which VC firms in the network back a given provider/company (by slug)') and frames it as 'the reverse portfolio edge,' which implicitly contrasts it with the forward-looking vc_portfolio sibling. An agent can tell what it retrieves without opening the schema.

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

Usage Guidelines3/5

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

It discloses that the investor COUNT is free while named firms require Understanding, and that it is priced B2 at $0.05/call — useful gating context. But it never names the alternative (vc_portfolio) or states an explicit when-to-use/when-not condition, so routing is left to inference.

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

find_json_ldA
Read-only
Inspect

JSON-LD contexts across the catalog. Linked-data vocabularies. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance / provider / name, or class_count / property_count (largest first).
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
providersNoProvider slugs, e.g. ["stripe"].

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds one behavioral detail beyond the schema ('include=["content"] inlines bodies'), but says nothing about pagination behavior, result ordering effects, or what the default URL-only response looks like, so added value is modest.

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

Conciseness4/5

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

The definition is short, front-loaded, and waste-free, with the resource stated first and the routing note last. It is telegraphic and fragmentary ('Linked-data vocabularies.'), which is efficient but slightly cryptic rather than maximally self-explanatory.

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 100% schema coverage for nine parameters, an annotation-covered read-only profile, and no output schema, the description is close to complete for a filtered search tool. The main minor gap is the return-shape description, which is only partially addressed by the include note.

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 schema fully documents all nine parameters with examples and defaults. The description only restates a few parameters (q, tags, providers, include) that are already covered, adding no syntax or meaning beyond what the schema provides. Baseline 3 applies.

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

Purpose4/5

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

The description identifies the resource specifically as 'JSON-LD contexts' and 'linked-data vocabularies' across the catalog, which an agent can distinguish from generic artifact search. It names the sibling find_artifacts as the cross-type alternative, aiding differentiation. The purpose is clear though stated as a noun phrase rather than an explicit verb, keeping it just shy 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?

It gives one routing rule ('Use find_artifacts for cross-type search') and lists filter dimensions (q/tags/providers), which is implied usage guidance. However there is no explicit when-to-use statement, no prerequisites, and no other exclusions, leaving an agent to infer when this tool is the right choice.

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

find_json_schemasA
Read-only
Inspect

JSON Schemas across the catalog. Standalone data schemas. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance (catalog order), provider, or name.
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
providersNoProvider slugs, e.g. ["stripe"].

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=false), so the burden is lighter. The description adds one real behavioral fact — include=["content"] inlines bodies rather than returning only URLs — which affects payload size. It discloses nothing about auth, rate limits, or return/pagination format, so it adds only modest value beyond structured fields.

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

Conciseness4/5

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

Very short and front-loaded, opening with the resource and then the filters and sibling alternative. Slightly fragmentary phrasing and the near-redundant 'Standalone data schemas' keep it from a 5, but there is no wasted sentence.

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

Completeness4/5

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

For a filtered-list tool with no output schema, the description covers the resource, available filters, the content-inlining option, and sibling routing — enough for an agent to call it correctly. It omits auth/rate-limit context and does not characterize result payloads, which are minor given the annotations already present.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all nine parameters, including the meaning of tags/providers and the content inlining behavior. The description largely restates this (q/tags/providers, include=["content"]), adding little beyond the schema; baseline 3 is correct.

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

Purpose4/5

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

Names a specific resource ('JSON Schemas across the catalog') and scopes it ('Standalone data schemas'), and it explicitly distinguishes itself from find_artifacts as the cross-type sibling. The fragmentary style ('Standalone data schemas.') leaves the exact nature of a 'JSON Schema artifact' slightly implicit, but the purpose is clear enough to route correctly.

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

Usage Guidelines4/5

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

Gives explicit routing: 'Use find_artifacts for cross-type search,' which names the alternative and the condition that selects it. It also lists the supported filters (q / tags / providers), implying when it fits. No when-not guidance beyond the sibling, so a 4 rather than 5.

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

find_json_structuresB
Read-only
Inspect

JSON Structures across the catalog. Data structures behind an API. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance / provider / name, or property_count (largest first).
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
providersNoProvider slugs, e.g. ["stripe"].
struct_typeNoRoot type: object, array, datetime, …

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds one genuinely behavioral fact — that include=["content"] inlines artifact bodies instead of URLs — but says nothing about pagination limits, result ordering behavior, or cost/latency with inlined content, so the added value is modest.

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?

Very short and front-loaded: the resource is named first, then filtering, then the routing hint. The telegraphic sentence fragments ('Data structures behind an API.') are slightly terse but nothing is wasted.

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

Completeness3/5

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

For a ten-parameter search tool with no output schema, the description should say more about what a returned structure contains and how paging/sorting behave. Annotations cover safety and the schema covers params, but the result shape and the meaning of struct_type/match are left entirely to inference.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all ten parameters with enums and defaults. The description's 'Filter by q / tags / providers' and the include note merely restate what the schema says, adding no syntax or semantics beyond it; baseline 3 applies.

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

Purpose4/5

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

States the resource clearly ('JSON Structures across the catalog', 'Data structures behind an API') so an agent knows it lists JSON structure artifacts. It does differentiate from find_artifacts (cross-type search), but never distinguishes itself from very close siblings like find_json_schemas, find_json_ld or find_apis_json, which an agent could easily confuse it with.

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

Usage Guidelines3/5

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

It offers one explicit routing hint ('Use find_artifacts for cross-type search') and repeats what filters exist, which implies when to use it. But it gives no when-not guidance against the near-identical structural siblings (json_schemas, json_ld) and no prerequisites, so usage is only partially covered.

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

find_mcpA
Read-only
Inspect

MCP servers across the catalog. Model Context Protocol servers a provider offers to agents. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance (catalog order), provider, or name.
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
providersNoProvider slugs, e.g. ["stripe"].
install_methodNoHow the server is delivered: "Hosted endpoint", "GitHub repo", "Documentation link".

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds one genuine behavioral detail beyond that — include=["content"] inlines bodies rather than returning just URLs, which changes response size and shape — but says nothing about pagination behavior, result limits, or empty-result semantics beyond what the schema states.

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

Conciseness4/5

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

Three compact sentences with no filler: resource first, then filtering and the include option, then the sibling redirect. The leading sentence is an elliptical fragment ("MCP servers across the catalog") that relies on the name for its verb, but nothing is wasteful.

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 ten-parameter, zero-required, read-only search tool with no output schema, the description covers what is searched, how to filter, what include does to the response, and where to go for cross-type search — enough to call it correctly. The remaining details (paging, sorting) live in the fully populated 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 all ten parameters are already documented in detail (including defaults, ranges, and the unusual context parameter). The description only summarizes a subset (q / tags / providers / include) and adds no syntax or format detail 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.

Purpose4/5

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

The description names a specific resource, "MCP servers across the catalog," and clarifies what those are ("Model Context Protocol servers a provider offers to agents"). It separates itself from find_artifacts by naming it as the cross-type alternative, though it does not distinguish itself from the many other find_* siblings (find_apis, find_providers).

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?

Explicit routing is present: "Use find_artifacts for cross-type search," which tells the agent when a different tool wins. It also lists the filter axes (q / tags / providers) and the include option, giving clear usage context, but offers no explicit exclusions such as when to prefer find_providers instead.

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

find_openapisA
Read-only
Inspect

OpenAPI specifications across the catalog. The REST contract. get_openapi returns one API's primary spec with optional inlined body. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance (catalog order), provider, or name.
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
providersNoProvider slugs, e.g. ["stripe"].

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful behavior about include=["content"] inlining bodies versus returning URLs, and that get_openapi returns only the primary spec. It says nothing about pagination behavior (page/limit exist), result ordering semantics beyond the schema enum, or what happens on empty results.

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

Conciseness4/5

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

Five short telegraphic sentences with the core resource statement and sibling routing front-loaded. 'The REST contract' is a fragment that earns some framing value, though the definition leans terse rather than complete.

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 nine-parameter, zero-required search tool with no output schema, the description covers filtering and inlining but omits pagination expectations, default result size (limit defaults to 25), and the shape of a result. It is adequate but leaves gaps an agent would otherwise have to discover.

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 all nine parameters including the unusual 'context' parameter (explicitly documented as never used for ranking) are already explained in the schema. The description echoes q/tags/providers and include without adding syntax or semantics beyond what the schema provides, so the baseline 3 applies.

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 definition identifies the resource (OpenAPI specifications across the catalog) and distinguishes it from two siblings: get_openapi (one API's primary spec, optional inlined body) and find_artifacts (cross-type search). It lacks an explicit verb and never contrasts with the nearby find_apis / find_apis_json / find_graphql family, so an agent still has to infer that this is the OpenAPI-specific variant.

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

Usage Guidelines4/5

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

It gives concrete filtering context (q / tags / providers) and an explicit routing rule: 'Use find_artifacts for cross-type search.' That is a real alternative-condition pairing, but there is no when-not guidance relative to find_apis or get_openapi beyond the one-line contrast.

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

find_operationsA
Read-only
Inspect

UNDERSTANDING — CATALOG-WIDE operation search: which providers expose a path matching your terms. "Who has a POST /refunds" had no answer before this — tags are what a company says about itself, a path is what its API accepts. Terms match path SEGMENTS (all must appear), so q="payment intents" finds /payments/v1/intents. Add method to narrow by verb, deprecated=true for the retiring ones. One row per real operation: a provider's spec is split per tag, so the same call can live in several of its documents, and apis lists them all. Reads matching providers' surfaces up to max_providers (cap 100) and tells you in meta.query.truncated when more matched than were read. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.

NameRequiredDescriptionDefault
qYesPath words, all of which must appear, e.g. "refunds" or "payment intents".
pageNoPage number, 1-based (default 1).
limitNoResults per page, 1-100 (default 25).
methodNoOnly operations with this HTTP method, e.g. "POST".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
deprecatedNoOnly operations the provider marked deprecated.
max_providersNoHow many matching providers to read (default 40, cap 100).

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint/openWorldHint annotations: it discloses de-duplication semantics (one row per real operation; the same call may appear in several provider documents, all listed in `apis`), read truncation behavior (page of matching providers up to max_providers with a 100 cap, surfaced via meta.query.truncated), and the full pricing model with a pointer to an estimate endpoint. That is unusually rich behavioral context for a read tool.

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

Conciseness4/5

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

Front-loaded with purpose before mechanics, and the example and truncation note earn their space. The pricing sentence is comparatively long and could be one clause shorter, but the information is relevant and non-redundant.

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?

No output schema exists, so the description carries the return-shape burden and does so: it explains the row granularity, the `apis` list, and the truncation signal in `meta.query.truncated`. Combined with the pricing/prerequisite pointer, an agent has everything needed to call it correctly.

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

Parameters4/5

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

Schema coverage is 100%, so a 3 is the baseline, but the description adds genuine meaning: q is explained as segment-matched AND-semantics with a concrete example, method as verb narrowing, and deprecated as a filter for retiring operations. page/limit/max_providers and context are left to the schema, which is acceptable.

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

Purpose5/5

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

States a specific verb and resource with scope: 'CATALOG-WIDE operation search: which providers expose a path matching your terms.' It also draws a sharp conceptual line against tag-based search ('tags are what a company says about itself, a path is what its API accepts'), letting an agent separate it from the tag/domain lookup tools without opening a schema.

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

Usage Guidelines4/5

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

Gives clear usage conditions: terms match path SEGMENTS and all must appear (with a worked example), method narrows by verb, deprecated=true surfaces retiring operations. It does not explicitly name alternatives such as get_provider_operations or find_openapis, so routing between the several operation/spec-search siblings is left to inference.

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

find_overlaysA
Read-only
Inspect

OpenAPI Overlays across the catalog. Documents applied on top of an API contract to add or change what it says. meta says who wrote it (authorship: provider / derived / generated / unmarked), whether the provider hosts it (provider_hosted — the only kind the Kin Score credits), what the actions touch (purpose), the action counts and the contract it extends. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance / provider / name, or action_count / target_count (largest first).
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
purposeNoWhat the actions touch: "phrasing" (x-apievangelist-phrasing per operation), "servers", "documentation", "security", "removal", "update".
providersNoProvider slugs, e.g. ["stripe"].
authorshipNoWho wrote the overlay: "provider" (published or hosted by the provider), "derived" (API Evangelist, from the provider's contracts), "generated" (API Evangelist tooling — most are conversational phrasing), "unmarked" (no record; never presented as the provider's).

TDQS

A4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint and openWorldHint, so the description carries the load and does well: it discloses the returned meta fields (authorship classification, provider_hosted, purpose, action counts, extended contract). It notably adds that provider_hosted is 'the only kind the Kin Score credits', a behavioral/ranking nuance absent from 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.

Conciseness4/5

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

Roughly five dense sentences with no filler, and the resource definition is front-loaded before the filter/meta details. The middle meta sentence is long and parenthetical-laden, which slightly hurts scanability, but every clause carries 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?

With 11 parameters and no output schema, the description appropriately spends its budget on what gets returned (authorship, hosting, purpose, counts) and on filtering/inclusion. An agent has enough to invoke it correctly, though pagination/sorting behavior isn't restated in prose.

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, but the description goes beyond the schema by enumerating the authorship taxonomy and purpose categories and clarifying semantics of the returned metadata. The value-adds such as the Kin Score credit rule and the include behavior justify above baseline.

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

Purpose4/5

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

States the resource precisely ('OpenAPI Overlays across the catalog') and immediately defines what an overlay is ('Documents applied on top of an API contract to add or change what it says'), so the agent knows the object type even though the verb is only implied by the name. It also names a sibling ('Use find_artifacts for cross-type search'), which separates it from adjacent search 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?

Gives concrete filtering guidance ('Filter by q / tags / providers'), tells how to get bodies ('include=["content"] inlines bodies'), and routes cross-type searching to find_artifacts. It stops short of explicit when-not-to-use conditions or prerequisite context, but the alternative is named.

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

find_plansA
Read-only
Inspect

Pricing plans across the catalog. An API's pricing tiers. meta says who wrote the file (method), when it was read (provenance_date), who the page prices for (audience), how (pricing_basis), and whether a price is stale. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance / provider / name, or plan_count (largest first).
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
methodNoWho wrote the file: "searched" (transcribed from the provider's page), "probed" (read live), "generated" (API Evangelist sweep, unverified), "unmarked".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
audienceNoWho the pricing page prices for: "developer-api" (API or platform usage), "business-product" (the product the API comes with), "consumer" (a fee schedule), "unclear".
providersNoProvider slugs, e.g. ["stripe"].
pricing_basisNoHow it is priced: "per-call", "per-seat", "ad-valorem", "flat-platform", "tiered-subscription", "usage-other", "negotiated", "free", "none".

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds provenance awareness (method, provenance_date, audience, pricing_basis, staleness) that tells the agent result data may be unverified, which is useful. However much of this overlaps with the schema's own parameter descriptions and it says nothing about pagination or result shape.

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

Conciseness4/5

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

Three tight sentences with the purpose front-loaded and no filler. The telegraphic 'meta says...' phrasing is dense but every clause carries information the agent needs; only minor polish is missing.

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 12-parameter, all-optional search tool with annotations covering safety and no output schema, the description covers filtering, inlining behavior, and the sibling alternative. Remaining details (paging, sort order) live in the schema, so little an agent needs is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description reinforces the main filter axes (q / tags / providers) and include=["content"] behavior but adds no syntax or format detail beyond what the schema already documents for all 12 parameters.

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

Purpose4/5

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

The description names the resource precisely ('Pricing plans across the catalog', 'An API's pricing tiers') and routes the agent to the right sibling for cross-type search ('Use find_artifacts for cross-type search'). It is clear enough to select without opening the schema, though the opening fragment omits an explicit verb and the two-sentence framing is slightly disjointed.

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

Usage Guidelines4/5

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

It gives concrete selection guidance: filter by q / tags / providers, add include=["content"] to inline bodies, and defer to find_artifacts when searching across artifact types. No explicit when-not-to-use conditions beyond the cross-type alternative, so it stops short of the top band.

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

find_postmanA
Read-only
Inspect

Postman collections across the catalog. Postman-format collections (by reference). Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance (catalog order), provider, or name.
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
providersNoProvider slugs, e.g. ["stripe"].

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely non-obvious behavior: results are references (URLs) by default and bodies are only inlined when include=["content"] is passed. It does not mention pagination limits beyond what the schema implies.

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

Conciseness4/5

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

Three tight sentences with the resource stated first, then filtering mechanics, then the alternative tool. No filler. It could drop the redundant restatement of 'Postman-format collections' to be fully lean.

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 9-parameter, zero-required, read-only search tool with full schema coverage and no output schema, the description covers resource scope, filtering, content inlining, and the escape hatch to find_artifacts. The main gap is disambiguation from the closely named find_collections sibling.

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 schema already documents q, tags, providers, include, sort, match, page, and limit with examples. The description restates the headline parameters (q/tags/providers/include) but adds no syntax or format detail beyond the schema. Baseline 3 applies when the schema does the heavy lifting.

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

Purpose4/5

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

States the resource precisely ('Postman collections across the catalog') and adds the key qualifier that these are Postman-format collections returned by reference. The verb is only implied via the tool name, and it does not clarify how it differs from the sibling find_collections, which is a real ambiguity in a catalog with many find_* 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?

Gives concrete filtering guidance (q / tags / providers) and explicitly routes cross-type searching to find_artifacts, which is a clear alternative with a condition. It stops short of stating when NOT to use this tool, e.g. versus find_collections or find_openapis.

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

find_providersC
Read-only
Inspect

Paged, sortable, filterable provider list. Size filters need Understanding. Reference: apis://docs/tools/find_providers.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
areaNoArea slugs, e.g. ["security"].
bandNoexemplar | strong | developing | thin | minimal.
pageNoPage number, 1-based (default 1).
sortNoDefault: relevance with `q`, else composite.
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
viewNosummary (default, lean) or full.summary
facetNoFacet, e.g. governance; needs min_facet.
groupNoestate: one row per estate.
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
trendNoup | down | flat since last scoring.
fieldsNoOnly these top-level keys, e.g. ["slug","score"].
publicNoCallable with no signup (onboarding=open).
regionNoRegion slugs, e.g. ["north-america"].
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
countryNoCountry slugs, e.g. ["united-kingdom"].
pricingNofree | freemium | free-trial | paid | enterprise, e.g. ["free"].
resolveNoon (default) uses a tag `q` names; off = text only.on
try_nowNoUsable at no cost right now (free/trial + self-serve/open).
api_tagsNoTags on its APIs, e.g. ["webhook"].
industryNoIndustry slugs, e.g. ["fintech"].
platformNoVendor slugs, e.g. ["mintlify"].
max_scoreNoMaximum composite, e.g. 60.
min_facetNoMinimum `facet` score, e.g. 70.
min_scoreNoMinimum Kin Score composite (0-100), e.g. 60.
providersNoProvider slugs, e.g. ["stripe"].
min_actingNoMinimum write operations, e.g. 5.
onboardingNoopen (no key) | self-serve | approval.
size_basisNoSize source, e.g. sec-edgar.
size_statusNoprobed | unprobed (use probed for small firms).
revenue_bandNoRevenue band(s), e.g. "$1-10M".
platform_areaNoPlatform area, e.g. hosting.
publishes_apiNotrue = publishes an API.
accepts_writesNotrue = has write operations; false = read-only.
artifact_typesNoArtifact types required, e.g. ["OpenAPI"].
employees_bandNoSize band(s), e.g. "1-10,11-50".
exclude_operatorNo
include_narrowerNoWith `tags`: add narrower-tag members.
onboarding_descriptorNo

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the operation is safely understood as a scoped read. The description adds the useful structural traits (paged, sortable, filterable) and a caveat that size filters depend on an "Understanding" resource, plus a docs URI, but says nothing about result counts, totals across pages, or default behaviour of view/sort.

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

Conciseness4/5

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

Two very short sentences, front-loaded with the operation shape before the caveat. It is efficient, though the fragment "Size filters need Understanding" reads as ungrammatical shorthand and the external reference is left unexplained.

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 40-parameter read tool with no output schema, the description is far too thin: it does not explain the summary vs full view, what a Kin Score/composite means, how paging metadata comes back, or what the provider record contains. It leans entirely on an external docs URI to fill gaps an agent may not be able to fetch.

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 95% across 40 parameters, so the schema itself carries nearly all semantic load and baseline 3 applies. The description's only parameter-level contribution is the opaque "Size filters need Understanding" note, which hints at a dependency for size_basis/size_status/employees_band but does not explain it.

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

Purpose3/5

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

The description says it returns a "provider list" that is paged, sortable and filterable, which is a step up from the bare name, but it never states a specific verb+scope (e.g. "search the provider catalog") and does not distinguish it from siblings such as find_similar_providers, match_providers, compare_providers or get_provider. An agent knows the shape of the response but not what corpus or selection logic makes this the right entry point.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus the many other provider-oriented siblings, no mention of required resources or pagination limits. "Size filters need Understanding" is the only conditional hint and it is too terse to act on without fetching the external reference.

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

find_rate_limitsA
Read-only
Inspect

Rate-limit policies across the catalog. Declared throttling policies. meta carries method, provenance_date, the exhaustion status and the response headers that signal limit state. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance / provider / name, or limit_count (largest first).
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
methodNoWho wrote the file: "searched", "probed", "generated" (unverified sweep output), "unmarked".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
providersNoProvider slugs, e.g. ["stripe"].

TDQS

A3.9/5.0
Behavior4/5

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

With readOnlyHint=true and openWorldHint=false already covering the safety profile, the description adds genuine behavioral detail: meta carries method, provenance_date, exhaustion status, and the response headers signaling limit state, and include=["content"] toggles between URL-only and inlined bodies. That is real return-shape information beyond the annotations, though it stops short of pagination or error behavior.

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

Conciseness4/5

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

Four short sentences, densely front-loaded with the resource and the routing hint. There is minor redundancy between the first two sentences and the telegraphic fragment "Declared throttling policies" adds little, but nothing is bloated.

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 10-parameter, zero-required search tool with no output schema, the description covers the resource, key filters, result-meta contents, the body-inlining switch, and the sibling alternative. Pagination and the exact top-level result shape are left to the schema, which is acceptable given full schema coverage.

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 schema already documents all ten parameters with examples and enums. The description echoes q/tags/providers filtering and clarifies the include=["content"] inlining effect, which is the one marginal addition over structured data. 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 names the resource directly ("Rate-limit policies across the catalog. Declared throttling policies") and the verb is implied by the tool name, so an agent knows it returns rate-limit policy artifacts. It also distinguishes itself from the generic find_artifacts sibling, though the first two sentences are somewhat redundant.

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

Usage Guidelines4/5

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

It gives concrete usage context ("Filter by q / tags / providers; include=[\"content\"] inlines bodies") and names an explicit alternative with its selecting condition ("Use find_artifacts for cross-type search"). No when-not guidance beyond that single alternative, but the routing signal is clear.

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

find_rating_moversA
Read-only
Inspect

UNDERSTANDING — The biggest rating movers (up and down) since the previous scoring build. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.

NameRequiredDescriptionDefault
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=false), so the description's real contribution is the pricing behavior: $0.005/request plus $0.0002/record, decreasing past 100, capped at $0.50, with plan inclusion and an estimate endpoint. That is genuinely decision-relevant context the annotations do not carry, though it omits what a 'mover' record contains.

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?

Purpose is front-loaded in the first sentence, followed by the pricing block. The dense cost breakdown is verbose but arguably earns its place for a metered tool, keeping the overall structure efficient and readable.

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 metered, read-only list tool with no output schema and two optional params, the description covers purpose, cost, and cost-estimation path well. It leaves the shape of a returned mover undefined, which is a minor gap given no output schema exists to rely on.

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

Parameters3/5

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

Schema coverage is 100%, so both parameters (limit, context) are already fully documented in the schema. The description's 'per record returned' loosely ties output volume to the limit, but adds no format or syntax detail beyond what the schema provides, matching the baseline 3.

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

Purpose4/5

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

States a specific resource and dimension: the biggest rating movers (up and down) since the previous scoring build. This is distinguishable from sibling read tools like get_rating_history (a single entity's history) and find_ratings (a static list). It stops short of explicitly naming a sibling to route against, so it lands at 4 rather than 5.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance and no alternative tool is named. The only procedural hint ('Estimate first at /api/v1/prices/estimate') concerns cost, not tool selection, so the agent must infer whether this beats find_ratings or get_rating_history.

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

find_ratingsA
Read-only
Inspect

Ranked ratings leaderboard — filter by band, score range, trend, or facet threshold. Sort by composite (default), delta (biggest gainers), or any quality facet (governance, security, …) to rank providers by that dimension. Each row also carries agent_readiness {score, band} and front_door_ai {band, band_label, score} — the two standalone layers, never part of the composite. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.

NameRequiredDescriptionDefault
bandNoRating bands: exemplar, strong, developing, thin, minimal, e.g. ["strong","exemplar"].
pageNoPage number, 1-based (default 1).
sortNoLeaderboard order; default composite. agent_readiness and front_door_ai rank the two standalone layers; providers with no reading sort last.
tagsNoTag slugs the provider carries, e.g. ["payments"].
facetNoFacet to threshold with min_facet: discoverability, contract_quality, contract_governance, operational_transparency, developer_ergonomics, access_clarity.
limitNoResults per page, 1-100 (default 25).
trendNoWeek-over-week movement: "rising" (+5 or more), "falling" (-5 or more) or "flat" (within 5).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
max_scoreNoOnly ratings at or below this composite. Pair with min_score for a range.
min_facetNoMinimum score on `facet` (0-100); ignored without `facet`. E.g. 70.
min_scoreNoMinimum Kin Score composite (0-100), e.g. 60.
providersNoRestrict to these provider slugs — the ratings of a named set.

TDQS

A3.9/5.0
Behavior4/5

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

With readOnlyHint/openWorldHint already covering safety, the description adds genuinely new behavior: per-result pricing with tiers and a $0.50 cap, plan inclusion, and the key data-model fact that agent_readiness and front_door_ai are standalone layers never folded into the composite. It does not cover pagination limits or total-count behavior.

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

Conciseness4/5

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

Front-loaded with purpose and filter/sort semantics before the pricing block, which is dense but earns its place for a metered tool. The pricing sentence is long and the pointer to apis://prices is slightly redundant with the estimate endpoint mention.

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 12-param, no-required-param read tool with no output schema, the description still documents the shape of returned rows and the layered scoring model, which is exactly what the schema cannot convey. Filtering, sorting, cost, and row composition are all covered.

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, and the description adds real meaning beyond it: it explains delta as gainers, that facet sorting ranks by that dimension, the filter axes as a group, and that `context` is never used for ranking. It doesn't disambiguate min_score versus min_facet interaction beyond what the schema already says.

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?

Opens with a specific verb+resource ("Ranked ratings leaderboard") and states the filtering axes and sort modes, so an agent immediately knows this returns a ranked provider list. It doesn't name a sibling tool explicitly, so the boundary with find_rating_movers (delta) and find_providers is left to inference.

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

Usage Guidelines3/5

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

Usage context is implied ("delta (biggest gainers)" versus composite default; "Estimate first" before calling) but there is no explicit when-to-use/when-not statement or named alternative. The pricing pre-flight instruction is the strongest guidance offered.

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

find_regionsA
Read-only
Inspect

Browse geographic regions; sort by provider/API count. Returns the 18 regions themselves. The collection also holds region x industry crossover pages (nordics-healthcare and 1,097 more); those are excluded unless you ask for them with type.

NameRequiredDescriptionDefault
qNoFree text matched against name and description, e.g. "payments".
pageNoPage number, 1-based (default 1).
sortNoOrder: name, api_count, provider_count or composite, e.g. "provider_count".
typeNoWhich record kind to list. `region` (default) is the dimension itself; `region-industry` is the crossover pages; `all` is both.region
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and openWorldHint=false. The description adds useful behavior beyond that: it discloses the exact result cardinality (18), that the underlying collection is larger, and the default exclusion rule — the kind of context that prevents an agent expecting crossover rows from being surprised.

Agents need to know what a tool does to the world before 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, zero filler, purpose front-loaded in the first clause and the exclusion caveat placed last where it belongs. Every sentence earns its place.

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

Completeness4/5

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

With no output schema, the description compensates by stating what a call returns (the 18 region records) and what it omits, and annotations cover the safety profile. Remaining gaps — pagination/total-count behaviour and output shape — are minor for a simple browse 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%, so the schema already documents q, page, sort, type, limit and context. The description only reinforces the type default and the sort-by-count intent, adding marginal value over the structured fields — the 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?

States a specific verb and resource ("Browse geographic regions"), quantifies the scope ("Returns the 18 regions themselves"), and explicitly carves out what is NOT returned (region x industry crossover pages). This scoping makes it distinct from neighbours like find_industries, find_countries and the crossover-oriented get_region_leaders.

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

Usage Guidelines4/5

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

Gives a clear conditional: crossover pages are "excluded unless you ask for them with type", which tells the agent how to widen its query. It stops short of naming sibling alternatives (get_region, find_countries) or when NOT to use this tool, so it is clear context rather than explicit routing.

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

find_regulationsA
Read-only
Inspect

Browse the laws, statutes and accreditations the catalog tracks, each joined to the countries, regions and industries it binds. Filter by scope=horizontal to get the regimes that reach a provider with NO industry tag at all, which is the question tags alone cannot answer; or by kind (regulation/statute/accreditation/regulator-guidance) or jurisdiction. A null company_count means the job-corpus pass has not run for that name — it is NOT a measured zero.

NameRequiredDescriptionDefault
qNoFree text matched against name and description, e.g. "payments".
kindNoKind of regime: regulation, statute, accreditation or regulator-guidance.
pageNoPage number, 1-based (default 1).
limitNoResults per page, 1-100 (default 25).
scopeNoRegulation scope; "horizontal" returns regimes that bind regardless of industry.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
jurisdictionNoCase-insensitive substring of the jurisdiction, e.g. "EU" or "United States".

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely non-obvious data semantics beyond that: a null company_count means the corpus pass has not run, not a measured zero, which prevents a serious misinterpretation.

Agents need to know what a tool does to the world before 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 what the tool returns, then filters, then the null-value caveat. Every sentence carries information an agent would otherwise get wrong; 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?

With no output schema, the description does carry the return-shape burden and partly meets it (joined to countries/regions/industries, company_count semantics). It still does not describe the per-result fields or pagination behavior, leaving a modest gap.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description goes beyond the schema on scope by restating horizontal as regimes binding a provider with NO industry tag, and confirms the kind/jurisdiction filters, but says nothing about q, page, limit, or context.

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

Purpose4/5

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

The description gives a specific verb and resource ("Browse the laws, statutes and accreditations the catalog tracks") and clarifies the joined shape (countries, regions, industries). It does not name a sibling to contrast with, so the agent must infer that get_regulation is the singular fetch and find_rules/find_scopes are separate catalogs.

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

Usage Guidelines4/5

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

It gives a concrete when-to-use case with rationale: use scope=horizontal for regimes that reach a provider with no industry tag, "the question tags alone cannot answer." It also names the kind and jurisdiction filters, but offers no explicit exclusions or pointer to an alternative tool for related needs.

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

find_rulesA
Read-only
Inspect

Spectral governance rulesets across the catalog. API design/linting rulesets. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance / provider / name, or rule_count (largest first).
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
providersNoProvider slugs, e.g. ["stripe"].

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description's only behavioral note, include=["content"] inlining bodies, merely restates the schema's own description of that parameter. No additional behavioral context (pagination, rate limits, result shape) is added beyond structured fields.

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

Conciseness4/5

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

Front-loaded and short, with the alternative-routing placed last where it belongs. Slight redundancy between the first two sentences keeps it from a 5, but there is no filler.

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

Completeness4/5

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

For a 9-parameter, purely filtered lookup with no output schema and annotations covering safety, the description supplies purpose, filter scope, and the key alternative. It omits return/pagination shape, but the schema documents page/limit/sort, so nothing essential to correct invocation is missing.

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

Parameters3/5

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

Schema coverage is 100%, so every parameter is already documented in the schema. The description's filter summary (q / tags / providers) and include note mirror what the schema already states, adding no syntax or semantic detail beyond it. 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?

States a specific resource (Spectral governance rulesets / API design-linting rulesets) and names find_artifacts as the cross-type alternative, so the agent can distinguish it from other find_* tools. It is clear but terse; the two opening sentences overlap ('governance rulesets' vs 'design/linting rulesets') rather than sharpening the boundary against siblings like find_regulations or find_scopes.

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

Usage Guidelines4/5

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

Gives explicit routing: use this for governance/linting rulesets, and 'Use find_artifacts for cross-type search' names the alternative and the condition that selects it. It stops short of stating exclusions or when-not to use it, but the alternative pointer is concrete.

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

find_scopesA
Read-only
Inspect

OAuth scope catalogs across the catalog. The OAuth scopes an API defines. Understanding plan. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance / provider / name, or scope_count (largest first).
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
providersNoProvider slugs, e.g. ["stripe"].

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint=false, so safety is covered. The description adds genuinely non-derivable context: plan gating (Understanding/Influence), the B1 price tier at $0.01 per call, and that include=["content"] inlines bodies. This is meaningful value beyond the structured fields.

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

Conciseness3/5

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

Two of the leading sentences ('OAuth scope catalogs across the catalog' and 'The OAuth scopes an API defines') say nearly the same thing and are fragmented rather than front-loaded. The pricing sentence is boilerplate but does earn its place by disclosing cost and plan gating.

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 still covers scope, filtering, the sibling alternative, plan gating, and pricing. Pagination and sort semantics are left to the schema, which is reasonable, but a note on result shape or pagination would make it fully self-contained.

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

Parameters3/5

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

Schema description coverage is 100%, so all nine parameters are already documented in the schema. The description restates filtering and content inlining but adds no syntax or format detail beyond it. Baseline 3 is appropriate when the schema carries the full parameter burden.

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

Purpose4/5

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

The description identifies the resource clearly (OAuth scopes an API defines) and differentiates itself from the sibling find_artifacts for cross-type search. The verb is implied rather than stated ('find_scopes'), and the opening 'OAuth scope catalogs across the catalog' is awkward and slightly circular, but an agent can still tell what this returns.

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 names an explicit alternative ('Use find_artifacts for cross-type search') and describes the filter surface (q / tags / providers) plus the include=["content"] option. It stops short of stating when-not to use it, but the routing hint to the sibling is concrete and useful.

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

find_securityA
Read-only
Inspect

Security artifacts across the catalog. Authentication, domain security, VDP, trust center. Understanding plan. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance / provider / name, or scheme_count (largest first).
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
providersNoProvider slugs, e.g. ["stripe"].

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely new behavioral context: the pricing tier (B1, $0.01/call), plan inclusion, and the effect of include=["content"] inlining artifact bodies rather than returning URLs. It does not describe rate limits or result-size behavior, but the additions exceed what the annotations carry.

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

Conciseness4/5

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

The definition is short and front-loads the scope, filters, and the disambiguation from find_artifacts before pricing details. However, it is written as a string of clipped fragments, including the incomplete sentence "Understanding plan," which slightly harms 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 nine-parameter, zero-required search tool with no output schema, the description covers scope, filters, the alternative tool, return-shaping via include, and cost — enough for an agent to call it correctly. It does not discuss result ordering or pagination semantics, though the schema handles those.

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 schema already documents all nine parameters, making 3 the baseline. The description summarizes the main filters (q/tags/providers) and highlights the include=["content"] behavior, but that detail is already in the schema, so it adds little beyond a quick recap.

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 resource and scope ("Security artifacts across the catalog") and enumerates the covered domains (authentication, domain security, VDP, trust center), which makes the tool's remit concrete. It also distinguishes itself from the sibling find_artifacts. The verb is implicit and inherited from the tool name rather than stated, and the fragment "Understanding plan" adds a small amount of ambiguity.

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 routes the agent: "Use find_artifacts for cross-type search," which names the alternative and the condition that selects it. Plan-gating context ("included in Understanding and Influence") further signals when the tool is appropriate. It stops short of stating when-not-to-use conditions or prerequisites.

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

find_similar_apisB
Read-only
Inspect

APIs similar to a given one ("more like this") by shared tags.

NameRequiredDescriptionDefault
aidYesAPI id in the form provider:api-slug, as find_apis returns it, e.g. "stripe:stripe-api".
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description usefully adds the mechanism (similarity derived from shared tags), but says nothing about pagination behavior, result ordering, or what happens when no similar APIs exist.

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

Conciseness4/5

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

A single compact sentence with the key mechanism front-loaded and zero filler. It is efficient, though arguably terse enough to omit routing and pagination cues that would earn a 5.

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 lookup with full schema coverage and annotations, the essentials are present. It stops short of mentioning the provider-level counterpart or result volume/ordering, leaving small gaps that an agent might need.

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 schema fully documents aid, limit, and context (including the aid format and the context non-ranking note). The description adds nothing beyond the schema, which is the expected baseline of 3 when structured fields do the work.

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

Purpose4/5

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

States a specific verb+resource (find APIs similar to a given one) and the similarity mechanism (shared tags), which is more than a tautology. It does not, however, differentiate itself from the obvious sibling find_similar_providers or clarify why tags-based similarity was chosen.

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 gloss "more like this" implies a usage context of discovering related APIs, but there is no explicit when-to-use, when-not-to-use, or alternative routing (e.g. find_similar_providers for provider-level similarity, find_apis for getting the aid). Usage is only implied.

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

find_similar_providersA
Read-only
Inspect

Providers similar to a given one (alternatives) by shared tags, areas, industry, region, and artifact coverage. Products under the same owner (a sister, not a rival) are left out of the ranking and listed in meta.query.family; include_family=true ranks them in, flagged same_estate.

NameRequiredDescriptionDefault
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
include_familyNoRank same-owner products in with the rivals (flagged same_estate) instead of listing them in meta.query.family.

TDQS

A3.9/5.0
Behavior4/5

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

With readOnlyHint=true and openWorldHint=false already covering the safety profile, the description adds real behavioral context: same-owner products are excluded from the ranking, parked in meta.query.family, and only re-ranked with include_family=true where they are flagged same_estate. That is meaningful disclosure about ranking semantics not present in annotations.

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

Conciseness4/5

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

Two dense sentences with the primary purpose front-loaded and the ranking exclusion handled second. Slightly compressed terminology ('a sister, not a rival') costs a little clarity but carries useful distinction without waste.

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

Completeness4/5

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

For a read-only discovery tool with no output schema, the description supplies the essentials: what similarity means, what is excluded by default, where excluded items appear, and how to include them. Only the ranking/ordering of results and pagination behavior beyond the limit parameter are left implicit.

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%, so all four parameters are already documented, including include_family and the 'context is never used to rank' note. The description restates the include_family behavior and output-side family/same_estate handling rather than adding new parameter meaning, so the 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?

States a specific verb+resource ('Providers similar to a given one (alternatives)') and enumerates the exact similarity dimensions (tags, areas, industry, region, artifact coverage). An agent can distinguish it from siblings like compare_providers, match_providers, and find_providers without opening any schema.

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

Usage Guidelines3/5

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

Usage is clearly implied — call it to get alternatives to one known provider — and the family-vs-rival distinction gives practical context. However, it never names when to prefer this over match_providers or compare_providers, so the routing guidance among near-siblings is left to inference.

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

find_skillsA
Read-only
Inspect

Agent Skills across the catalog. Packaged agent skills. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance (catalog order), provider, or name.
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
providersNoProvider slugs, e.g. ["stripe"].

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds a genuinely useful non-obvious behavior: include=["content"] inlines bodies rather than just URLs, which warns about heavier payloads. It does not discuss pagination limits beyond what the schema states.

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?

Compact and front-loaded with the resource, then filters, then the alternative. The first two sentences overlap in meaning ('Agent Skills across the catalog' / 'Packaged agent skills'), a small redundancy, but overall there is little 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?

With no output schema and nine fully documented optional parameters, the description still conveys the key filter axes and the inlining behavior an agent needs to call it correctly. An agent could reasonably choose and invoke this tool from the description plus schema; only return format/pagination behavior is unspecified.

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 every parameter (q, tags, providers, include, sort, match, page, limit, context) is already documented with examples. The description only restates q/tags/providers/include and adds no syntax or meaning 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.

Purpose4/5

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

States the resource (Agent Skills in the catalog) and implies a search verb, and it names a sibling (find_artifacts) to distinguish cross-type search. The opening pair of sentences is slightly redundant ('Agent Skills across the catalog. Packaged agent skills.'), but the intent is unambiguous.

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

Usage Guidelines4/5

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

Gives concrete filtering guidance (q / tags / providers) and an explicit alternative with its condition: 'Use find_artifacts for cross-type search.' No explicit when-not beyond that, but the routing rule is clear.

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

find_slaA
Read-only
Inspect

Service levels (SLA4OAI) across the catalog. Uptime a provider promises on its SLA page and reports on its status page, kept separate, quoted from its own pages. APIs.io runs no monitors, so nothing is measured or verified. method "generated" marks a synthetic base with no uptime figure, which is not a statement by the provider. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: relevance (catalog order), provider, or name.
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
methodNoWho wrote the file: "searched" (quoted from the provider's pages) or "generated" (synthetic base, no uptime figure).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
providersNoProvider slugs, e.g. ["stripe"].

TDQS

A4.1/5.0
Behavior5/5

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

Adds substantial behavior beyond the readOnlyHint/openWorldHint annotations: the data is quoted from the provider's own SLA and status pages, kept separate rather than merged, and APIs.io runs no monitors so nothing is measured or verified. It also explains that a 'generated' method marks a synthetic base with no uptime figure and is not a provider statement — exactly the provenance caveat an agent needs before trusting results.

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

Conciseness4/5

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

Front-loaded with identity and scope, then provenance caveat, then filtering and the alternative tool — a sensible order with no filler. Some sentences are compressed to the point of being cryptic ('kept separate, quoted from its own pages') and the filter/alternative guidance is tacked on as a run of clauses.

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 10-parameter, zero-required listing tool with no output schema, the description covers the important unknowns: source of the data, non-verification, what method="generated" means, and how to get full bodies. Pagination and sort behavior are left entirely to the schema, which is acceptable since it is fully described.

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%, so all ten parameters are already documented in the schema, including q, tags, providers, include, and the searched/generated values of method. The description largely restates those (filters, include=["content"], method semantics), adding little syntax or meaning the schema does not already carry.

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?

Opens with a specific resource and scope: 'Service levels (SLA4OAI) across the catalog', and explicitly routes the agent elsewhere with 'Use find_artifacts for cross-type search', which separates it from the large family of find_* siblings. The retrieval verb is only implied by 'Filter by q / tags / providers', so it is clear but not a clean 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 Guidelines4/5

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

Gives concrete usage: filter by q / tags / providers, and pass include=["content"] to inline bodies. It also names an explicit alternative (find_artifacts) for cross-type search. It stops short of stating when-not to use this tool beyond that single cross-type exclusion.

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

find_tag_groupsA
Read-only
Inspect

START HERE for capability-map questions. The 1,500+ tag groups the catalog computes — sets of tags that demonstrably travel together across providers (Cards, Logistics, Wealth Management, Observability), the layer between a single tag and a coarse facet. Every response carries a coverage block: about a quarter of the vocabulary is in NO group, and any count taken from here should be read against ungrouped_share. Pass exclude=cross_cutting,sparse to drop the groups that are plumbing rather than markets.

NameRequiredDescriptionDefault
qNoSubstring match on group name, slug or member tag.
pageNoPage number, 1-based (default 1).
basisNocooccurrence groups are evidence-based; facet groups are a weaker fallback bucket for tags with no co-occurrence edge.
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
excludeNoComma-separated: cross_cutting (plumbing every provider has), sparse (a chain label propagation strung together, not a cluster). Use both when drawing a capabilities map.
min_tagsNoOnly groups holding at least this many tags.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the read-only safety profile, but the description goes well beyond them: it discloses that every response carries a `coverage` block, that roughly a quarter of the vocabulary sits in no group, and that counts must be read against `ungrouped_share`. It also warns that its excluded categories are 'plumbing rather than markets' — genuine behavioral context an agent would otherwise have to discover.

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?

Front-loads the highest-value cue ('START HERE') in the first clause and wastes no sentence. It is dense and slightly crowded with em-dash asides, but each sentence contributes routing or caveat information rather than 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 7-parameter, complex discovery tool with no output schema and 100% schema coverage, the description supplies the missing pieces: what the tool is for, the shape of the response (coverage block), and the main analytical caveat. Nothing needed to invoke it correctly is absent.

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, but the description adds interpretive value the schema lacks: it explains that cross_cutting is 'plumbing every provider has' and sparse is 'a chain label propagation strung together, not a cluster,' and recommends using both for a capabilities map. That is meaning beyond the field docs, though it only enriches 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?

States a specific verb+resource (find tag groups) and pins down what a tag group actually is — 'sets of tags that demonstrably travel together across providers' — plus its position 'the layer between a single tag and a coarse facet.' This is enough to distinguish it from find_tags and get_tag_group without opening either schema.

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

Usage Guidelines4/5

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

'START HERE for capability-map questions' gives an explicit entry condition, and the exclude guidance names a concrete task (drawing a capabilities map) with the flags that serve it. It stops short of naming alternative sibling tools (find_tags, tag_group_tags) or exclusions, so it is clear context rather than full when/when-not routing.

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

find_tagsA
Read-only
Inspect

Paginated, sortable list of tags in the taxonomy. Filter by axis to separate MARKETS (a business someone is in) from CAPABILITIES (the name of a resource in somebody's OpenAPI) — the single most useful distinction in the vocabulary, and a coin flip without it. A tag can carry more than one axis, so axis=market means market is ONE of its axes. Use apis_io_search first for a cross-type overview.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
axisNomarket | capability | persona | posture. Comma-separated for more than one.
bandNocanonical | established | emerging | niche | stale | posture.
pageNoPage number, 1-based (default 1).
sortNoDefault: relevance with `q`, else composite.
viewNosummary (default, lean) or full.summary
limitNoResults per page, 1-100 (default 25).
fieldsNoOnly these top-level keys, e.g. ["slug","score"].
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
min_api_countNoOnly tags applied to at least this many APIs.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds that results are paginated/sortable and that axis filtering is multi-valued, but omits auth, rate limits, or result-shape behavior beyond what structured fields imply.

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?

Front-loads the core capability ('Paginated, sortable list of tags') before going into the axis explanation and routing. Mostly earns its sentences, though the editorializing ('the single most useful distinction... a coin flip without it') spends words on persuasion rather than instruction.

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 10-parameter list tool with 100% schema coverage and no output schema, the description covers purpose, key filtering semantics, and routing to an alternative. It leaves band/sort semantics entirely to the schema, which is acceptable given full coverage, so nothing critical is missing.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description meaningfully enriches the axis enum by defining MARKET as 'a business someone is in' vs CAPABILITY as an OpenAPI resource name, and clarifies the OR semantics ('axis=market means market is ONE of its axes'). This adds interpretive value over the raw enum listing.

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

Purpose4/5

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

States a specific verb and resource ('Paginated, sortable list of tags in the taxonomy') with explicit scope. It names apis_io_search as a routing alternative but does not clearly distinguish itself from close siblings like find_tag_groups or get_tag, leaving some inference to the agent.

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

Usage Guidelines4/5

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

Provides an explicit routing rule ('Use apis_io_search first for a cross-type overview') and explains the primary filtering axis to use. It gives clear context for the main use case but stops short of formal when-not conditions or a comparison against find_tag_groups.

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

find_vcsA
Read-only
Inspect

UNDERSTANDING — Find venture-capital firms by name, thesis tags, or category. Each carries a network-matched, rated portfolio graph. Sort by portfolio_on_network (default), portfolio_total, portfolio_rating, or name. Understanding plan. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
pageNoPage number, 1-based (default 1).
sortNoOrder: portfolio_on_network, portfolio_total, portfolio_rating or name.
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
categoryNoFirm category, e.g. "Venture Capital".

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuinely new behavioral context: each result carries a network-matched, rated portfolio graph, and it discloses the cost model ($0.01/call, included in Understanding and Influence) — useful for a metered read tool with 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?

Purpose is front-loaded and the sentences are dense but mostly load-bearing. The pricing/plan sentence is long but defensible for a metered tool; the 'UNDERSTANDING —' prefix is slightly cryptic but short.

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

Completeness5/5

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

With no output schema, the description supplies the return shape (rated, network-matched portfolio graph) that the schema cannot. Combined with sort/paging defaults and the pricing/plan terms, an agent has what it needs to call this correctly.

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

Parameters3/5

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

Schema description coverage is 100% and every parameter is documented in the schema, so the baseline is 3. The description restates the sort values (already enumerated in the schema) and adds no format guidance for q or tags beyond what the schema provides.

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

Purpose4/5

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

States a specific verb+resource (find venture-capital firms) and the three filter dimensions (name, thesis tags, category), which is enough to distinguish it from generic finders like find_providers. It does not name the adjacent siblings get_vc, vc_portfolio, or find_investors, so the agent must infer the boundary itself.

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 defaults and sort options hint at typical usage, and the plan/pricing line implicitly signals when the tool is available (Understanding plan). There is no explicit when-to-use/when-not framing and no pointer to get_vc or vc_portfolio for drilling into a single firm's portfolio, which is the most likely adjacent need.

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

gap_analysisA
Read-only
Inspect

UNDERSTANDING — For each provider: high-value artifacts it lacks (MCP, Arazzo, Rules, Skills…), what its peers commonly publish but it lacks, and its score vs the peer median — plus stack-level gaps across the set. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
min_shareNoPeer-share threshold for a gap (0–1, default 0.25).
providersYesProvider slugs (1+). Multiple = treat as a stack.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuinely useful non-obvious context: it sketches the return shape (lacks, peer-common artifacts, score vs median, stack-level gaps) and discloses the pricing tier (B2, cross-catalog synthesis, $0.05/call, included in Understanding/Influence) with a pointer to apis://prices.

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?

Content is front-loaded (output semantics first, pricing last) and dense but purposeful. The pricing/packaging sentence is long but earns its place by disclosing cost behavior an agent should know before calling.

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 usefully conveys the return structure and pricing, which is what an agent most needs for this read-only synthesis tool. The main gap is routing guidance relative to the other gap-analysis siblings.

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 baseline is 3. The description's 'Multiple = treat as a stack' mirrors the schema's own note on the providers array and adds no new meaning for any parameter.

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

Purpose4/5

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

The description names a specific analysis (per-provider gaps in high-value artifacts, peer-relative shortfalls, score vs peer median) plus stack-level rollup, so the verb+resource is clear. It does not, however, differentiate itself from close siblings such as industry_gap_analysis, company_gaps, or report_gap, leaving the agent to infer which scope applies.

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

Usage Guidelines2/5

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

There is no explicit statement of when to use this tool versus the several similarly named gap siblings. The description describes what comes back but offers no conditions, prerequisites, or alternative routing guidance.

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

generate_artifactAInspect

INFLUENCE — REQUEST an artifact you are being marked down for not having: apis-json, agent-card, mcp (one tool per operation you already publish), arazzo, rules (a Spectral ruleset scoped to your own failing checks), scopes and security (read out of your own OpenAPI), api-onboarding (an AOD 0.1 onboarding descriptor drafted from your listing, gaps named). Returns 202 — a person generates it against your live surface, checks it, and sends it to you. Nothing is published on your behalf either way: your score moves when YOU commit the file. Omit artifact to list what can be made. Priced B4 (human work) — included in Influence; otherwise $49.00 as a one-off with its own receipt, never from a prepaid balance. If this is your own company and our data about it is wrong, report_correction is free. See apis://prices.

NameRequiredDescriptionDefault
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
artifactNoWhich artifact to request: apis-json, agent-card, mcp, arazzo, rules, scopes, security or api-onboarding. Omit to request the full set.

TDQS

A3.5/5.0
Behavior5/5

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

Beyond the annotations, it discloses the async contract (returns 202), that a human generates and QA's the artifact against the live surface, that nothing is published on the caller's behalf, and that the score only moves on commit. It also states the pricing model (included in Influence, else $49 one-off with its own receipt, never from prepaid balance), which is exactly the sort of behavioral context annotations cannot carry.

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?

Information-dense but written as a run-on of em-dash fragments with a marketing lead-in ("you are being marked down for not having") that does not help the agent. Pricing and the apis://prices pointer are relevant but placed late, so the critical call mechanics are not front-loaded.

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

Completeness3/5

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

For a 3-parameter, no-output-schema tool it covers the async flow, cost, and publication policy well. It leaves unclear what the 202 response body contains, how/when the finished artifact is delivered, and its omit-artifact instruction contradicts the schema, leaving the agent with an unresolved ambiguity.

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 100%, so the baseline would be 3, but the description actively conflicts with the schema on the key enum parameter: it says "Omit `artifact` to list what can be made," while the schema says omitting it requests the full set. That contradiction can cause a wrong invocation and outweighs the redundant enumeration of artifact values.

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+resource is explicit ("REQUEST an artifact") and the enumerated artifact types with the 202/human-generated flow make the operation understandable. However, the leading "INFLUENCE — ... you are being marked down for not having" framing buries the actual purpose and the description never distinguishes this from siblings like find_artifacts, get_api_artifacts, or submit_artifact.

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 offers one useful routing hint — "if this is your own company and our data about it is wrong, report_correction is free" — and explains the omit-artifact path. But it gives no guidance on when to request an artifact versus looking one up with find_artifacts or submitting one with submit_artifact, so the agent must infer the choice.

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

get_agent_readinessA
Read-only
Inspect

EXPLORE — the agent-readiness dimensions and standalone score for ONE provider (spec presence, MCP server, auth clarity, idempotency, error semantics, rate-limit signal, well-known catalog, consent identity, dry-run…). A STANDALONE score, not a slice of the composite. For the same question across the catalog — who is agent-ready, which dimensions have actually diffused — use find_agent_readiness (Influence). Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real context beyond that: an explicit price/plan model (B1, $0.01, included in Understanding/Influence) and the fact that the returned score is standalone, not a composite slice. It does not describe response shape, but no output schema exists, so this is a meaningful supplement.

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?

Front-loads the EXPLORE scope and the sibling contrast, then pricing last, which is a sensible order. It is dense with lists and price detail but every element carries routing or cost information; nothing is 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 naming the dimensions returned and clarifying the score's standalone nature, plus routing and cost. Close to complete for a single-entity lookup; only the exact response shape is unspecified.

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 schema already documents both the slug and context parameters, including the 'lowercase, hyphenated' format. The description adds no parameter syntax or semantics beyond that baseline, so 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?

States a specific verb and resource (agent-readiness dimensions and standalone score for ONE provider) and even enumerates the dimensions covered. It explicitly distinguishes itself from find_agent_readiness, so an agent can pick correctly without opening a schema.

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

Usage Guidelines5/5

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

Names the alternative (find_agent_readiness) and the exact condition that selects it (catalog-wide 'who is agent-ready' questions). The single-provider scope is clear, leaving nothing to inference.

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

get_apiA
Read-only
Inspect

Full detail for one API by aid (provider:api-slug); set include=["content"] to inline artifact bodies. Results carry next: the sub-resources that exist for this entity and the exact tool call that retrieves each, computed from this record. Pass include_next=false to omit it.

NameRequiredDescriptionDefault
aidYesAPI id in the form provider:api-slug, as find_apis returns it, e.g. "stripe:stripe-api".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
include_nextNoSet false to omit the `next` affordance block.
artifact_typesNoOnly return artifacts of these types, e.g. ["OpenAPI"].

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real behavioral value beyond that: the `next` block is computed from this record, it enumerates existing sub-resources with their exact tool calls, and include_next=false suppresses it. It does not describe pagination or the record's field shape.

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

Conciseness4/5

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

Three dense but purposeful sentences: the core purpose leads, then the include affordance, then the `next` return behavior. No filler sentences, though the dense backtick-heavy phrasing is slightly taxing 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?

Read-only with no output schema, so the description must carry return-value context. It explains the `next` affordance well, which is the least discoverable part of the response, but says nothing about the primary API record's fields or overall result shape that an agent will actually consume.

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 all five parameters are already documented in the schema. The description largely restates the include and include_next semantics rather than adding syntax or format detail beyond them. Baseline 3 applies when the schema carries the burden.

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

Purpose4/5

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

The description names a specific verb and resource with scope ("Full detail for one API by aid") and pins the identifier format to its producer ("as find_apis returns it"). It does not explicitly differentiate itself from close siblings like get_openapi or get_api_artifacts, but the include/next mechanics make the relationship inferable.

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: call this once you have an aid from find_apis to get full detail. There is no explicit when-to-use-vs-alternative guidance, nor any statement of when not to use it (e.g. bulk fetches). The mention that `next` routes to sub-resource tools is helpful routing context but not exclusion guidance.

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

get_api_artifactsA
Read-only
Inspect

One API's artifacts grouped by type (by_type_counts is the full summary); pass type to scope the list to one type (synonym-aware: MCP matches MCPServer), include=["content"] to inline the bodies.

NameRequiredDescriptionDefault
aidYesAPI id in the form provider:api-slug, as find_apis returns it, e.g. "stripe:stripe-api".
typeNoReturn only artifacts of this type.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint=true, openWorldHint=false), but the description adds real behavioral context: synonym-aware type matching (MCP matches MCPServer) and the relationship between the returned list and the by_type_counts summary. It omits pagination or result-limit behavior, keeping it short of a 5.

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

Conciseness4/5

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

A single dense sentence that front-loads the core purpose before the two parenthetical refinements. Slightly overloaded with nested parentheses, but every clause carries information an agent needs.

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

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 does partial duty on returns by describing the grouped-by-type shape, the counts summary, and URL-vs-body content. It leaves pagination and per-artifact fields unexplained, which is the main residual gap for a 4-parameter read 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?

Schema coverage is 100%, so the baseline is 3, but the description genuinely adds meaning beyond the schema: `type` is synonym-aware (MCP matches MCPServer) and the by_type_counts reference clarifies the relationship between scoped and unscoped calls. The `include` behavior largely restates 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 states a specific verb and resource with scope: 'One API's artifacts grouped by type,' which tells an agent this is API-scoped rather than provider-scoped. It does not explicitly name the sibling it is not (get_provider_artifacts or find_artifacts), so it stops short of full sibling differentiation.

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

Usage Guidelines3/5

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

It gives call-shaping guidance (pass `type` to scope, include=["content"] to inline bodies) but never says when to choose this over get_provider_artifacts or find_artifacts, nor any prerequisite or exclusion. Usage is implied by the API-scoped framing rather than stated.

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

get_application_blueprintA
Read-only
Inspect

The blueprint for one application category (for example crm-sales): which catalog providers its leading apps integrate with, by stack layer and capability, each row graded declared, observed or inferred, with its sources and MCP status. Use shared-layer as the category for the providers most categories share. Understanding. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
layerNoKeep one stack layer.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
categoryYesCategory id, or shared-layer.
min_tierNoWeakest evidence tier to keep.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover readOnlyHint=true and openWorldHint=false, so safety is handled. The description still adds genuine value with the pricing model (B1, $0.01/call, included in Understanding and Influence) and a pointer to apis://prices, which the agent cannot learn from structured fields.

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

Conciseness4/5

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

The purpose is front-loaded and most sentences carry real information. However, the 'Understanding.' fragment is an awkward orphan sentence, and pricing/commercial framing sits in the middle of the functional description where it interrupts flow; a trimming pass would help.

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 takes on the burden of describing the return shape — rows of providers per layer/capability with evidence gradings, sources, and MCP status. That is sufficient to call it correctly, though nothing is said about result size or whether the full blueprint is always returned.

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

Parameters4/5

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

Schema coverage is 100%, so the schema baseline is 3. The description goes further by explaining what the evidence tiers actually mean (rows 'graded declared, observed or inferred, with its sources'), which gives meaning to the min_tier enum, and it clarifies the category parameter with a worked example (crm-sales) and the shared-layer special value.

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

Purpose5/5

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

The description names a specific resource and then defines precisely what it contains: catalog providers that a category's leading apps integrate with, grouped by stack layer and capability, each row graded declared/observed/inferred with sources and MCP status. This level of specificity makes it unmistakable against siblings like get_provider_apis or recommend_stack.

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 offers one concrete routing hint — 'Use shared-layer as the category for the providers most categories share' — but that is parameter guidance rather than tool-selection guidance. There is no statement of when to prefer this over alternatives such as get_capability_edges, gap_analysis, or recommend_stack, so the agent must infer the fit.

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

get_areaA
Read-only
Inspect

One area: metadata, its dedicated site link, and a top sample of member providers (with the total). Use find_providers?area=slug for the full list, or view=full here. Results carry next: the sub-resources that exist for this entity and the exact tool call that retrieves each, computed from this record. Pass include_next=false to omit it.

NameRequiredDescriptionDefault
slugYesArea slug, as find_areas returns it, e.g. "security".
viewNosummary (default, lean) or full.summary
limitNoTop members to show.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
include_nextNoSet false to omit the `next` affordance block.

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, covering the safety profile. The description adds substantive behavior: results carry a computed `next` block mapping sub-resources to the exact tool call that retrieves each, and how to omit it. It stops short of describing pagination or error behavior, but the affordance disclosure is genuinely useful 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.

Conciseness4/5

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

Front-loads the return payload, then routing guidance, then the next-block mechanics. Four sentences all carrying information, though the final sentence about include_next is slightly fragmented in flow.

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?

No output schema exists, yet the description fully accounts for the return shape (metadata, link, sampled providers, total, next affordance) and for routing to siblings. Given the readOnly/openWorld annotations, an agent has everything needed to call it correctly.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3. The description goes beyond the schema by explaining what the `next` block contains (sub-resources plus the tool call to fetch each, computed from this record), which gives include_next meaning the terse schema text ('omit the affordance block') 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?

States a specific verb+resource ('One area') and enumerates the payload: metadata, site link, top sample of member providers plus total. It is clearly distinguishable from siblings find_areas (listing) and find_providers (full provider list), which it names explicitly.

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

Usage Guidelines5/5

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

Gives an explicit alternative and the condition that selects it: 'Use find_providers?area=slug for the full list, or view=full here.' It also states when to suppress the next block via include_next=false. An agent does not have to infer routing.

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

get_area_leadersC
Read-only
Inspect

UNDERSTANDING — Top-rated providers in a curated API Evangelist area. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesArea slug, as find_areas returns it, e.g. "security".
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful non-schema behavior: the B1 pricing class, the $0.01 per-call cost, and which subscription tiers include it. It omits pagination and result-shape behavior, so it adds some but not rich context.

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

Conciseness2/5

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

The description leads with a packaging/marketing label ('UNDERSTANDING —') and spends more words on pricing tiers and price-page pointers than on what the tool does. The purpose sentence, which should be front-loaded, arrives second and is shortchanged.

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 3-parameter read tool with no output schema, the description covers cost and access tier but never explains what a 'leader' result contains or how pagination behaves with limit. The most expensive-to-guess behavior for an agent remains unaddressed.

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 schema already documents slug, limit (range and default), and context; baseline 3 applies. The description contributes nothing beyond the schema about parameters, and notably does not reinforce that slug comes from find_areas even though the schema says so.

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

Purpose3/5

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

The sentence 'Top-rated providers in a curated API Evangelist area' does state a resource and scope, so the core purpose is derivable. However, it is buried behind the 'UNDERSTANDING —' pricing label, and it gives no differentiation from the close siblings get_country_leaders, get_industry_leaders, and get_region_leaders, which are structurally identical.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no routing to alternatives. The pricing/packaging note tells the agent what it costs but not when this tool is the right choice over the sibling leader tools.

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

get_capabilityA
Read-only
Inspect

One business capability: its definition, its sub-capabilities, the external authorities it cites, WHICH catalog providers reach it with their ratings, and what it COSTS — economics carries how many suppliers publish a price and how opaque the market is (free), and for Understanding the entry-cost (USD/month) and marginal-cost (USD per unit, by unit) quartiles, take rate, pricing-basis mix, delivery mix and open-source alternatives, every figure graded A–D by how it was read. Accepts a slug or a BC id (e.g. "payments-card-management" or "BC-1340"). The per-tag edges WITH their evidence are get_capability_edges (Understanding). Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.

NameRequiredDescriptionDefault
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
capabilityYesSlug or BC id.

TDQS

A3.7/5.0
Behavior4/5

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

With annotations covering the read-only/safety profile (readOnlyHint=true), the description adds real value by disclosing the pricing model: $0.005 per request plus $0.0002 per record, capped at $0.50, with a free `economics` block and a dedicated estimate endpoint. This is meaningful behavioral context beyond the annotations. It does not, however, describe failure modes or auth requirements in detail.

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 first sentence is extremely long with multiple parentheticals and uppercase emphasis, making it hard to parse. The essential purpose is front-loaded, but the pricing and estimate details could be trimmed or relocated. It is information-dense rather than appropriately sized.

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 describing return contents, and it does so thoroughly (definition, sub-capabilities, authorities, providers, cost/economics breakdown). Pricing and estimation paths are also covered. Minor gap: it does not fully describe the meaning of the `context` parameter or edge-case behaviors.

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

Parameters4/5

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

Schema coverage is 100%, so the schema documents both parameters and the baseline would be 3. The description adds value by giving concrete input-format examples for `capability` ('payments-card-management' or 'BC-1340'), clarifying the slug-vs-id ambiguity the schema leaves open. The optional `context` parameter's intent is only covered in the schema, not the description.

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

Purpose4/5

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

The description states a specific resource and enumerates exactly what comes back: definition, sub-capabilities, external authorities, catalog providers with ratings, and cost. It explicitly distinguishes itself from the sibling get_capability_edges, which covers the per-tag edges. The core purpose is clear, though the dense run-on sentence somewhat obscures the simple 'retrieve one capability' 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?

It names the alternative (get_capability_edges for per-tag edges with evidence) and notes inclusion in the Understanding and Influence tiers, implying when access is available. However, there is no explicit statement of when to prefer this over find_capabilities or get_provider_capabilities, and no stated prerequisites for calling it.

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

get_capability_edgesA
Read-only
Inspect

UNDERSTANDING — the evidence behind a capability. Every edge that lands on it: the provider, the tag, the exact OpenAPI file, a calibrated confidence, and the QUOTED FRAGMENT OF THE PROVIDER'S OWN CONTRACT that justifies the claim. Only edges at confidence >= 0.7 whose evidence was found verbatim in the source contract are published, so an edge here is checkable rather than asserted. This is what you cite when someone asks "says who?". Understanding plan. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
capabilityYesSlug or BC id.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=false), and the description adds meaningful behavior beyond that: only edges at confidence >= 0.7 with verbatim source evidence are published, so results are filtered and checkable. It also discloses the billing plan and per-call price, though it does not cover pagination or result limits.

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

Conciseness4/5

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

The core purpose is front-loaded and the filter semantics follow logically. The ALL-CAPS emphasis and the inline pricing block duplicate the apis://prices pointer, adding mild noise, but the overall structure remains readable and mostly earns its space.

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 carries the return-value burden and does so by enumerating the edge fields (provider, tag, OpenAPI file, confidence, quoted fragment). It covers filtering and pricing; only pagination/volume behavior is unaddressed, a minor gap for a simple read tool.

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

Parameters3/5

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

Schema coverage is 100%, so the two parameters (capability slug/BC id, and the optional 'context' rationale) are already documented in the schema. The description adds no parameter-level syntax or format guidance, so the 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?

States a specific verb and resource ('get capability edges') and defines what an edge is in concrete terms: provider, tag, OpenAPI file, calibrated confidence, and a quoted contract fragment. It clearly distinguishes this evidence-layer tool from a plain capability lookup, though it never names the sibling tools (get_capability, get_provider_evidence) it should be preferred over.

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

Usage Guidelines3/5

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

Provides an implied use case — 'this is what you cite when someone asks "says who?"' — which gives an agent a sense of when to reach for it. It stops short of explicit when-to-use/when-not or naming an alternative, so the routing decision is left partly to inference.

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

get_cohortB
Read-only
Inspect

One cohort: its identity, its population, and the full member roster with each provider's Kin Score and agent readiness. Understanding plan. The analysis parts (stats/rankings/scores/capabilities) are Understanding too — they moved down from Influence on 2026-09-01. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.

NameRequiredDescriptionDefault
kindYesCohort kind: tag, industry, region, area or vc — says what `slug` names.
slugYesSlug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. "payments" with kind "tag".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description then adds real value beyond that: a per-result pricing model ($0.005/request + $0.0002/record, tiered past 100, $0.50 cap), plan eligibility (Understanding/Influence), a migration note (analysis parts moved 2026-09-01), and a pre-call estimate endpoint. Cost and plan gating are behavioral facts an agent should know before invoking.

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

Conciseness3/5

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

The purpose is correctly front-loaded in one strong sentence. However, the remaining bulk is billing logistics, including a dated migration note (2026-09-01) that is unaffected by the agent's call decision and reads like changelog spillover into a tool description. Useful but not tightly trimmed.

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 carries the return burden and does so reasonably: identity, population, full member roster, Kin Score, agent readiness. Combined with cost modeling it gives an agent enough to decide and budget. It omits pagination/result-size behavior, which is the main residual gap for a roster-returning 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%, and the enum for `kind` plus the relationship between `kind` and `slug` are fully documented in the schema. The description adds no parameter-level meaning (it never mentions kind, slug, or context), so this sits at the baseline for a fully-documented 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 opening sentence names a specific resource (one cohort) and enumerates its contents — identity, population, and member roster with Kin Score and agent readiness. It also implicitly carves out the analysis siblings (stats/rankings/scores/capabilities) as separate tools, though it never names the sibling tools themselves, so differentiation is suggestive rather than explicit.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus get_tag, get_industry, compare_cohorts, or the cohort_* analysis tools. The only actionable instruction is 'Estimate first at /api/v1/prices/estimate', which is a cost-workflow tip, not selection guidance. An agent must infer the use case from the return contents alone.

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

get_company_insightA
Read-only
Inspect

UNDERSTANDING — Full demand-side profile for one company: 40-dimension readiness scores, adopted stack, and per-quarter history. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesCompany (provider) slug, as find_company_insights returns it, e.g. "stripe".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real value beyond that: the exact shape of what is returned (readiness scores, adopted stack, per-quarter history) and the cost model with a pointer to apis://prices. It stops short of anything about slug-not-found behavior, data freshness, or latency.

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

Conciseness4/5

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

Two sentences, front-loaded with the category label and the payload summary before the pricing detail, so an agent can triage in one pass. The cost sentence is a bit dense but earns its place by informing tool-selection economics; nothing is padded.

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-company read tool with no output schema, the description must describe the return, and it does so concretely. Combined with readOnly/openWorld annotations and fully documented params, an agent has enough to call it correctly; the only real hole is the absence of explicit guidance on choosing this over find_company_insights or get_provider.

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 both parameters are already fully documented, including the cross-reference that 'slug' is the value find_company_insights returns. The description text adds no further parameter semantics, which is the expected baseline-3 outcome when the schema does the heavy lifting.

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

Purpose4/5

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

States a specific verb and resource ('Full demand-side profile for one company') and enumerates the payload: 40-dimension readiness scores, adopted stack, per-quarter history. That is far more concrete than a name restatement, though it never names the sibling it is not (find_company_insights for search, get_provider for the supply side), so the 5-criterion of explicit sibling differentiation is not met.

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

Usage Guidelines3/5

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

Usage is only implied through the 'UNDERSTANDING' category tag and the schema note that slugs come from find_company_insights. The pricing sentence ('Priced B2 ... $0.05 per call ... included in Understanding and Influence. See apis://prices.') is genuinely decision-relevant for an agent weighing cost, but there is no explicit when-to-use versus when-not or named alternative.

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

get_countryA
Read-only
Inspect

One country: metadata, counts, and a top sample of member providers (with the total). Use find_providers?country=slug for the full ranked list, or view=full here.

NameRequiredDescriptionDefault
slugYesCountry slug, as find_countries returns it, e.g. "united-kingdom".
viewNosummary (default, lean) or full.summary
limitNoTop members to show.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
include_nextNoSet false to omit the `next` affordance block.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description adds useful behavioral detail about what the agent gets back (a top sample plus the total) and the existence of a 'next' affordance block in later sentences of the schema. It does not restate or 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?

Two tightly packed sentences with the payload description front-loaded and the routing advice second. No filler, and the most decision-relevant information (alternative tool and view switch) is visible immediately.

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 read-only entity lookup with a 100%-documented schema and no output schema, the description tells the agent what entity it returns, what the member payload is (a sample with a total), and where to go for the full list. Nothing needed to call it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so slug, view, limit, context, and include_next are all documented in the schema. The description only echoes view=full and the sample/total notion, adding little meaning beyond the structured fields; 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?

States a specific verb and resource ('One country: metadata, counts, and a top sample of member providers') and even scopes the payload shape (sample + total). It differentiates from find_providers by contrast, though it does not address overlap with get_country_leaders or find_countries as a discovery path.

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?

Explicitly routes the agent: 'Use find_providers?country=slug for the full ranked list, or view=full here' gives a named alternative plus the parameter-switch condition. It lacks an explicit exclusion (e.g., when not to use this in favor of get_country_leaders), so it is clear context rather than full when/when-not coverage.

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

get_country_leadersA
Read-only
Inspect

UNDERSTANDING — Top-rated providers in one country. Membership is derived and partial, so read the ranking as "the best of what we have placed there", not a national league table. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesCountry slug, as find_countries returns it, e.g. "united-kingdom".
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, but the description adds a genuinely useful data-quality disclosure: membership is derived and partial, so the ranking is not a national league table. It also discloses the pricing tier (B1, $0.01/call, included in Understanding/Influence), which is real 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.

Conciseness4/5

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

Front-loads the tier label and the core purpose, then the caveat, then pricing. Three compact sentences; the pricing clause is slightly heavy but points to apis://prices rather than enumerating detail.

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, no-output-schema ranking tool, the description covers what it returns, how partial the data is, and the cost basis. It does not describe pagination or return shape, but the limit param plus the ranking caveat leave little an agent needs to call it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so slug, limit bounds and the optional context field are fully documented in the schema itself. The description adds nothing about parameter syntax or usage, so the baseline 3 applies.

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

Purpose4/5

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

States a specific resource and scope: "Top-rated providers in one country," which tells the agent exactly what entity it returns. It does not explicitly differentiate from the near-identical siblings get_region_leaders, get_area_leaders and get_industry_leaders, so the agent must infer the geographic granularity from the name.

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

Usage Guidelines3/5

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

There is no explicit when-to-use or when-not, and no alternative is named (e.g. get_country for the country record itself vs this for its leaders). The membership caveat implies how to read results but not when to reach for this tool over siblings.

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

get_estateA
Read-only
Inspect

UNDERSTANDING — One estate: the owning provider, the full member roster with per-member API counts and bands, and the estate-wide rating. Use get_provider_estate(slug) to go the other way, from a provider to the company that owns it. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesEstate slug — the owning company the estate is rooted at, as find_estates returns it, e.g. "cisco".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
include_nextNoSet false to omit the `next` affordance block.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful context beyond the annotations: the billing tier (B1, $0.01 per call), plan inclusion (Understanding and Influence), and a pointer to apis://prices. It does not discuss result size, pagination, or partial-result behavior, which keeps it out of the top band.

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

Conciseness4/5

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

Three dense sentences: the output definition is front-loaded, the sibling routing follows, and pricing comes last. Every sentence carries distinct information, though the em-dash enumeration in the opening sentence is slightly heavy for the amount of structure it conveys.

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 must carry the return shape, and it does: owning provider, member roster with counts and bands, estate-wide rating. For a simple single-entity read tool this is sufficient, with only minor gaps around response size or pagination behavior.

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 slug, context, and include_next are all already documented in the schema with the 'cisco' example and the read-only nature of context. The description adds no parameter-level detail beyond that, so the baseline of 3 is correct.

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

Purpose5/5

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

The description names a specific verb+resource ('get one estate') and then defines exactly what an estate is: the owning provider, the full member roster with per-member API counts and bands, and the estate-wide rating. It also explicitly contrasts itself with the sibling get_provider_estate, so an agent can distinguish the two without opening either schema.

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

Usage Guidelines4/5

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

It names the alternative (get_provider_estate(slug)) and the direction that selects it ('go the other way, from a provider to the company that owns it'), which is unusually precise routing. It stops short of an explicit when-not-to-use condition or a stated trigger for choosing get_estate, so it is strong but not complete.

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

get_extensionA
Read-only
Inspect

One OpenAPI specification extension: its publishers, occurrence and document counts, where it appears, and the value shapes observed. CHECK is_api_evangelist BEFORE treating a key as provider-originated — some of these are published by API Evangelist, not by a vendor.

NameRequiredDescriptionDefault
slugYesExtension key as find_extensions returns it, e.g. "x-nullable".
viewNosummary (default, lean) or full.summary
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
include_nextNoSet false to omit the `next` affordance block.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful content-shape context (what fields come back) and a provenance warning about API Evangelist publishing keys, but says nothing about pagination, the `next` affordance semantics, or result limits.

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

Conciseness4/5

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

Two front-loaded sentences; the first delivers the payload contents and the second delivers the one non-obvious caveat. No filler, though the provenance warning is tangential to the tool's invocation and could be tighter.

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 present, the description carries the burden of describing return content and does so field-by-field. For a read-only single-record lookup with fully documented parameters, this is nearly sufficient; minor gaps remain around the `next` block and result sizing.

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%: slug format/example, view enum, context semantics, and include_next are all documented in the schema itself. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.

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

Purpose4/5

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

The description states a specific verb/resource combination (fetch one OpenAPI specification extension) and enumerates the payload fields — publishers, occurrence and document counts, appearance locations, value shapes — so an agent knows exactly what it returns. It implicitly routes from the sibling find_extensions by noting the slug format, but never states the detail-vs-list distinction explicitly.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: the slug is 'as find_extensions returns it', which hints this is the follow-up detail call. The 'CHECK is_api_evangelist BEFORE treating a key as provider-originated' line is a data-interpretation caveat, not tool-selection guidance, and no when-not-to-use condition is given.

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

get_industryA
Read-only
Inspect

One industry: metadata + a top sample of its member providers (ranked, with the total). Use find_providers?industry=slug for the full list, or view=full here. Results carry next: the sub-resources that exist for this entity and the exact tool call that retrieves each, computed from this record. Pass include_next=false to omit it.

NameRequiredDescriptionDefault
slugYesIndustry slug, as find_industries returns it, e.g. "artificial-intelligence".
viewNosummary (default, lean) or full.summary
limitNoTop members to show.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
include_nextNoSet false to omit the `next` affordance block.

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint=false, so safety is covered, but the description adds non-obvious behavior: the `next` block enumerates sub-resources and the 'exact tool call that retrieves each, computed from this record', plus how to suppress it. That is real disclosure beyond structured fields; it stops short of describing pagination or the ranking 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?

Three sentences, heavily front-loaded: identity first, then the routing decision, then the return-shape affordance. No filler or restated title.

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

Completeness5/5

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

With no output schema, the description carries the return burden and does so: metadata, a ranked top sample with the total, and the `next` affordance block. Combined with 100% schema coverage on the five params, an agent has everything needed to call it correctly.

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

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, but the description adds meaning the schema does not: 'view=full' is framed as getting the full list here, and 'context' is characterized as never used to rank and read only on wrong results. It does not, however, give any extra detail on limit/slug 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?

States a specific verb and resource ('One industry: metadata + a top sample of its member providers') with scope detail ('ranked, with the total'), which cleanly separates it from find_industries (which lists them) and find_providers (which returns the full provider list). An agent can pick this over its siblings without opening a schema.

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

Usage Guidelines5/5

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

Explicitly names the alternative route for the full list ('Use find_providers?industry=slug') versus staying here with 'view=full', giving a concrete when-to-use-this-vs-that decision. It also explains the include_next=false escape hatch, leaving nothing to inference.

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

get_industry_leadersC
Read-only
Inspect

UNDERSTANDING — Top-rated providers in an industry vertical. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesIndustry slug, as find_industries returns it, e.g. "artificial-intelligence".
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered structurally. The description usefully adds cost/entitlement context (B1 tier, $0.01 per call, included in Understanding and Influence) and a prices reference, which an agent cannot get from annotations, but it says nothing about pagination behavior or freshness of the ranking.

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 purpose leads, which is good, but the second sentence is dense pricing jargon ('Priced B1 (single-entity synthesis)', plan names, URL) that occupies roughly half the description and competes with the functional text. Some of it earns its place as cost disclosure, but it is over-packed.

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 carry more of the return-shape burden: it never says whether results are ranked, what fields come back, or how pagination via limit works. Annotations cover the read-only safety profile and params are fully documented, so a 3 is fair but not generous.

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 all three parameters are documented in the schema, including the slug example, limit range, and the 'context' parameter's purpose. The description adds nothing beyond that, so the baseline 3 applies.

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

Purpose3/5

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

The fragment 'Top-rated providers in an industry vertical' identifies the resource and implies a ranked list, but the verb is only implicit and the description never distinguishes this from close siblings like get_area_leaders, get_country_leaders, get_region_leaders, or find_industries. Half the text is a pricing label rather than a 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 Guidelines2/5

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

There is no when-to-use guidance at all: nothing tells the agent to call find_industries first for a slug, or why one would choose this over get_industry. The pricing and 'See apis://prices' note is cost information, not usage guidance.

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

get_listB
Read-only
Inspect

UNDERSTANDING — Get a list you own, with each member resolved to its current name, band, and score. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
idYesList id, as create_list returns it or list_lists lists it.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=false). The description adds two genuinely useful facts beyond structured data: the priced tier with cost ($0.01/call) and that members are resolved to live values. It does not contradict the annotations, but operationally it stays shallow.

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

Conciseness4/5

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

Three short sentences with the purpose front-loaded and no wasted prose. The pricing sentence is slightly tangential but genuinely informative and 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?

With no output schema, the description usefully previews what is returned (resolved name, band, score), annotations handle safety, and the schema handles parameters. Coverage is close to complete, lacking only usage routing.

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 both parameters (id, context) are already documented in the schema. The description adds no additional syntax or format meaning for them, making the baseline 3 appropriate.

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

Purpose4/5

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

States a specific verb and resource ('Get a list') plus ownership scope ('you own') and even the resolved return content (each member's current name, band, score). This is clearly distinguishable from list_lists, though the description never names the sibling explicitly.

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

Usage Guidelines2/5

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

The 'you own' qualifier implies the retrieval context but there is no explicit when-to-use, when-not-to-use, or pointer to the alternative sibling (list_lists, create_list). The agent must infer that this fetches a single list rather than enumerating lists.

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

get_openapiA
Read-only
Inspect

An API's primary OpenAPI reference (url) — the top agent intent; set include=["content"] to inline the spec body.

NameRequiredDescriptionDefault
aidYesAPI id in the form provider:api-slug, as find_apis returns it, e.g. "stripe:stripe-api".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful behavioral detail beyond that: the default return is only the URL, and passing include=["content"] changes the payload to inline the spec body, which tells the agent how to control response size.

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

Conciseness4/5

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

A single front-loaded sentence that leads with what is returned and then the opt-in for the full body. It is dense but every clause carries information; only 'the top agent intent' is 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 does the work of explaining the two possible return shapes (URL vs inlined content), which is the key thing an agent needs. It stops short of covering failure modes (e.g., an API with no OpenAPI reference), leaving 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?

Schema description coverage is 100%, so all three parameters (aid, context, include) are already documented in the schema, including the enum value 'content'. The description reinforces the include behavior but adds no syntax or format detail beyond the schema; baseline 3 applies.

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

Purpose4/5

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

States the specific resource (an API's primary OpenAPI reference) and its default output (url), which distinguishes it from search-oriented siblings like find_openapis. The phrase 'the top agent intent' is more positioning than purpose, and the verb 'get' is implicit rather than stated.

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

Usage Guidelines3/5

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

'The top agent intent' weakly implies this is the preferred first retrieval call, but no explicit when/when-not guidance or named alternatives (find_openapis, get_api_artifacts, get_provider_schema) are given. Usage must be inferred from the surrounding tool family.

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

get_playground_apisA
Read-only
Inspect

Curated APIs that are SAFE TO EXPERIMENT WITH — no key (or an instant, free, self-serve key), no cost, and no real-world side effects. Free, and deliberately so: this is where you start if you are new here. Every entry carries an example_request URL that returned HTTP 200 to an unauthenticated GET on the date shown, so it can be called immediately with no setup. Use this when you are new to this catalog, learning what an API call feels like, testing a tool-use loop, or need a harmless endpoint to demonstrate something. Defaults to the starter set; pass grouping="deep-archive" for institutional/OAI-PMH repositories.

NameRequiredDescriptionDefault
tagNoFilter by subject tag, e.g. weather, books, energy.
limitNoResults per page, 1-100 (default 25).
accessNono-key = callable right now; instant-key = free self-serve key.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
groupingNostarter (default) is the good-first-experience set.

TDQS

A4.2/5.0
Behavior5/5

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

Beyond the readOnlyHint/openWorldHint annotations, the description adds real behavioral context: entries are free with no real-world side effects, each carries an example_request URL that returned HTTP 200 to an unauthenticated GET on the date shown, and the tool defaults to the starter set. The freshness caveat ('on the date shown') and the immediate-callability guarantee are exactly the kind of traits an agent needs and cannot get from structured fields.

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

Conciseness4/5

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

The safety guarantee and the 'start here' routing are front-loaded in the first two sentences, and the final sentence covers the grouping default. It is slightly long and dash-heavy, but every sentence carries distinct information about safety, freshness, or defaults, so there is little 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?

With no output schema, the description usefully hints at the return shape by naming the example_request field present on every entry. It does not cover pagination or the page-size cap, which is a minor gap for a read-only list tool with fully documented parameters.

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 adds value on top by explaining the grouping default (starter) and that deep-archive holds institutional/OAI-PMH repositories, and by framing the access distinction (no-key vs instant free self-serve key) that the enum encodes. That is meaningful semantic enrichment rather than repetition.

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

Purpose4/5

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

The description states a specific resource with a distinguishing scope: curated APIs that are safe to experiment with (no key, no cost, no side effects). An agent immediately understands this is the beginner/sandbox catalog rather than the general API search. It stops short of naming a sibling such as find_apis or apis_io_search, so the differentiation from those tools is left implicit.

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

Usage Guidelines4/5

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

Usage is spelled out with concrete triggers: new to the catalog, learning what an API call feels like, testing a tool-use loop, or needing a harmless endpoint to demo. That is clear context. There is no explicit when-not guidance and no named alternative for the non-playground case, so it lands at 4 rather than 5.

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

get_pricesA
Read-only
Inspect

What one call costs on the pay-as-you-go plan, by cost band. FREE — and deliberately so: an agent that learns a price only when it is refused has already been refused by its own wallet. Call this BEFORE budgeting a run of paid tools. Returns the bands (free catalog reads, single-entity synthesis, cross-catalog synthesis, per-row bulk) and every priced resource key. Under an Understanding or Influence subscription these calls are included in the plan; these prices are what per-call access costs. The same map prices x402 payments and the x-price-usd header, so all three agree.

NameRequiredDescriptionDefault
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: the call is free, the price map is the same one used by x402 payments and the x-price-usd header so all three agree, and prices only apply to per-call access. It does not describe a response shape, but the free/consistency guarantees are substantive.

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?

Purpose and the FREE/call-first instruction are front-loaded. The 'already been refused by its own wallet' line is rhetorical flourish rather than operational content, but the rest is dense with useful detail and not padded.

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?

There is no output schema, so the description carries the return-value burden and does so adequately: it lists the cost bands and states that every priced resource key is included. An agent has enough to call this correctly and interpret the result.

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

Parameters3/5

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

Schema coverage is 100% for the single optional 'context' parameter, so the schema already documents it. The description never mentions the parameter or how it is used (read only if a result is wrong), adding nothing beyond what the schema 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?

States a specific verb+resource ('what one call costs ... by cost band') and enumerates exactly what is returned (the bands and every priced resource key). No sibling tool covers pricing, so it is trivially distinguishable from the find_/get_ catalog 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?

Gives an explicit when: 'Call this BEFORE budgeting a run of paid tools,' and clarifies that subscription plans include these calls. It does not name a competing tool or a when-not condition, but the timing guidance is unambiguous.

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

get_providerA
Read-only
Inspect

Full detail for one provider: profile, rating, and the APIs it publishes. The heavy collections and common sections are omitted by default (their counts are still reported) — pass view=full for the whole document, or fields=["common"] for a section. Narrow for cheap reads: fields=["score"] returns just the rating. Relative artifact URLs are resolved to absolute, fetchable ones. Results carry next: the sub-resources that exist for this entity and the exact tool call that retrieves each, computed from this record. Pass include_next=false to omit it.

NameRequiredDescriptionDefault
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
viewNosummary (default, lean) or full.summary
fieldsNoReturn exactly these top-level keys (slug and name always included); overrides view.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
include_nextNoSet false to omit the `next` affordance block.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations cover only readOnly/openWorld; the description discloses the non-obvious behaviors: heavy `collections`/`common` sections omitted by default with counts preserved, relative artifact URLs rewritten to absolute fetchable ones, and a computed `next` block listing sub-resources and their exact tool calls. This is exactly the extra context annotations cannot carry.

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?

Dense but every sentence earns its place and the core purpose leads. It is on the long side, but no sentence is redundant with the schema or annotations.

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?

No output schema exists, and the description compensates by explaining the default-vs-full payload shape, URL rewriting, and the `next` affordance (plus how to suppress it). For a single-entity read tool this is 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?

Schema coverage is 100%, so the baseline is 3, but the description adds real semantics: fields overrides view, the omitted heavy sections still report counts, include_next=false omits the affordance block, and context is never used to rank. That is meaning beyond the schema strings.

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

Purpose5/5

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

States a specific verb and resource ('Full detail for one provider: profile, rating, and the APIs it publishes'), which clearly separates it from siblings like get_provider_rating, get_provider_apis, and find_providers. An agent can pick this without opening the schema.

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

Usage Guidelines4/5

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

Gives concrete selection guidance for the view/fields parameters ('pass view=full for the whole document', 'Narrow for cheap reads: fields=["score"]'). It does not explicitly name which sibling to use when only a rating is wanted, but the cost-oriented narrowing guidance implies the trade-off clearly.

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

get_provider_apisA
Read-only
Inspect

Every API one provider publishes, as a page you can filter — the provider's own catalog rather than the whole network's. Prefer this over find_apis with a providers filter when you already know the company: it is the endpoint the provider page itself is built from, so meta.total is that provider's real API count. Filter by tags (with match), require artifact_types, or pass include=["content"] to inline artifact bodies.

NameRequiredDescriptionDefault
pageNoPage number, 1-based (default 1).
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
fieldsNoOnly these top-level keys, e.g. ["slug","score"].
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["content"] to inline each artifact's body instead of just its URL.
artifact_typesNoOnly APIs carrying these artifact types, e.g. ["OpenAPI"].

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover the safety profile with readOnlyHint=true and openWorldHint=false, so the bar is lower. The description adds useful context: this is the endpoint the provider page itself is built from, `meta.total` is the provider's real API count, and include=["content"] inlines bodies. It does not cover rate limits or auth specifics, but annotations carry the primary burden.

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

Conciseness5/5

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

Front-loaded with the scope of the tool, then routing guidance against find_apis, then filter options. It is dense but every clause earns its place, with no filler or redundant restatement.

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 read-only list tool with complete schema coverage, the description provides the routing context and explains the meaning of `meta.total`. No output schema exists, so no return-value explanation is required, and nothing an agent needs to call it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters are fully documented in the schema. The description references tags/match, artifact_types, and include, but adds no syntax or examples beyond what the schema already provides, so the 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?

States a specific verb and resource ('Every API one provider publishes') and defines scope as the provider's own catalog rather than the whole network. It names the sibling alternative find_apis with a providers filter, so an agent can distinguish it without opening schemas.

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

Usage Guidelines5/5

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

Explicitly says to prefer this over find_apis with a `providers` filter when the company is already known, and explains why. It also gives concrete filtering options (tags with match, artifact_types, include content), leaving no ambiguity about when to select it.

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

get_provider_artifactsA
Read-only
Inspect

Every artifact a provider publishes — provider-level (MCP, security, scopes, rules, agentic-access) and per-API (OpenAPI, Arazzo, overlays, reference docs) — grouped by type with counts. by_type_counts is the full summary; pass type (e.g. OpenAPI, MCP) to scope the artifacts list to one type, since an unfiltered provider can be 250+ entries.

NameRequiredDescriptionDefault
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
typeNoReturn only artifacts of this type (synonym-aware: MCP matches MCPServer).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds non-trivial behavior: results are grouped by type with counts, by_type_counts is the complete summary, and unfiltered result sets can be 250+ entries — useful scale and response-shape disclosure not present in the structured fields.

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

Conciseness5/5

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

Two dense sentences, no filler: the first defines scope and output structure, the second gives the filtering rule and its rationale. Front-loaded and every clause 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?

With no output schema, the description carries the burden of explaining the return shape, and it does (grouped by type with counts, by_type_counts as full summary). Combined with the readOnly annotation and the 100%-covered schema, an agent has everything needed to call this correctly.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3; the description earns above that by explaining the semantics of `type` (scope the artifact list to one type) and the practical consequence of omitting it (250+ entries). It adds operational meaning beyond the schema's terse per-parameter text.

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

Purpose5/5

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

Names the resource precisely ('every artifact a provider publishes') and enumerates the two scopes it covers — provider-level (MCP, security, scopes, rules, agentic-access) and per-API (OpenAPI, Arazzo, overlays, reference docs) — plus the output shape ('grouped by type with counts'). An agent can tell this apart from per-API or single-artifact siblings without opening a schema.

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

Usage Guidelines4/5

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

Explicitly tells the agent when to pass `type` (to scope the list) and why (unfiltered providers can exceed 250 entries), which is real selection guidance. It does not name alternative tools such as find_artifacts or get_api_artifacts, so it stops short of full alternative routing.

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

get_provider_business_capabilitiesA
Read-only
Inspect

UNDERSTANDING — what ONE vendor's published APIs let a business DO, rolled up by capability, with the tag-level evidence under each. Answers "what is this vendor actually for" from its own contracts rather than its marketing. NOT get_provider_capabilities, which is artifact counts and agent-readiness dimensions and is free. Understanding plan. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=false), and the description goes beyond that by disclosing the pricing tier ($0.01 per call, B1 single-entity synthesis), the plan gating, and the synthesis/rollup structure of the output. It does not describe pagination or return shape, keeping it short of a 5.

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

Conciseness4/5

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

The leading 'UNDERSTANDING —' capsule front-loads the resource and scope, and the sibling-differentiation and pricing follow in tight sentences. The pricing/plan/URL footer is slightly dense but all of it is decision-relevant.

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, two-parameter tool with no output schema, the description conveys what is returned (capability rollup plus tag-level evidence) and the cost/plan preconditions. Nothing critical is missing, though the return granularity could be slightly more explicit.

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 both parameters are already documented (slug format and the optional context field). The description adds no syntax or format detail beyond the schema, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb+resource+scope: what ONE vendor's published APIs let a business DO, rolled up by capability with tag-level evidence. It explicitly contrasts itself with the sibling get_provider_capabilities ('artifact counts and agent-readiness dimensions'), so an agent can distinguish the two without opening either schema.

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

Usage Guidelines5/5

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

Names the alternative (get_provider_capabilities) and explains exactly how it differs and that the other is free, which directly tells the agent when to pick this one. It also flags the required plan (Understanding) and pricing model, adding selection-relevant context.

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

get_provider_capabilitiesA
Read-only
Inspect

What one provider publishes, counted by artifact type, with the agent dimensions it satisfies. Free — it is a fact about their own public surface. NOTE: this is artifact counts, NOT business capabilities — for what the vendor lets a business DO, call get_provider_business_capabilities. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover readOnlyHint and openWorldHint, so safety is known. The description adds genuinely new behavioral context: the response shape (counts by artifact type + agent dimensions), the 'free' status, and concrete cost/pricing details ('$0.01 per call', tier inclusions, apis://prices reference). Strong added value; only slight gap is it doesn't mention any pagination or staleness traits.

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?

Front-loaded with the core purpose, then a clarifying contrast, then pricing. Dense with a NOTE and a price reference but every sentence earns its place; the pricing sentence is somewhat heavy for a tool description.

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

Completeness4/5

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

With no output schema, the description compensates by describing the return content (counts by artifact type plus satisfied agent dimensions). Combined with the cost model and sibling routing, an agent has enough to call it correctly; a minor gap remains around response structure specifics.

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 both parameters (slug and optional context) are already fully documented in the schema. The description adds no further parameter semantics beyond what the schema provides, so the 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?

States a specific verb and resource ('what one provider publishes, counted by artifact type, with the agent dimensions it satisfies') and explicitly distinguishes itself from the sibling get_provider_business_capabilities. An agent can select it without ambiguity.

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

Usage Guidelines5/5

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

Explicitly says this is artifact counts, NOT business capabilities, and names the alternative tool and its condition of use. The when-to-use and when-not-to-use are both spelled out.

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

get_provider_estateA
Read-only
Inspect

Which corporate estate a provider belongs to, if any. Answers 200 with estate:null when the provider stands alone — that is a measured absence, not a missing record.

NameRequiredDescriptionDefault
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely non-obvious behavior: a 200 response with estate:null signals a measured absence (provider genuinely stands alone) rather than a missing record, which is real added context beyond the annotations and 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 tight sentences, front-loaded with the core purpose and followed by the one edge case that matters. No filler; the clarifying clause about measured absence earns its place.

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

Completeness3/5

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

There is no output schema, so the description carries the return-value burden. It explains the null case well but says nothing about the shape of a successful non-null response (e.g. estate name, slug, or id), leaving an agent partially uninformed about the positive 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 description coverage is 100%, so both the required slug and the optional context parameter are already fully documented in the schema. The description adds no further parameter meaning, making the baseline 3 appropriate.

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

Purpose4/5

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

States a specific verb and resource: retrieving the corporate estate a given provider belongs to. It is clearly distinct from sibling list/lookup tools like find_estates and get_estate, though it does not name those siblings explicitly to reinforce the boundary.

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

Usage Guidelines3/5

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

Usage is implied — call it when you need a provider's estate membership — but there is no explicit when-to-use/when-not guidance and no indication of how it relates to find_estates or get_estate. It does clarify the meaningful null case, which helps interpretation but not selection.

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

get_provider_evidenceA
Read-only
Inspect

How a provider's score was established, part by part: first-party (they published it), verified (we fetched and confirmed it), or derived (we inferred it). Free — the basis for a claim should never sit behind the claim. Call this before disputing or quoting a score.

NameRequiredDescriptionDefault
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint=true, openWorldHint=false), and the description adds real value beyond them: it is free, and it enumerates the evidence taxonomy it returns. It doesn't mention pagination or rate limits, but for a read-only evidence lookup that is minor.

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?

Front-loaded with the core answer (the three evidence types), followed by cost and the usage trigger. Every sentence serves a purpose, though the aphorism about claims sitting 'behind the claim' is slightly editorial.

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?

No output schema exists, and the description compensates by naming the returned evidence categories and the free/cost angle. Combined with a single well-documented required parameter, an agent has enough to call it correctly.

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

Parameters3/5

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

Schema description coverage is 100% — both 'slug' (format and example) and the optional 'context' (never used to rank) are fully documented in the schema. The description adds nothing further about parameters, so 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?

Specific verb+resource: it retrieves how a provider's score was established, and it defines the three evidence categories (first-party, verified, derived) so the agent knows exactly what comes back. This clearly distinguishes it from siblings like get_provider_rating or get_provider.

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?

Explicit trigger given: 'Call this before disputing or quoting a score.' That tells the agent when to reach for it, though it doesn't name the obvious alternatives (dispute_finding, correct_facts) when a dispute has actually begun.

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

get_provider_facetsA
Read-only
Inspect

UNDERSTANDING — one provider's score broken into its facets (discoverability, contract quality, governance, operational transparency, developer ergonomics, commercial clarity) plus any regulatory regime that applies. The composite is one number; these are the parts a team can actually act on. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover readOnlyHint=true and openWorldHint=false, so the safety profile is known. The description adds genuinely useful non-schema context: it discloses the pricing tier (B1, $0.01/call), plan inclusion, and a pointer to apis://prices — information an agent can use for cost-aware planning.

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?

Front-loaded and mostly efficient: the facet list is placed early where it matters, and the pricing sentence carries real decision value. The 'UNDERSTANDING —' prefix and the redundant 'See apis://prices' add minor noise but don't derail it.

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, no-output-schema tool, the description covers what the agent gets back (six named facets plus applicable regulatory regime) and its cost model. Nothing essential to correct invocation is missing, though it could clarify the relationship to the composite rating 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%, so the schema already documents both slug and context (including the unusual note that context is never used to rank). The description adds nothing beyond that, so the 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 names a specific verb+resource ('one provider's score broken into its facets') and enumerates the exact facet set, so an agent knows precisely what it returns. It also distinguishes itself from composite-score siblings by stating 'The composite is one number; these are the parts a team can actually act on.'

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

Usage Guidelines3/5

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

Usage is implied rather than stated: the phrasing about 'parts a team can actually act on' suggests using this when the single composite isn't actionable, but no sibling (e.g. get_provider_rating) is named as an alternative, nor is any explicit when-not condition given.

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

get_provider_onboardingB
Read-only
Inspect

A getting-started view for a provider — website, portal, signup, docs, authentication, base URLs, and first steps assembled from its registered links.

NameRequiredDescriptionDefault
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety and scope are covered. The phrase 'assembled from its registered links' explains the data provenance, but the description says nothing about behavior when a provider has no registered links, nor about return shape.

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

Conciseness4/5

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

A single front-loaded sentence that defines the view before enumerating its parts. The em-dash list is long but every item is informative, so nothing is wasted.

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

Completeness4/5

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

With no output schema, the enumeration of assembled fields effectively describes what comes back, and annotations cover the read-only profile. Only edge-case behavior (missing links, partial data) is unaddressed.

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 both parameters (slug, context) are already fully documented in the schema, including the find_providers provenance for slug. The description adds no parameter meaning beyond that, so the baseline 3 applies.

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

Purpose4/5

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

States a specific resource (provider onboarding/getting-started view) and enumerates the content it assembles — website, portal, signup, docs, authentication, base URLs, first steps. That is enough for an agent to distinguish it from get_provider or get_provider_apis, though it never names a sibling to sharpen the contrast.

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

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, or alternative guidance appears. The only routing hint ('as find_providers returns it') lives in the schema, not the description. An agent must infer that this is for post-discovery orientation.

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

get_provider_operationsA
Read-only
Inspect

Every operation a provider exposes, across all of its OpenAPIs — method, path, operationId, summary, which API it belongs to, and whether it is deprecated. The shortcut for "what can I actually call here?", which otherwise means fetching and parsing every one of their specs. Where the provider publishes agentic-access, each operation also carries its action class and CONSEQUENCE (read vs something that moves money) — filter on those to find the safe surface before letting an agent loose on it.

NameRequiredDescriptionDefault
qNoSubstring match on summary, path, or operationId.
apiNoRestrict to one API, by aid or api slug.
pageNoPage number, 1-based (default 1).
pathNoSubstring match on the operation path.
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
limitNoResults per page, 1-100 (default 25).
methodNoRestrict to one HTTP method.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
consequenceNoAgentic consequence, e.g. "read". Only matches operations with agentic-access profiled.
action_classNoAgentic action class, e.g. "connected".

TDQS

A4.4/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint=true, openWorldHint=false), so the bar is lower. The description adds genuinely useful behavior: the agentic action-class and consequence fields exist only 'where the provider publishes agentic-access', disclosing a conditional data-availability trait the annotations don't.

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

Conciseness4/5

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

Three sentences, front-loaded with the return-field inventory before the usage framing and the agentic-access caveat. Efficient overall, though the parenthetical 'otherwise means fetching and parsing every one of their specs' is slightly expansive.

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?

No output schema exists, so the description correctly compensates by listing the return fields. With all 10 params documented and annotations covering safety, an agent has everything needed 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.

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 adds value beyond the schema by explaining why the action_class/consequence params matter ('read vs something that moves money' and filtering to the safe surface), giving semantic intent rather than just repeating field 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?

States a specific verb+resource and enumerates exactly what each returned operation contains (method, path, operationId, summary, owning API, deprecation status). The framing as 'the shortcut for what can I actually call here?' separates it from the fetch-and-parse approach and from the generic spec-listing 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?

Gives a clear use context ('what can I actually call here?' and 'find the safe surface before letting an agent loose on it'), which is real when-to-use guidance. It never names an alternative sibling (e.g. find_operations) or states a when-not condition, 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.

get_provider_ratingA
Read-only
Inspect

One provider's full rating breakdown (composite, band, trend, six facets), with the two standalone readings beside it: agent_readiness {score, band} and front_door_ai (Front Door AI Index — 1-6 band, raw count, density, tier split, probe date; score is null when the provider does not own its front-door host). Null means no reading, not a zero. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and openWorldHint=false, so the description is free to spend its words elsewhere — and it does: it discloses the exact payload shape, the null-vs-zero semantics, the specific condition under which front_door_ai.score is null, and the per-call price. The main omission is any mention of rate limits, caching, or auth requirements.

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

Conciseness4/5

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

The core purpose is front-loaded in the first clause, and every subsequent clause (return contents, null semantics, pricing, price-sheet pointer) carries real information. It is dense and long for a single description, but no sentence is outright 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 takes on the return-value burden and does it well by naming every field group the agent will get back, including the nested front_door_ai components and the null condition. What it lacks is the disambiguation an agent needs given the crowded family of rating 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?

Schema coverage is 100%, including a format example for slug that points back to find_providers, so the schema already carries the parameter burden. The description adds nothing about slug or the optional context field, which matches the baseline of 3 when the schema does the work.

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

Purpose4/5

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

The description names a specific resource and scope — one provider's full rating breakdown — and enumerates its components (composite, band, trend, six facets) plus two adjacent readings. It is clear what the tool returns, but it never contrasts itself with close siblings like get_provider_facets, get_rating_history, or find_ratings, which also return rating-related data.

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

Usage Guidelines2/5

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

There is no statement of when to use this versus alternatives, even though the sibling list contains several overlapping rating tools (find_ratings, get_rating_history, get_provider_facets, get_agent_readiness). The only conditional content is a data caveat ("Null means no reading, not a zero") and pricing, neither of which is a usage rule.

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

get_provider_schemaA
Read-only
Inspect

Every JSON Schema a provider publishes — the data shapes their API works in, in one list, without walking their artifacts. Free.

NameRequiredDescriptionDefault
qNoSubstring match on schema name or slug.
pageNoPage number, 1-based (default 1).
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds that the result is a complete list and that the call is free, which is genuinely useful context, but says nothing about pagination behavior (page/limit exist in the schema) or ordering.

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

Conciseness5/5

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

A single sentence with the resource front-loaded, followed by a clarifying em-dash clause and a one-word benefit. No wasted words and nothing buried.

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, filterable list tool with no output schema, the description conveys scope and cost adequately and the schema carries parameter detail. It could still mention that results are paginated, which is the one operational 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 description coverage is 100%, so slug, q, page, limit and context are all documented in the schema itself. The description adds no additional meaning about any of them, so the baseline 3 for fully covered parameters applies.

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

Purpose4/5

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

States a specific resource (every JSON Schema a provider publishes) and clarifies it is a bulk list rather than a single lookup. The phrase 'without walking their artifacts' implicitly distinguishes it from artifact-oriented siblings, but it never names a sibling like find_json_schemas or get_provider_artifacts, so a 5 is not earned.

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

Usage Guidelines3/5

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

Usage is only implied: use this to get a provider's schemas in one shot instead of traversing artifacts. There is no explicit when-to-use, no exclusion conditions, and no guidance on choosing between this and find_json_schemas for the same provider. 'Free' hints there is no cost barrier but is not a usage rule.

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

get_provider_toolsA
Read-only
Inspect

Every MCP tool a provider ships, with the operation each one wraps and its auth. Reports provenance per tool: first-party means the provider publishes that server, derived means API Evangelist generated a candidate tool list from their OpenAPI because no hosted server was found. Filter with provenance=first-party for a true picture — counting derived tools as the provider's own overstates MCP adoption badly. A server whose tools could not be enumerated (auth-gated) is reported in coverage.not_enumerable rather than silently counted as zero.

NameRequiredDescriptionDefault
pageNoPage number, 1-based (default 1).
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
provenanceNoRestrict by who authored the tool list.

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and openWorldHint=false, so safety is covered. The description goes further with behavior an agent could not infer: what first-party vs derived provenance means and that auth-gated servers land in coverage.not_enumerable instead of being silently zeroed. It does not cover pagination or return ordering.

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 core purpose is front-loaded, followed by provenance semantics and the auth-gated caveat, so the ordering is sensible. The middle sentence is dense and slightly long, but every clause carries information an agent needs to interpret results correctly.

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 does useful work by sketching the return shape (tool, wrapped operation, auth, per-tool provenance, coverage.not_enumerable). That is close to sufficient for a read-only lookup, though it never mentions pagination behavior despite page/limit parameters.

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 3 is the baseline, but the description meaningfully enriches the provenance enum by defining both values, which the schema only labels as 'who authored the tool list.' The other four parameters (page, limit, slug, context) get no added explanation.

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

Purpose4/5

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

States a specific resource and scope: every MCP tool a provider ships, plus the operation it wraps and its auth. It is clearly provider-scoped, which separates it in spirit from global searchers like find_mcp, but it never names a sibling to make that distinction explicit.

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

Usage Guidelines4/5

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

Gives concrete guidance on how to use the provenance filter ('filter with provenance=first-party for a true picture') and explains the cost of not doing so. It stops short of naming alternative tools such as find_mcp or get_provider_operations or stating when this tool is the wrong choice.

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

get_rating_historyA
Read-only
Inspect

UNDERSTANDING — A provider's REAL score time series: one point per scored build (composite + agent readiness on each date), plus a summary of the movement over the window — first/last, net change, direction, and the largest single-build jump with the date it happened. Not an implied previous point; these are the recorded snapshots. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real context beyond that: the composite vs agent-readiness dimension, the snapshot-vs-implied distinction, and the pricing tier ($0.01/call, included in Understanding and Influence) — an unusual but genuinely useful cost signal for invocation decisions.

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?

Content is front-loaded with the return shape and the key snapshot caveat before the pricing details. It is dense but each sentence carries information; the pricing boilerplate and 'See apis://prices' are the slightly padded portion.

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 does the heavy lifting of explaining exactly what comes back (per-build points, first/last, net change, direction, largest jump with date), which is strong. It omits date-window/range behavior, which for a 'history' tool leaves 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?

Schema description coverage is 100%, with slug and context both documented, so the baseline is 3. The description adds no additional parameter meaning (e.g. date-range scoping), which a caller might otherwise expect from a 'history' 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?

States a specific verb and resource ('a provider's REAL score time series') and pins down the exact return content: one point per scored build with composite + agent readiness per date. It also carves out a distinct niche from siblings like find_ratings and find_rating_movers by clarifying these are 'recorded snapshots,' not an implied previous point.

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 (retrieving a provider's historical score movement) but gives no explicit when-to-use or when-not-to-use guidance, nor does it name the alternative tools (get_provider_rating, find_ratings, find_rating_movers) that overlap with this data.

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

get_rating_rubricA
Read-only
Inspect

UNDERSTANDING — the rubric: bands, facet weights, trend thresholds, so an agent can interpret any score. Moved behind the paywall with the ratings data on 2026-08-31. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=false), so the bar is lower. The description adds genuinely useful non-schema context: it is now paywalled, costs $0.01 per call under B1 pricing, is included in Understanding and Influence, and points to apis://prices. This is real behavioral/pricing disclosure beyond the annotations.

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

Conciseness4/5

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

The description is compact and front-loads what the rubric is and why an agent needs it, then appends the paywall/pricing facts. The 'UNDERSTANDING —' prefix is slightly odd formatting but overall there is little 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?

With no output schema, the description still characterizes the rubric's contents (bands, facet weights, trend thresholds) and discloses cost/access constraints. For a zero-required-parameter getter this is reasonably complete, though it doesn't state the exact return structure.

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 schema already fully documents the single optional 'context' parameter. The description says nothing additional about it. Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose4/5

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

The description states the specific resource and its contents: 'the rubric: bands, facet weights, trend thresholds, so an agent can interpret any score.' This tells an agent exactly what it retrieves. It does not, however, explicitly contrast itself against close siblings like get_provider_rating or get_rating_history.

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

Usage Guidelines3/5

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

Usage is implied by 'so an agent can interpret any score,' which suggests calling this to understand rating methodology, but there is no explicit when-to-use or when-not-to-use statement and no named alternative. The reader must infer the context.

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

get_regionA
Read-only
Inspect

One region: metadata + a top sample of its member providers (ranked, with the total). Use find_providers?region=slug for the full list, or view=full here. Results carry next: the sub-resources that exist for this entity and the exact tool call that retrieves each, computed from this record. Pass include_next=false to omit it.

NameRequiredDescriptionDefault
slugYesRegion slug, as find_regions returns it, e.g. "north-america".
viewNosummary (default, lean) or full.summary
limitNoTop members to show.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
include_nextNoSet false to omit the `next` affordance block.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=false), so the bar is lower. The description still adds real behavior: results carry a `next` affordance block computed from this record, and include_next=false suppresses it. It stops short of covering pagination or the size/cost of the sample, but the `next` disclosure is meaningful beyond the annotations.

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

Conciseness4/5

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

Three sentences, front-loaded with the core purpose before the routing advice and the `next` behavior. Dense but every sentence carries information; no filler or restatement of the tool name.

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

Completeness4/5

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

There is no output schema, so the description has to sketch the return value, and it does: region metadata, a ranked top sample with the total, and a `next` block of sub-resources with the exact call for each. That is nearly sufficient for an agent to call and consume the result; member ordering details and sample-vs-total counts remain slightly implicit.

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 earns above baseline by tying parameters to outcomes the schema does not: view=full is framed as the way to get the full member list rather than just the sample, and include_next is described by what it toggles. It does not add much for limit or 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 opening clause pins down a specific verb and resource (fetch one region) plus its payload shape (metadata + a ranked top sample of member providers with the total). It is distinguishable from siblings like find_regions and get_region_leaders without opening any schema.

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

Usage Guidelines5/5

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

It explicitly names the alternative and the condition that selects it: find_providers?region=slug for the full list, or view=full here. The agent is told how this tool differs from the finder and how to widen scope, which is exactly the routing guidance needed.

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

get_region_leadersB
Read-only
Inspect

UNDERSTANDING — Top-rated providers in a region. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesRegion slug, as find_regions returns it, e.g. "north-america".
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful non-annotation context—the B1 pricing tier and per-call cost—but says nothing about ranking criteria, ordering, or pagination behavior of the returned list.

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

Conciseness3/5

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

It is short, but the first token is a category label ("UNDERSTANDING") that does not help tool selection, and the second of two sentences is almost entirely pricing boilerplate. Content is present but not optimally front-loaded for an agent choosing a tool.

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

Completeness3/5

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

For a read-only list tool with annotations covering safety and no output schema, the definition is minimally adequate. It omits what "top-rated" means, how results are ordered, and whether the list is paginated—useful context an agent would otherwise have to discover by calling it.

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%: slug, limit (with range/default), and context are all fully documented in the schema. The description adds no parameter meaning beyond that, so the baseline of 3 applies.

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?

"Top-rated providers in a region" names a specific resource (providers), a ranking (top-rated), and a scope (region), so an agent can tell it apart from get_region (single entity). However it never differentiates from the sibling "leaders" family (get_area_leaders, get_country_leaders, get_industry_leaders), leaving the regional-vs-country distinction to be inferred.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus the other leaders tools or find_providers; the only pointer is a pricing reference (apis://prices). Usage context is left entirely to inference.

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

get_regulationA
Read-only
Inspect

One regulation: what it is, its jurisdiction and scope, a link to the law itself, and reaches[] — the country, region and industry cohorts this regime binds. Use reaches[] to go straight to the affected members with find_providers.

NameRequiredDescriptionDefault
slugYesRegulation slug, as find_regulations returns it, e.g. "21-cfr-part-11".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. Beyond that, the description discloses the shape and meaning of the returned content, notably that reaches[] holds the country/region/industry cohorts the regime binds — context the annotations cannot supply. It omits error behavior for an unknown slug and any note on how complete the law link or scope fields are.

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

Conciseness4/5

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

Two sentences, no filler, front-loaded with the object being fetched. The first sentence is a dense field list but each item is informative; the second earns its place by turning the output into an action.

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 single-entity lookup with no output schema, an agent needs to know the returned fields and how to use them — both present. What remains unstated is failure behavior (bad/unknown slug) and whether the law link and reaches[] are always populated.

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 both the required slug (with example '21-cfr-part-11') and the optional context parameter are already documented in the schema. The description adds no parameter-level detail beyond that, which is the expected baseline when the schema does the heavy lifting.

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

Purpose4/5

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

The description names the specific resource ('One regulation') and enumerates the payload an agent will get back: identity, jurisdiction, scope, a link to the law, and reaches[]. The singular framing implicitly contrasts with the plural find_regulations search tool, but it never names that sibling explicitly, so differentiation is inferred rather than stated.

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

Usage Guidelines4/5

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

It gives a concrete next-step rule: 'Use reaches[] to go straight to the affected members with find_providers.' That is real routing guidance for what to do with the result. It does not, however, say when to prefer this over find_regulations (e.g., when you already have a slug), which is the more common selection decision.

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

get_tagA
Read-only
Inspect

One tag: its metadata, neighbor tags, and a top sample of its providers and APIs (with totals). provider_count counts companies that classify THEMSELVES here; api_provider_count counts the ones reached only through an API or operation tag — the two are disjoint, and a tag with no providers and many APIs names a resource, not a market. age summarises when the members were created (created_last_30d/90d, the largest same-day batch, and how much of the first page by composite is under 30 days old) — a high first_page share means the top of the tag is new listings, and find_providers(tags, sort:"created") lists them newest first. Use find_apis?tags=slug / find_providers?tags=slug for the full ranked list, or view=full here. Results carry next: the sub-resources that exist for this entity and the exact tool call that retrieves each, computed from this record. Pass include_next=false to omit it.

NameRequiredDescriptionDefault
slugYesTag slug, as find_tags returns it, e.g. "payments".
viewNosummary (default, lean) or full.summary
limitNoTop members to show per list.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
include_nextNoSet false to omit the `next` affordance block.

TDQS

A4.6/5.0
Behavior4/5

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

Annotations only declare readOnlyHint and openWorldHint=false, but the description adds real semantics: that provider_count and api_provider_count are disjoint sets, that a tag with many APIs and no providers 'names a resource, not a market', and how `age` is computed. It does not cover caching, limits beyond the schema, or error behavior, but it materially exceeds what the annotations convey.

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

Conciseness4/5

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

Front-loads what the tool returns, then semantics, then alternatives. Dense and backtick-heavy, but every sentence carries information; a short 170-word blob for a tool with five parameters and no output schema is defensible, though it verges on overpacked.

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

Completeness5/5

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

With no output schema, the description fully carries the return-value burden: it explains provider_count, api_provider_count, the age breakdown fields, the `next` sub-resource block, and where to get full ranked lists. Nothing an agent needs in order to call or interpret this correctly is missing.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3; the description goes beyond it by explaining what view='full' yields and clarifying that include_next=false suppresses the computed `next` affordance. It says nothing extra about `context` or `limit`, keeping it above but not at a maximum.

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?

Opens with a specific resource and its exact payload: 'One tag: its metadata, neighbor tags, and a top sample of its providers and APIs (with totals).' It is immediately separable from the many find_* siblings because it is a single-entity fetch and it names the list-oriented alternatives (find_apis, find_providers) itself.

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

Usage Guidelines5/5

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

Explicitly routes the agent: 'Use find_apis?tags=slug / find_providers?tags=slug for the full ranked list, or view=full here', and points to find_providers(tags, sort:"created") for a specific ordering need. It also tells the agent how to suppress the `next` block, so the choice space is fully covered.

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

get_tag_groupA
Read-only
Inspect

One tag group: its member tags and the full provider roster resolved from the catalog, each with Kin Score and agent readiness. Filter the roster by industry, region, country or area. Free; the DISTRIBUTION over the roster (stats) needs Understanding. Note source_provider_count vs provider_count — the first comes from an index that caps band membership at 1,000, the second is resolved live and is the complete number.

NameRequiredDescriptionDefault
areaNoNarrow the roster to one or more area slugs (comma-separated).
slugYesTag group slug, e.g. cards, logistics, wealth-management.
regionNoNarrow the roster to one or more region slugs (comma-separated).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
countryNoNarrow the roster to one or more country slugs (comma-separated).
industryNoNarrow the roster to one or more industry slugs (comma-separated).

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description goes beyond them by disclosing that the base call is free while the `stats` distribution requires an 'Understanding' entitlement, and by explaining the index-cap discrepancy between source_provider_count and provider_count. That is genuinely useful behavioral context.

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

Conciseness4/5

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

Dense but front-loaded: the first clause states what is returned before the filtering and entitlement notes. The provider-count caveat is a slight tangent but earns its place by preventing a misread of the numbers. No filler sentences.

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?

No output schema exists, so the description compensates by naming the return payload (member tags, provider roster, Kin Score, agent readiness, and the two count fields). For a read-only retrieval tool with full schema coverage this is essentially complete; only the tier mechanics of 'Understanding' remain underspecified.

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%, so the schema already documents slug, area, region, country, industry and context. The description restates the filtering dimensions (industry, region, country, area) but adds no syntax or format detail beyond the schema. Baseline 3 applies when the schema does the heavy lifting.

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

Purpose4/5

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

States a specific resource (one tag group) and enumerates what it returns: member tags, the full provider roster resolved from the catalog, each with Kin Score and agent readiness. This distinguishes it from list-style siblings like find_tag_groups and tag_group_tags. It stops short of naming those siblings explicitly, so it is clear but not fully differentiated.

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

Usage Guidelines3/5

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

The description hints at usage constraints ("Free; the DISTRIBUTION over the roster needs Understanding") and names the filter dimensions, but never states when to call this versus find_tag_groups or tag_group_tags. The cost/tier note implies some selection logic but no explicit when-to-use or exclusions are given.

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

get_vcA
Read-only
Inspect

UNDERSTANDING — One VC firm: identity, fund facts, and portfolio summary (totals, band distribution, average rating). Pass view=full to inline the whole portfolio. Understanding plan. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesVC firm slug, lowercase and hyphenated, as find_vcs returns it.
viewNosummary (default, lean) or full.summary
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuinely useful behavioral context beyond that: the $0.01-per-call pricing under pay-as-you-go, inclusion in specific plans, and the pointer to apis://prices for current rates. This discloses cost/auth-plan implications the agent would not otherwise know.

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?

Front-loads the core noun phrase (one VC firm + what's returned) before moving to the view option and pricing. It is dense but each clause carries information; the price/plan sentence is slightly tangential but relevant to invocation decisions.

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 usefully enumerates what is returned (identity, fund facts, totals, band distribution, average rating) and covers all three parameters plus the view toggle. Missing only explicit sibling routing, which keeps it from a 5.

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 slug, view (with enum), and context are all documented in the schema itself. The description echoes view=full inline behavior but adds no syntax or semantics beyond the enum/default already present. 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?

States a specific verb and resource — retrieving a single VC firm's identity, fund facts, and portfolio summary — and distinguishes it implicitly from find_vcs (plural search) and vc_portfolio. It does not explicitly name the sibling tools, so the differentiation is inferred rather than stated.

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

Usage Guidelines3/5

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

The description tells the agent to pass view=full to inline the whole portfolio, which is a useful usage hint, and it clarifies pricing/plan eligibility (Understanding, Influence, pay-as-you-go). However, it never says when NOT to use this tool or points to find_vcs for discovery, so routing guidance is only implied.

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

industry_gap_analysisA
Read-only
Inspect

UNDERSTANDING — Valuable artifact types (MCP, Arazzo, Rules, Skills…) commonly missing across a whole industry — where the vertical is under-served. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesIndustry slug, as find_industries returns it, e.g. "artificial-intelligence".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
min_shareNoCoverage threshold below which a type counts as an industry gap (0–1, default 0.5).

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds genuinely useful behavioral context beyond annotations: pricing tier (B2, $0.05/call), inclusion in Understanding and Influence, and a pointer to apis://prices. It does not describe return shape, but no output schema exists to lean on.

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?

Front-loads the analytical purpose before the commercial/pricing details, and each sentence carries information. The pricing sentences are somewhat dense but relevant to call decisions, so length is mostly justified.

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

Completeness3/5

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

For a read-only cross-catalog synthesis tool with no output schema, the description explains what it computes but not what it returns (shape of the gap report, ranking/ordering). With 100% parameter coverage the main remaining gap is return-value expectations, leaving it adequate but not 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 slug, context, and min_share are already fully documented, including the 0–1 default for min_share and the cross-reference to find_industries. The description adds no parameter detail beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

Names a specific analysis target (artifact types like MCP, Arazzo, Rules, Skills) and scopes it clearly to a whole industry ('where the vertical is under-served'). The industry-wide scope implicitly distinguishes it from siblings like company_gaps and gap_analysis, but it never names those siblings explicitly.

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

Usage Guidelines3/5

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

The 'UNDERSTANDING' category label and industry-wide framing imply when this applies, but there is no explicit when-to-use or when-not-to-use guidance relative to gap_analysis or company_gaps. An agent must infer selection from scope alone.

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

insights_adoptionB
Read-only
Inspect

Services, tools, or standards ranked by how many companies adopt them across the profiled set. Understanding plan. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
pageNoPage number, 1-based (default 1).
typeNoWhat to rank by adoption: "service" (default), "tool" or "standard".service
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: the plan tier and per-call price, plus where to find the pricing reference. It still does not disclose return shape, pagination, or ranking ties, which matters since 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 core purpose is front-loaded in the first sentence, followed by concise tier and pricing sentences. It is tight overall, though the pricing clauses ('Priced B2 ... included in Understanding and Influence ... See apis://prices') consume several phrases for a single billing fact.

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 four optional parameters, the description covers the purpose and the cost model but says nothing about the structure of the ranked results, what fields accompany each entry, or how ties are handled. Adequate for selection but incomplete for confident invocation of a ranked-listing 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%, so page, limit, type, and context are all documented in the schema itself. The description's mention of 'services, tools, or standards' only restates the type enum. Baseline 3 is appropriate when the schema carries the parameter burden.

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

Purpose4/5

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

The description states a concrete output: services, tools, or standards ranked by company adoption count across the profiled set. This is a specific resource and ranking, not a tautology of the name. It does not, however, explicitly distinguish itself from close siblings like insights_dimensions or insights_industries.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus the other insights_* tools or alternative ranking tools like cohort_rankings. The only context given is billing/plan information, which tells the agent about cost but not about task fit.

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

insights_dimensionsA
Read-only
Inspect

Cross-section ranking of the 40 tracked investment dimensions (AI, cloud, governance, security, …) by how many profiled companies show signal. Understanding plan. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
pageNoPage number, 1-based (default 1).
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: the priced tier ($0.05/call pay-as-you-go), plan eligibility, and a pointer to apis://prices. It does not describe the shape of a result row, but the cost/plan disclosure is genuine added value.

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

Conciseness4/5

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

Three sentences, front-loaded with the core ranking concept before plan and pricing details. Tight and relatively waste-free, though the pricing sentence is dense with tier names that could be trimmed if the price URI link is followed.

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

Completeness3/5

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

For a zero-required-parameter list tool with no output schema, an agent can call it correctly, but the description never indicates what a returned dimension entry contains (name, signal count, ranking metric) or result volume behavior. Adequate but leaves the response shape to discovery.

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 all three parameters (page, limit, context) carry their own descriptions, so the schema does the heavy lifting. The description adds no pagination or parameter guidance beyond it, making the baseline 3 correct.

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

Purpose5/5

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

States a specific verb and resource: a cross-section ranking of 40 named investment dimensions by signal count across profiled companies. That is concrete enough to separate it from siblings like insights_adoption, insights_industries, and insights_overview without opening any schema.

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

Usage Guidelines3/5

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

The description implies context by classifying this as an 'Understanding plan' cross-catalog synthesis with per-call pricing, which hints at when it is appropriate. However, it names no alternative tool and gives no explicit when-to-use or when-not-to-use condition relative to the other insights_* siblings.

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

insights_industriesA
Read-only
Inspect

UNDERSTANDING — the demand-side industry rollup: the sectors the profiled companies fall into. Each row carries TWO counts and they answer different questions: company_count is the research roster, profiled_count is how many of those you can actually read back via find_company_insights(industry:) — size a cohort on profiled_count. The counterpart to find_industries, which counts SUPPLY (providers publishing APIs into a vertical) — this counts DEMAND (companies buying into it). Comparing the two is how you find a sector with buyers and no sellers. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
pageNoPage number, 1-based (default 1).
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only cover readOnlyHint/openWorldHint; the description adds genuinely new behavioral context: the two-count semantics (company_count vs profiled_count and which one is safe to size on), the read-back path via find_company_insights(industry:), and the pricing tier ($0.05/call, B2, included in Understanding/Influence). That is material context an agent cannot get from 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?

Front-loads the core definition, then the count semantics, then the sibling contrast, then pricing. Dense but nearly every clause carries distinct information; the pricing sentence is slightly tangential but still decision-relevant.

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?

There is no output schema, yet the description explains what a row contains and how to interpret the two counts, names the comparison tool, and discloses cost. An agent has everything needed to call and interpret 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 all three params (page, limit, context) are fully documented in the schema. The description adds no parameter-level detail, so the baseline 3 applies — the schema does the work 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?

States a specific verb+resource+scope: 'the demand-side industry rollup: the sectors the profiled companies fall into.' It explicitly contrasts itself with the sibling find_industries ('counts SUPPLY' vs 'this counts DEMAND'), so an agent can distinguish the two without opening either schema.

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

Usage Guidelines5/5

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

Gives explicit when-to-use direction ('size a cohort on profiled_count') and names the alternative tool with the condition that selects it ('Comparing the two is how you find a sector with buyers and no sellers'). Nothing is left to inference.

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

insights_overviewA
Read-only
Inspect

UNDERSTANDING — the Insights root: how many companies are profiled, over how many quarters, and the top investment dimensions across the whole set. Read this FIRST — it tells you the size and vintage of the corpus before you draw a conclusion from any single company in it. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description adds billing behavior (priced B2, $0.05/call, included in Understanding and Influence) and frames itself as cross-catalog synthesis. That pricing/cost context is genuine behavioral value beyond the annotations, though return shape/pagination is not described.

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

Conciseness4/5

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

The purpose and 'read first' directive are front-loaded, and the pricing tail is compact. Every sentence carries information, though the pricing/billing sentence is somewhat tangential to selection and could be deferred to the referenced apis://prices resource.

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 does the work of telling the agent what to expect (corpus size, quarter vintage, top dimensions), which is enough to judge the tool's value. It is complete for a no-required-arg summary tool, missing only finer return details.

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 optional 'context' parameter is fully documented in the schema (100% coverage), including that it is never used to rank. The description adds no parameter-level meaning beyond the schema, so the baseline of 3 for high schema coverage applies.

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?

It names a specific resource (the Insights root) and enumerates exactly what it reports — company count, quarter span, and top investment dimensions — which is a concrete verb+resource statement. It positions itself as the corpus-level entry point versus per-company tools, though it doesn't explicitly contrast with siblings like insights_dimensions or insights_adoption that could overlap on 'dimensions'.

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

Usage Guidelines4/5

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

The imperative 'Read this FIRST' plus the rationale ('tells you the size and vintage of the corpus before you draw a conclusion from any single company') gives a clear when-to-use condition and sequencing guidance. It lacks explicit when-not-to-use or named alternative tools, keeping it short of a 5.

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

list_listsA
Read-only
Inspect

UNDERSTANDING — List the lists/shortlists you own. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuinely useful non-schema context: the billing tier (B1, $0.01/call pay-as-you-go), that it is included in Understanding and Influence, and a pointer to apis://prices. It stops short of describing return format or pagination, so not a 5.

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

Conciseness4/5

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

Front-loaded with the action and resource, followed by pricing. Every sentence carries information, though the pricing/billing detail is somewhat dense for a listing tool and could be deferred to the referenced apis://prices resource.

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-required-param read-only listing tool with no output schema and full schema coverage, the description supplies what the agent needs: what is listed, whose lists, and the cost model. The only gap is the absence of routing guidance toward get_list for detail retrieval.

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

Parameters3/5

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

Schema coverage is 100% and there is a single optional parameter, so the schema fully documents usage. The description adds nothing about the context parameter, which is the expected baseline when schema description coverage is complete.

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

Purpose4/5

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

States a specific verb and resource ("List the lists/shortlists you own"), with scope narrowed by ownership. It is clear what it does, but it does not explicitly name how it differs from siblings like get_list (single list) or list_saved_searches/list_watches.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the ownership scope hints this is the entry point for finding your own lists, and get_list is the obvious follow-up for detail. There is no explicit when-to-use, when-not, or named alternative despite several near-siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_saved_searchesA
Read-only
Inspect

UNDERSTANDING — List the saved searches you own (name, criteria, when last run, how many matches are tracked). Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuinely useful context beyond annotations: the pricing tier (B1, $0.01/call), billing umbrella (Understanding/Influence), and the synthesized return fields. It stops short of describing pagination or result limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the category and the core action, then appends the return fields and pricing. The pricing sentence is somewhat dense, but every clause carries information an agent may need. Minor verbosity from the pricing/pointer sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A simple read-only listing tool with one optional parameter and no output schema; the description compensates by naming the returned fields. Pricing and category are covered, leaving only pagination/limits unstated, which is a minor gap for this complexity level.

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 single 'context' parameter is fully documented in the schema, so the baseline is 3. The description adds nothing about the parameter, nor does it need to given the complete schema, but it misses the chance to reinforce that context is never used for ranking.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (list saved searches) plus scope ('you own'), and enumerates the returned fields (name, criteria, last run, match count). An agent can distinguish it from siblings like save_search, delete_saved_search, and run_saved_search without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The purpose implies when to call it, but there is no explicit guidance on when to use this versus list_lists, list_watches, or run_saved_search, and no exclusions stated. Usage is only implied by the tool's listing nature.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_watchesA
Read-only
Inspect

INFLUENCE — the listings you are watching, with the events registered for each and when you started. The read half of watch_listing: call it before registering another, so you neither duplicate a watch nor assume one is in place that never took. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds real context beyond that: the relationship to watch_listing as its read counterpart, the shape of the returned data, and the pricing tier ($0.01/call, included in certain plans) which matters for cost-aware agents. It stops short of describing pagination or failure behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the resource identity, then relationship, then economics. The pricing sentence is somewhat dense but earns its place for a paid API. No filler or restated title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does the work of describing return contents (watched listings, their events, start dates) and the paid-call expectation. For a trivial read-only list tool this is nearly complete; only pagination/ordering behavior is unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single optional 'context' parameter with 100% schema description coverage, and the schema already explains that it is never used to rank and is read only if a result is wrong. The description adds nothing to parameter meaning, so the 3-baseline for full schema coverage 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?

States a specific verb and resource (the listings you are watching) plus the payload contents (events registered and when you started). It also draws a clean boundary against the sibling watch_listing by calling itself 'the read half', so an agent can separate the two without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly prescribes when to call it — 'before registering another' — and states the failure mode it prevents (duplicate watches, or assuming a watch exists that never took). This is actionable routing guidance rather than implied context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

match_providersB
Read-only
Inspect

UNDERSTANDING — The supply↔demand join: apis.io providers whose product appears in a company's adopted stack, ranked by rating. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesCompany (provider) slug, as find_company_insights returns it, e.g. "stripe".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnlyHint=true, openWorldHint=false), and the description adds genuinely useful behavior beyond them: explicit cost ($0.05/call), tier inclusion, and the fact that this is cross-catalog synthesis. It does not contradict the annotations. It stops short of describing result size 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is compact and front-loads the operation, but it is dense with internal jargon ('UNDERSTANDING', 'Priced B2', 'supply↔demand join') that consumes space without helping invocation. The pricing sentence is useful but sits before any return-value context.

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 hint at what comes back; it only says results are 'ranked by rating', leaving the shape of a matched provider to inference. For a 2-param tool with full schema coverage this is adequate but has a clear gap on return semantics.

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 both parameters are already documented (slug semantics, context being read-only and non-ranking). The description adds nothing about parameter behavior, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific operation: joining apis.io providers to a company's adopted stack and ranking them by rating. It is more precise than the bare name 'match_providers'. However, it gives no signal distinguishing it from siblings like find_providers, compare_providers, or recommend_stack, which sound closely related.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no conditions selecting this over the numerous *_providers siblings, and no prerequisites beyond the required slug. The pricing tier is disclosed, but that is not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

my_checksA
Read-only
Inspect

INFLUENCE — the check requests you filed, newest first. Requires a key or login — an anonymous caller has no identity to scope a list to, and should read a single request with check_status instead. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered; the description still adds real behavioral context: an auth requirement (key or login) and the cost model (B1, $0.01/call, included in certain plans). It doesn't mention pagination or result limits, which would round this out.

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?

Front-loads the resource and its scope in the first clause, then auth and pricing. Dense and mostly waste-free, though the pricing plan tiers are somewhat tangential to selecting 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?

Covers identity requirement, ordering, the sibling alternative, and cost — enough to call it correctly. No output schema exists and pagination/return shape is unspecified, but for a simple scoped list tool this is 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 coverage is 100% for the single optional 'context' param, so the schema already carries its semantics. The description says nothing about the param, adding no meaning beyond structured data — 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?

States a specific resource ('the check requests you filed') with its ordering ('newest first'), which lets an agent distinguish it from sibling check_status (a single request) without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-not condition (anonymous callers) and names the correct alternative (check_status) for that case. The auth precondition is stated as a selection rule, not just a caveat.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

my_workspaceA
Read-only
Inspect

UNDERSTANDING — the workspace root: which plan you are on, how many saved searches and lists you hold, and where each lives. Answers "what do I have here and what can I afford" in one call, so an agent need not probe. NOT the same as the account (login, API key, usage, billing), which is https://apis.io/api/v1/auth/me. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely new context beyond the annotations: pricing tier (B1, $0.01/call), inclusion in Understanding and Influence, and a pointer to apis://prices. That cost/quota transparency is real added value, though it does not cover return shape or caching/timing behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose is front-loaded in the first clause and the exclusion follows logically. The pricing sentence and apis:// URI add length that is useful but not essential to invocation, slightly diluting 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?

For a zero-required-parameter, read-only synthesis tool with no output schema, the description must carry the return-value burden, and it does by naming what the call yields. It stops short of describing the exact response shape or field names, which would be needed for full completeness given the missing 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 coverage is 100% and the sole 'context' parameter is fully documented in the schema (optional, one-sentence rationale, not used to rank). The description adds nothing about parameters, so the baseline 3 applies — the schema does all the work.

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 ('the workspace root') and enumerates exactly what it returns: plan, saved-search count, list count, and where each lives. It explicitly distinguishes itself from the account endpoint (auth/me), so an agent can tell it apart from siblings like list_lists or list_saved_searches without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use ('what do I have here and what can I afford in one call, so an agent need not probe') and an explicit when-not with the alternative named ('NOT the same as the account (login, API key, usage, billing), which is https://apis.io/api/v1/auth/me'). Routing is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

plan_goalA
Read-only
Inspect

INFLUENCE — turn a goal into a grounded plan. Splits it into the smallest sub-goals an API call could satisfy, maps it onto a market outcome (Turbo EA value stream -> stages -> capabilities), and picks one real, phrased operation per sub-goal from the catalog — never an operation that is not in it. Name providers to stay within them, or leave them out to search every phrased provider. Returns coverage per sub-goal (covered / unmatched / unphrased / gap), any prebuilt cross-provider Arazzo composition for the outcome, and a bundle whose compose link feeds compose_goal. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
goalYesWhat the agent should accomplish, in plain language, e.g. "charge a customer and text them a receipt".
streamNoOptional value stream id or name to force, e.g. "Order-to-Cash".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
providersNoOptional provider slugs to stay within, e.g. ["stripe","twilio"].

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, closed-world behavior, so the description only needs to add context — and it does: pricing tier and per-call cost ($0.05, B2), a pointer to apis://prices, and the hard constraint that only catalog operations are ever returned. It stops short of stating latency, idempotency, or whether plans are persisted.

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?

Purpose is front-loaded in the first clause and each following sentence carries real information (scope, return shape, cost). It is dense with internal jargon ('phrased', 'Turbo EA', 'B2', 'bundle') that lengthens parsing without adding much for an outside caller.

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 carries the return-value burden and does so well: coverage states (covered/unmatched/unphrased/gap), Arazzo composition, and a composable bundle. What remains unexplained is what an 'unphrased' or 'gap' result implies for the caller's next step.

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%, so the schema already documents all four parameters, and the description's note on providers mostly restates the scoping semantics. It adds no detail on the stream or context parameters beyond what the schema says, so the 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?

States a specific verb and resource ('turn a goal into a grounded plan') and enumerates the concrete transformations: sub-goal splitting, mapping to value stream -> stages -> capabilities, and selecting one catalog operation per sub-goal. It also distinguishes itself from the closest sibling by naming compose_goal as the downstream consumer of its bundle link.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear conditional for the providers parameter ('name providers to stay within them, or leave them out to search every phrased provider') and establishes the plan-then-compose pipeline. It does not explicitly state when NOT to use it, e.g. versus find_plans or gap_analysis for pre-existing plans.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

readiness_gatesB
Read-only
Inspect

INFLUENCE — what blocks the next agent-readiness band, GATES BEFORE POINTS. Some bands are unreachable on score alone: agent-native requires idempotency AND a stable error envelope regardless of how many points a provider collects. Returns the points gap and the unmet gate requirements separately, each priced, plus a verdict saying whether clearing the gate also closes the gap — the case a points-arithmetic answer gets wrong every time. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuinely useful behavioral context beyond that: it discloses the return structure (points gap and unmet gate requirements priced separately, plus a verdict) and the cost model ($0.05/call, included in Understanding and Influence).

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 core claim (gates before points) is front-loaded, but the description is padded with promotional phrasing like 'the case a points-arithmetic answer gets wrong every time' and internal pricing jargon ('Priced B2', 'INFLUENCE') that consumes space without helping invocation.

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 carries the burden of explaining returns and does so adequately: the points gap, unmet gate requirements with individual pricing, and a gate-vs-gap verdict. Combined with annotation coverage of the safety profile, an agent has what it needs to call this correctly, though the sibling boundary remains ambiguous.

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 both parameters (slug and optional context) are already documented in the schema. The description adds nothing about parameter format or meaning, so the baseline 3 applies — the schema does all the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific analytic function: identifying what blocks the next agent-readiness band, with gates taking precedence over points. It is distinguishable from read-only lookups like get_agent_readiness or agent_readiness_dimensions, though it never names a sibling, so an agent must infer the boundary itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to call this vs. alternatives such as agent_readiness_dimensions, gap_analysis, or what_can_i_fix. The 'INFLUENCE' framing and the gate logic imply a use case, but the agent is left to infer the triggering condition and there are no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recommend_stackA
Read-only
Inspect

Design an API stack — the best-rated catalog provider per capability, assembled into a stack. The Understanding preview is the top pick per capability; the full answer adds alternatives, per-pick artifact gaps, and an exportable APIs.json + Arazzo hint. Decompose the domain into capabilities first, then pass them here. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
regionNoOptional region slug to prefer, e.g. europe.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
capabilitiesYesThe capabilities the stack needs, e.g. ["payments","email","identity","observability"].

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds meaningful behavior beyond that: the preview-vs-full-answer output difference, per-pick artifact gaps, an exportable APIs.json, and explicit per-call pricing ($0.05, tier B2). This cost/side-effect disclosure is valuable and goes beyond structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded, then output detail, prerequisite, and pricing. It's dense with multiple clauses, but each carries information an agent needs (output shape, prerequisite, cost). Slightly packed but no truly wasted sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully explains what the tool returns (top pick per capability in preview; alternatives, gaps, and export in full answer) and discloses cost. Complete enough to call correctly, though it omits pagination/bounding details.

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%, so the schema already documents region, context, and capabilities. The description only adds the workflow hint that capabilities should be decomposed first; it doesn't add syntax or format detail beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Design an API stack') and scopes it precisely: 'best-rated catalog provider per capability, assembled into a stack.' This clearly distinguishes it from siblings like compare_providers or gap_analysis, which analyze rather than assemble.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a concrete prerequisite ('Decompose the domain into capabilities first, then pass them here') and clarifies tier availability (included in Understanding and Influence). It doesn't name a specific alternative sibling to prefer, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

register_agentAInspect

FREE, no account — register yourself in the A2A agent registry. Serve an agent card at /.well-known/agent-card.json on a host you control, then call this with its URL (or just the host). The card must be fetchable and pass the three A2A 1.0.0 hard checks: capabilities is an object, protocolVersion is present, skills is an array. 202 queues it for review; 422 says exactly which check failed. The card IS the evidence, so there is no form, no account, and nothing to wait for from us.

NameRequiredDescriptionDefault
roleNoOptional: whether the agent calls APIs (consumer), fronts one (provider), or both. Left out, it is inferred: a card host that serves /.well-known/api-onboarding is a provider.
contactNoOptional: an email for questions about the registration.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
card_urlYesYour agent card URL, or the host that serves it.
operatorNoOptional: who runs the agent.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=true), and the description goes beyond them with outcome semantics: 202 queues for review, 422 names the failing check, and the card itself is the evidence so no form or account is required. It stops short of 5 because it never says whether repeat calls are idempotent or how long review takes.

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?

Front-loaded with the two facts that drive the decision ('FREE, no account'), then flows prerequisite to mechanics to response codes. Slightly padded by the closing reassurance about 'nothing to wait for from us', but no sentence 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?

With no output schema, the description must carry response meaning, and it does: 202 for queued-for-review and 422 for a specific failed check. It omits what else a call can return (e.g. success/duplicate cases) and review timing, leaving a small gap for a 5-parameter registration 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%, including the role-inference rule and the optional nature of contact/context/operator, so the schema already carries parameter meaning. The description only echoes the card_url form ('or just the host') without adding format or validation detail, which is the baseline 3 case.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('register yourself in the A2A agent registry') and immediately frames the mechanism (serve a card, pass its URL). It is unmistakably distinct from read-side siblings like find_agents or get_agent_readiness, so an agent can route here without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear precondition chain: host an agent card at /.well-known/agent-card.json, then call with its URL or host. It does not name sibling alternatives (e.g. claim_listing) or state exclusions, so it stops short of the explicit when/when-not/alternatives bar at 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

report_correctionAInspect

Report that the catalog has a provider WRONG — a wrong website, a wrong logo, APIs that are not theirs, a count that does not match what they ship, a score computed from any of those. Free, always: correcting our own error is never a paid feature. Read by a human. If you are the provider, say so — it does not gate anything, it tells us how fast to move.

NameRequiredDescriptionDefault
slugYesThe provider slug the record is filed under.
fieldNoOptional field name: website, image, api_count, tags, score, access_model, apis.
wrongYesWhat is incorrect. Name the field if you can.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
correctNoWhat it should say instead.
evidenceNoA URL that shows it — your own docs, your own site. This is what makes a correction actionable rather than a claim.
relationshipNoYour relationship to the provider. Never gates the report; it sets priority.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds genuinely useful context beyond the annotations: submissions are human-read (async review), never gate on the reporter's relationship, and the provider flag only affects prioritization speed. It does not describe what happens after filing or duplicate handling, but with destructive=false/readOnly=false already declared, this is strong.

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?

Front-loads the purpose and is dense with concrete examples; the 'Free, always: correcting our own error is never a paid feature' clause repeats the same idea twice but is short. Nothing materially 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 7-parameter, no-output-schema submission tool, the definition covers what counts as a valid report, the free/human-review behavior, and the non-gating relationship field. It omits post-submission expectations (acknowledgment, resolution) and overlap with sibling correction 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?

Schema description coverage is 100%, so the schema already explains slug, field, wrong, correct, evidence, and relationship semantics. The prose adds no field-level syntax or format detail beyond what is already in the schema, which is the expected baseline when the schema does the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb-plus-resource (report that the catalog has a provider wrong) and enumerates concrete error classes (wrong website, logo, APIs not theirs, count mismatch, score), so an agent knows exactly what belongs here. It does not, however, distinguish itself from likely-overlapping siblings such as correct_facts or dispute_finding, so the reader must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear selection context: use it when our own catalog data is wrong, and it is always free because it concerns our error. No explicit when-not or named alternative to correct_facts/dispute_finding is provided, which keeps it short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

report_gapAInspect

FREE, no account — tell the catalog what you looked for and could not find. The consumer door (roadmap#166): a gap report is how the catalog learns what to add next, and a person reads the queue. One required field.

NameRequiredDescriptionDefault
foundNoWhat the search turned up: "nothing", "wrong thing" or "listed but unusable".
contactNoOptional email if you want to hear when the catalog can answer this.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
providerNoOptional slug, when the gap is about an existing listing.
looked_forYesWhat you were looking for, in your own words.
needed_forNoOptional: the task you needed it for.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only give readOnlyHint=false and destructiveHint=false. The description adds real context beyond them: it's free, requires no account, a human reads the queue, and only one field is required. It does not disclose what happens after (e.g., whether the entry can be edited or retracted, or any response).

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?

Front-loads the most decision-relevant facts (FREE, no account) and stays to three sentences. The 'roadmap#166' / 'consumer door' insider references are slightly wasteful for an agent selecting a tool, but overall it is tight.

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 full schema coverage and no output schema, the description adequately covers purpose and behavioral context for a low-risk submission tool. It's slightly thin on post-submission behavior (whether/how the reporter is notified), though the contact param hints at it.

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 schema already documents all six parameters including the enum and which are optional. The description only reinforces 'one required field,' which adds little beyond the schema's required array. 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?

States a specific action and resource: tell the catalog what you looked for and could not find, framed as a 'gap report.' It's clearly distinguishable from report_correction (fixing wrong data) by its consumer/request framing, but never explicitly contrasts with the siblings it overlaps (gap_analysis, submit_feedback, request_check).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies the trigger condition (you searched and found nothing / wrong thing / unusable) and notes no account is needed, but gives no explicit when-not or names an alternative tool for adjacent needs like corrections or feature requests. Usage must be inferred from the 'consumer door' framing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

request_checkAInspect

INFLUENCE — ask APIs.io to (re)check something. Use it when a listing is wrong or stale, when a score looks incorrect, or to get a company profiled that is not in the catalog yet. A check can target a PROVIDER (the default) or a slice of the catalog: an industry, a tag, an area, or a company's estate — for an industry roster missing an obvious member, a tag that has drifted, or an area whose ranking looks wrong. This does NOT score anything on the spot: a check means re-running the enrichment pipeline against the live surface, which a person does by hand. You get a request id back immediately; poll check_status with it, and if you supply a contact email you are notified when the status changes. A slug we do not already hold is never refused — for ANY target type it is queued as a request to ADD that thing, whether that is a company nobody has catalogued, a new industry, or an estate nobody here has thought of. Near matches come back alongside it in did_you_mean, so a typo is visible without the request being dropped. Priced B4 (human work) — included in Influence; otherwise $99.00 as a one-off with its own receipt, never from a prepaid balance. If this is your own company and our data about it is wrong, report_correction is free. See apis://prices.

NameRequiredDescriptionDefault
urlNoThe company or developer-portal URL — use this when there is no listing yet. Providers only; a url cannot name an industry.
kindNorecheck an existing listing, profile a new company, or correct a specific fact.
slugNoThe target slug — a provider (e.g. stripe), or an industry/tag/area/estate slug when target_type says so.
notesNoWhat is wrong, or what to look at. The more specific, the faster it is worked.
contactNoEmail to notify when the status changes. Optional; without it there is nothing to notify, so keep the id.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
target_typeNoWhat `slug` names. Defaults to provider. `estate` is named for the company the estate roots at (e.g. cisco).

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: it clarifies that no scoring happens on the spot (human-run pipeline), returns a request id for polling via check_status, supports email notification, never refuses unknown slugs (queues an ADD), surfaces did_you_mean on typos, and documents pricing (B4/$99) and that it never draws from a prepaid balance. Annotations supply only the safety triad, so this added operational detail is high value.

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?

Purpose and target semantics are front-loaded, and every sentence carries operational detail. It is long (roughly ten sentences) and the pricing/notification clauses could be tightened, but almost none of it is filler given the absence of an output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and 7 optional parameters, the description compensates by describing what comes back (request id, did_you_mean), how to follow up (check_status, contact email), and the cost model. An agent has everything needed to call it and handle the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3, but the description adds real meaning: url is provider-only and cannot name an industry, slug is interpreted according to target_type, target_type defaults to provider, and estate is named for the rooting company. This effectively disambiguates the enum interplay between slug and target_type.

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?

Starts with a specific verb+resource ('ask APIs.io to (re)check something') and immediately enumerates the concrete cases (wrong/stale listing, incorrect score, uncatalogued company). It is clearly separable from siblings like report_correction and claim_listing, which are named or implicitly contrasted.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use it, gives the target taxonomy (provider by default, or industry/tag/area/estate), and routes the 'my own company is wrong' case to report_correction as a free alternative. This is close to a decision rule, not just context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolveA
Read-only
Inspect

Resolve ANY identifier — website URL, domain (stripe.com), or GitHub org (github.com/stripe) — to the apis.io provider it belongs to. Use this when you have a URL, not a slug. Understanding plan. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
identifierYesA domain, URL, or github.com/<org>.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and openWorldHint=false, and the description adds value beyond them: pricing tier (B1, $0.01/call), plan gating (Understanding/Influence), and a pointer to apis://prices. It also implies the return (the owning provider) without detailing match-failure behavior or the no-result case.

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?

Purpose and identifier examples are front-loaded, followed by the slug exclusion. The pricing/plan sentence is slightly tangential to invocation but relevant to cost-aware agents; overall tight with little 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 2-param read tool with no output schema, the description covers purpose, identifier formats, usage routing, cost, and safety (via annotations). It could mention what happens when resolution fails or returns nothing, but the essentials are present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents both params well (including that 'context' is never used for ranking). The description reinforces this by enumerating accepted identifier formats ('ANY identifier — website URL, domain, or GitHub org'), adding format guidance 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?

States a specific verb (Resolve) and resource (identifier -> apis.io provider), enumerates accepted identifier types with concrete examples (URL, stripe.com, github.com/stripe), and explicitly carves itself out from slug-based siblings. An agent can distinguish it from get_provider/match_providers without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use this when you have a URL, not a slug' gives an explicit when-to-use condition and an exclusion. It stops short of naming the specific alternative sibling (e.g., get_provider) the agent should use for slugs, so it's clear but not fully routed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

saved_search_net_newAInspect

UNDERSTANDING — What is NEW for a saved search since you last checked: providers that newly match your criteria. Advances the delta cursor, so each call reports only what changed since the previous call. The agent-native version of the demand report. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
idYesSaved search id, as save_search returns it or list_saved_searches lists it.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the key non-obvious side effect: it advances the delta cursor so each call returns only changes since the previous call. That explains why readOnlyHint=false despite the read-flavored name — a genuinely useful disclosure beyond the annotations. It omits auth/permission requirements and first-call behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core behavior and cursor semantics are front-loaded in the first two sentences before the pricing boilerplate. The pricing and package details are somewhat verbose but arguably necessary for a metered, credit-priced tool, so they mostly earn their 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?

With no output schema, the description should convey what comes back, and 'providers that newly match your criteria' does that at a high level. Combined with the cursor-advance detail and pricing context, an agent has enough to call it correctly, though the exact response shape is only implied.

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 both the id and context parameters are already fully documented in the schema, including where the id comes from and how context is used. The description adds no parameter-level detail beyond that, which is the correct baseline when the schema carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — returns providers newly matching a saved search's criteria since the last check — and frames it against the sibling landscape ('the agent-native version of the demand report'). An agent can distinguish it from run_saved_search and list_saved_searches from the text alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'since you last checked' framing and cursor semantics give clear context for when this is the right call, and the demand-report analogy helps positioning. It never names a concrete alternative (run_saved_search for full results) or states an exclusion, so it stops short of a full when/when-not routing statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_visibilityA
Idempotent
Inspect

INFLUENCE — ask to be shown less, or not at all. restricted keeps a name, a description and a link to your own site, unrated and out of every ranked view; delisted removes you entirely. Returns 202 and is applied by a person: it strips artifacts, pages and rollups across the network, which is not something to do irreversibly on one API call. Priced B4 (human work) — worked by a person, no charge. See apis://prices.

NameRequiredDescriptionDefault
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
reasonNoWhy you are changing visibility — read by the person who works the request.
contactNoOptional email address we can reply to about this request, e.g. "dev@example.com".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
visibilityYes"restricted" (name, description and link only, unrated) or "delisted" (removed from the catalog).

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by disclosing the async human-worked pipeline (returns 202, applied by a person), the blast radius (strips artifacts, pages and rollups across the network), and the pricing tier (B4 human work, no charge, see apis://prices). One tension: "strips ... across the network" reads as destructive while destructiveHint=false; the surrounding text implies the API call is only a request, but the description never reconciles this explicitly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the purpose, then enum semantics, then the async/pricing mechanics — every clause carries information (scope, 202 response, human review, cost tier, doc pointer). No filler or repetition of the tool title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description supplies what an agent needs to call this correctly: the two enum meanings, the async 202/human-worked nature, the network-wide effects, and the cost tier with a pointer to apis://prices. Nothing material is left unexplained for a 5-parameter mutation request.

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, but the description adds real meaning to the `visibility` enum beyond the schema: `restricted` is "out of every ranked view" and "unrated", `delisted` "removes you entirely", which clarifies the downstream consequence rather than just restating the allowed values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource up front ("ask to be shown less, or not at all") and immediately differentiates the two outcomes: `restricted` keeps name/description/link but is unrated and out of ranked views, `delisted` removes the listing entirely. An agent can distinguish this from siblings like watch_listing, claim_listing or correct_facts without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit when-to-use condition for each enum value (be shown less vs. not at all) and warns it is not for casual/irreversible use. It does not name alternative tools or state when *not* to use this one (e.g. use correct_facts for wrong data, claim_listing for ownership), so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

simulate_fixesA
Read-only
Inspect

INFLUENCE — project a set of fixes onto a provider's agent-readiness score and band before doing the work. Re-applies the band gate to the PROJECTED state, so it will tell you when buying points still leaves you demoted. Kin Score facets are refused rather than estimated: several checks behind them are count-based across a provider's APIs, so a single claimed fix has no computable composite value. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
fixesYesAgent-readiness dimension ids to assume fixed, e.g. ["idempotency","mcp_server"]. what_can_i_fix lists the available ones.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial context beyond the readOnlyHint=true annotation: the band gate is re-applied to the projected state so partial fixes can still leave a provider demoted, Kin Score facets are refused rather than estimated (with the count-based rationale), and per-call cost ($0.05, free in Understanding/Influence) is disclosed with a pointer to apis://prices. The read-only/simulation semantics are consistent 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the tier label and the core action, then layers the band-gate insight and the refusal behavior. Every sentence carries information, though the pricing sentence plus the apis://prices pointer is slightly more overhead than the tool description strictly needs.

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 must convey what comes back, and it does at a conceptual level (projected score/band and whether the gate still demotes you). It is adequately complete for a 3-parameter simulation tool, though it could state whether the projected result is returned as a band only or as facet-level detail.

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%, so slug, fixes, and context are already fully documented in the schema, including the example ids and the pointer to what_can_i_fix. The description adds no parameter-level syntax or format beyond what the schema provides, 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?

States a specific verb+resource: projecting a set of fixes onto a provider's agent-readiness score and band. It distinguishes itself from siblings like get_agent_readiness (actual state) and what_can_i_fix (which fixes exist) by making clear this is a hypothetical projection, not a measurement.

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?

"before doing the work" gives clear timing context, and the refusal of Kin Score facets tells the agent a class of inputs it should not bother submitting. It stops short of naming the sibling tools (e.g. what_can_i_fix for valid ids, get_agent_readiness for current state) that an uncertain agent would want routed to.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

story_leadsA
Read-only
Inspect

OWNER — The weekly "what's worth writing" rollup: ranked story leads from the demand map crossed with rating movement — unmet demand (searched, no result), risers/fallers, and hot-but-thin capabilities. Each lead is a headline, its signal, and a suggested angle. include=["raw"] appends the underlying demand report. Not purchasable: owner-only, at any price.

NameRequiredDescriptionDefault
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNoPass ["raw"] to include the raw demand and movement rows behind each lead.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover reading is safe (readOnlyHint=true, openWorldHint=false). The description adds genuinely non-structured context: owner-only access, weekly generation cadence, the structure of each lead, and that include=["raw"] appends the underlying report. It does not mention auth mechanics beyond entitlement or rate limits, so it stops short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the identity and scope, followed by lead content and the raw-inclusion flag; nearly every clause earns its place. It is dense but not padded, losing a point only for packing several ideas into long em-dash clauses that take a second read.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description steps in to explain the return shape ('a headline, its signal, and a suggested angle') and the optional raw extension, plus the access constraint. Nothing an agent needs to call and interpret this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented. The description only reiterates the include=["raw"] behavior that the schema already explains, and never mentions the context parameter. Baseline 3 is appropriate when the schema carries the parameter burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: a ranked rollup of story leads derived from the demand map crossed with rating movement. It further defines the three lead types and output shape (headline, signal, suggested angle), so an agent knows exactly what this produces versus generic siblings like find_rating_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 'OWNER' marker and 'Not purchasable: owner-only, at any price' line give an entitlement/audience constraint, and 'weekly' implies cadence. However there is no explicit when-to-use statement or comparison against alternative tools that also surface movement (e.g. find_rating_movers, whats_changed), leaving selection to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_artifactAInspect

INFLUENCE — tell us about an artifact you publish, rather than waiting for us to find it. Returns 202; a person fetches it, checks it and re-runs the pipeline against it. Track it with check_status. Priced B4 (human work) — included in Influence; otherwise $49.00 as a one-off with its own receipt, never from a prepaid balance. If this is your own company and our data about it is wrong, report_correction is free. See apis://prices.

NameRequiredDescriptionDefault
urlYesPublic URL of the artifact you publish, e.g. "https://example.com/openapi.yaml".
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
typeYese.g. OpenAPI, AsyncAPI, MCP.
contactNoOptional email address we can reply to about this request, e.g. "dev@example.com".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare it as a non-readonly, non-destructive, closed-world mutation. The description adds genuinely useful behavior beyond that: returns 202, a human fetches/checks it and re-runs the pipeline, plus payment mechanics ('own receipt, never from a prepaid balance'). Some pricing/jargon content dilutes it and the post-review outcome stays vague, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the purpose in the first clause, which is good. It then compresses purpose, behavior, pricing, and cross-tool routing into one dense block; the 'Priced B4 (human work)... $49.00' detail is relevant but adds density that slightly hurts 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?

With no output schema, the description does the work of explaining the async outcome (202, human review, check_status tracking) and cost implications. It stops short of clarifying what a rejected or accepted submission means in practice, leaving a minor gap for a submission 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%, so the schema already documents all five parameters (url, slug, type, contact, context). The description adds no syntax or format detail beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action and resource: publishing an artifact by submitting it rather than waiting for discovery. The phrase 'rather than waiting for us to find it' implicitly distinguishes it from find_artifacts/generate_artifact siblings, though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context (submit an artifact you publish) and routing: 'Track it with check_status' for follow-up and 'report_correction is free' for the wrong-data case. No explicit when-not guidance or named alternative submission path, but the intended usage is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_feedbackAInspect

Report something wrong with a result: wrong data, a filter that did not filter, a ranking that put off-topic results first, a number you could not reproduce, or an answer that was useless for your task. Free, and the fastest way to get a defect fixed — this is read by a human. Say what you expected as well as what you got.

NameRequiredDescriptionDefault
toolNoOptional name of the tool that produced it.
aboutNoOptional slug, aid or tag the report concerns.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
problemYesWhat was wrong. Be specific — the tool you called, the arguments, and what came back.
expectedNoWhat you expected instead.
severityNowrong = factually incorrect; misleading = correct but reads as something else; unhelpful = right and useless.

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false), so the bar is lower. The description still adds real value: it is 'free', it is 'read by a human', and it is framed as the fastest path to a fix — context an agent cannot get from annotations. It does not describe turnaround, acknowledgement behavior, or what happens after submission.

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?

Front-loaded with the core action and scoped by a compact list of defect examples, followed by two short payoff sentences. The example enumeration is slightly long but each item disambiguates what counts as a valid report, so little is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity, single-required-parameter tool with a fully documented schema and no output schema, the description covers purpose and the human-review promise adequately. What it omits is routing relative to the many sibling reporting tools, which is the piece an agent most needs to call the right one.

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 schema already documents all six parameters, including the severity enum and the 'never used to rank' note on context. The description adds only a light nudge ('Say what you expected as well as what you got') that maps to the expected field. 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?

States a specific verb and resource ('Report something wrong with a result') and enumerates concrete defect types (wrong data, filter that did not filter, bad ranking, unreproducible number), so the agent knows exactly what class of action this is. It fails to distinguish itself from close siblings like report_correction, report_gap, or dispute_finding, which is the main clarity gap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The examples imply when to use it (when a result was wrong, unfiltered, misranked, or useless), which is more than nothing. But with four sibling tools covering adjacent reporting/dispute territory, no explicit routing rule ('use this instead of X when...') is provided, leaving the agent to infer the boundary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tag_group_tagsA
Read-only
Inspect

The member tags of one tag group, each joined to its catalog record — provider count, api count, tag quality band and composite. Use it to see what a group is actually made of before trusting the group as a market. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
pageNoPage number, 1-based (default 1).
slugYesTag group slug, as find_tag_groups returns it, e.g. "company".
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description goes beyond them with cost/entitlement behavior: B1 single-entity synthesis pricing at $0.01 per call, inclusion in Understanding and Influence, and a pointer to apis://prices — genuinely useful commercial context an agent cannot get from the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with what the tool returns, then the decision context, then pricing. No restatement of the name and nothing extraneous for the size of the payload.

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, but the description enumerates the returned fields, and it covers cost, entitlement and intended use, which is enough for an agent to invoke it correctly. Remaining gaps (pagination behavior across pages, ordering of the tags) are minor.

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 slug, page, limit and context are all already documented, including the cross-reference that slug comes from find_tag_groups. The description adds no syntax, format or default details beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (the member tags of one tag group) and enumerates the joined fields returned (provider count, api count, quality band, composite), so the agent knows this is a per-group tag listing rather than the group itself. It never explicitly names siblings like get_tag_group or find_tags, so the boundary is inferred rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use it to see what a group is actually made of before trusting the group as a market" gives a concrete decision context for reaching for this tool. There is no explicit when-not or named alternative (e.g. get_tag_group for the group's own metadata), so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

unwatch_listingA
DestructiveIdempotent
Inspect

INFLUENCE — stop watching a listing. Takes effect immediately and removes the registration outright; there is no paused state. Removing a watch that was never registered is not an error. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesProvider slug of the listing, as find_providers returns it, e.g. "stripe".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, but the description adds genuinely new context: the removal is immediate and removes the registration outright with no paused/soft state, and that removing a non-existent watch is not an error (reinforcing the idempotent contract). This goes beyond what the structured annotations convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action in the first clause, then adds useful behavioral constraints. The pricing sentence is somewhat tangential but relevant to agent budgeting; overall it is efficient and well-ordered.

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 destructive, idempotent mutation tool with no output schema, the description covers the key behavioral facts an agent needs (immediacy, no paused state, non-error on missing watch) and the annotations cover the safety profile. Pricing/plan info rounds it out; only explicit routing guidance is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (slug, context) are already documented in the schema itself, including the reference to find_providers output format. The description adds no further parameter meaning, so the 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?

States a specific verb+resource ('stop watching a listing') that is the precise inverse of the watch_listing sibling, so an agent can immediately tell what it does and disambiguate from watch/list_watches 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 clarifies an edge case ('removing a watch that was never registered is not an error') but never states when to prefer this tool over alternatives, nor any prerequisites. Usage is implied by the inverse relationship to watch_listing rather than spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vc_portfolioA
Read-only
Inspect

UNDERSTANDING — A VC firm's portfolio companies, each matched to the network and rated. Filter publishes_api=true (companies that actually ship an API — about 37% of any book), in_network=true, band, or min_score; sort by score (default), api_count, or name. The demand-side view of who a fund has backed. Understanding plan. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.

NameRequiredDescriptionDefault
bandNoexemplar | strong | developing | thin | minimal.
pageNoPage number, 1-based (default 1).
slugYesVC firm slug, lowercase and hyphenated, as find_vcs returns it.
sortNoOrder: score, api_count or name.
limitNoResults per page, 1-100 (default 25).
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
min_scoreNoOnly companies whose Kin Score composite is at or above this, 0-100.
in_networkNoOnly portfolio companies that resolve to a provider on the network.
is_providerNoOnly portfolio companies with a provider profile on the network. Nearly every row qualifies (a profile is created for each portfolio company), so this barely narrows anything — use publishes_api instead.
publishes_apiNoOnly portfolio companies that publish an API indexed on the network — the real rate is about 37% of a book, not 100%. This is the filter you want for "how much of this fund ships an API".

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely non-obvious operational context: plan gating (Understanding/Influence), per-request plus per-record pricing with a $0.50 cap, and an estimate endpoint to check first. It does not cover error or empty-result behavior for an unknown slug, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded, followed by filters and then cost/resource pointers, so the ordering is sensible. The block is dense — the filter/sort enumeration duplicates the schema and the pricing sentence packs plan names, a formula, a cap, and two links in one breath — but nothing is truly 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 10-parameter list tool with full schema coverage and no output schema, the description covers purpose, the high-value filters, and cost/plan constraints. Output shape is only hinted at ('matched... and rated'), which is a minor gap given no output schema exists to document the returned fields.

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 100%, so baseline is 3 and the schema already carries the per-parameter meaning (including the useful publishes_api caveats). The description adds marginal extra value by stating the default sort and the aggregate selectivity of publishes_api ('about 37% of any book'), but most of the filter/sort list is restated from 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 names the specific resource and its scope: a VC firm's portfolio companies, each matched to the network and rated. The framing 'the demand-side view of who a fund has backed' cleanly separates it from find_vcs (which finds firms) and get_vc (which fetches one firm), so an agent can route without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the context of use ('the demand-side view of who a fund has backed') and recommends which filter to reach for, noting publishes_api is the real selector and quantified at ~37% of a book. It never names an alternative tool or a when-not-to-use condition, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

watch_listingA
Idempotent
Inspect

INFLUENCE — be told when a listing you care about moves: score changes, band changes, agent-band changes, or a check closing. REQUIRES a destination: contact (an email address), callback_url (an https endpoint that receives signed JSON), or both. The first pass after registering records where the provider stands and sends nothing, so the first notification you get is about a real move. agent_band is the one worth having — it carries the gate that caused the change, which a provider cannot compute about themselves. Re-registering the same slug REPLACES its event set rather than adding a second watch. list_watches shows what you hold; unwatch_listing removes one. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesProvider slug of the listing, as find_providers returns it, e.g. "stripe".
eventsNoscore, band, agent_band, check. Defaults to all four.
contactNoEmail address for notifications.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
callback_urlNoHTTPS endpoint for signed webhook delivery.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: explains the baseline first-pass behavior ('records where the provider stands and sends nothing'), the signed-JSON webhook delivery, why agent_band is the valuable event (it carries the gate a provider cannot self-compute), replace-vs-append semantics, and pricing (B1, $0.01/call). This is exactly the kind of context annotations cannot carry.

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?

Front-loaded with the core purpose and requirement, then supporting detail. It is dense and slightly long for a watch tool, but nearly every sentence carries operational information (destinations, baseline behavior, replace semantics, pricing).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description still covers return behavior (first pass sends nothing), delivery channels, event defaults, idempotent replace semantics, and pricing. An agent has everything needed to call it correctly on the first try.

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 already 100%, so the baseline is 3, but the description adds real meaning: contact must be an email, callback_url must be HTTPS signed JSON, and events default to all four. The note that agent_band carries the causal gate is genuine semantic value 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?

States a specific verb+resource ('be told when a listing you care about moves') and enumerates the exact event types it watches: score, band, agent_band, check. It explicitly distinguishes itself from the sibling tools list_watches and unwatch_listing, so an agent can route without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit prerequisites ('REQUIRES a destination: contact, callback_url, or both') and names the alternatives with their roles: list_watches shows what you hold, unwatch_listing removes one. The replace-on-re-register behavior further guides correct invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

what_can_i_fixA
Read-only
Inspect

INFLUENCE — the ranked, gated punch list for one provider you own. Every agent-readiness check with points still on the table (exact — these are real per-check results, each with what satisfies it), plus the Kin Score facets ranked by weight x headroom rather than by lowest score. do_first is the headline and prefers a BAND GATE over any amount of points, because points cannot clear a gate. Use readiness_gates for the gate detail and simulate_fixes to price a plan before committing to it. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

NameRequiredDescriptionDefault
slugYesProvider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe".
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover safety (readOnlyHint=true, openWorldHint=false), and the description adds real behavioral context beyond them: the ranking algorithm (weight x headroom, not lowest score), the do_first gate-precedence rule, the exactness of the point data, and the B2 pricing model with a pointer to apis://prices. It stops short of stating auth/ownership prerequisites beyond the phrase 'you own'.

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?

Front-loaded with the core purpose, then the ranking logic, the routing hints, and pricing in a compact sequence. The pricing/catalog sentence is arguably secondary detail, but every sentence still carries information an agent can act on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must describe the return payload, and it does so well (per-check results with satisfiers, ranked facets, do_first headline). With only two fully documented parameters and annotations covering safety, an agent has nearly everything needed; only ownership/auth prerequisites are unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters are documented in the schema (slug format, context semantics), so the schema carries the load. The description adds only an implicit 'one provider you own' constraint and no syntax or format detail beyond what is already structured, which is the expected baseline when coverage is complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('the ranked, gated punch list for one provider you own') with the exact resource and scope, and defines the output shape (all unsatisfied readiness checks plus Kin Score facets ranked by weight x headroom). It also names the siblings it is not (readiness_gates, simulate_fixes), so an agent can distinguish it without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes gate detail to readiness_gates and plan pricing to simulate_fixes, and the 'provider you own' scoping tells the agent which inputs are valid. It does not, however, contrast itself with adjacent siblings like get_agent_readiness, my_checks, or gap_analysis, leaving some selection ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

whats_changedA
Read-only
Inspect

UNDERSTANDING — What changed in the catalog since a date: providers added/updated, plus rating movement measured FROM THAT DATE — each provider's current score against its score at the first scored snapshot on or after since, with was and compared_to on every row. basis says whether the answer came from the recorded history or (when no snapshot covers the date) from last-build trend. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.

NameRequiredDescriptionDefault
limitNoResults per page, 1-100 (default 25).
sinceYesYYYY-MM-DD.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint/openWorldHint annotations it discloses non-obvious behavior: the `basis` field distinguishes recorded history from fallback last-build trend, and the measurement method (current score vs. first scored snapshot on or after `since`) is spelled out. It also exposes the full billing model — per-request, per-record, cap, plan inclusion, and an estimate endpoint — which is exactly the kind of cost behavior an agent needs before invoking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded with the tool's name and purpose before the mechanics, and the dense single paragraph has no filler. The pricing clause is long — per-request rate, per-record rate, cap, plan tiers, estimate link — and could be trimmed, but it is decision-relevant rather than redundant.

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 carries the return-shape burden and does so by naming the `was`, `compared_to`, and `basis` fields. Paging behavior and edge cases for out-of-range dates are left implicit, and the `limit` param documentation in the schema covers most of the pagination gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description adds real meaning for `since` by defining the comparison anchor ('first scored snapshot on or after since') rather than just the date format. `limit` and `context` are left to the schema, which is acceptable since both are self-documenting.

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 precise verb and resource — catalog changes since a date — and enumerates the two components (providers added/updated, plus rating movement). It goes further than a generic 'what changed' by pinning the movement to a specific comparison point, which is enough to tell it apart from a plain rating-movers feed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the 'since a date' framing and the priced-operation note, so an agent can infer when this tool is relevant. However, it never names a sibling such as find_rating_movers or get_rating_history, nor states when this tool is the wrong choice, so the routing burden stays with the caller.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Addedfind_sla
  2. 1 tool update
    • Addedget_application_blueprint
  3. 3 tool updates
    • Changedfind_apis1 field changed
      • addedInput schema / properties / onboarding_descriptor
        Added value: +{
        +  "type": "boolean"
        +}
    • Changedfind_providers1 field changed
      • addedInput schema / properties / onboarding_descriptor
        Added value: +{
        +  "type": "boolean"
        +}
    • Changedgenerate_artifact2 fields changed
      • changedInput schema / properties / artifact / description
        Previous value: -"Which artifact to request: apis-json, agent-card, mcp, arazzo, rules, scopes or security. Omit to request the full set."New value: +"Which artifact to request: apis-json, agent-card, mcp, arazzo, rules, scopes, security or api-onboarding. Omit to request the full set."
      • changedInput schema / properties / artifact / enum
        Previous value: -[
        -  "apis-json",
        -  "agent-card",
        -  "mcp",
        -  "arazzo",
        -  "rules",
        -  "scopes",
        -  "security"
        -]New value: +[
        +  "apis-json",
        +  "agent-card",
        +  "mcp",
        +  "arazzo",
        +  "rules",
        +  "scopes",
        +  "security",
        +  "api-onboarding"
        +]
  4. 1 tool update
    • Changedgenerate_artifact2 fields changed
      • changedInput schema / properties / artifact / description
        Previous value: -"Which artifact to request: apis-json, agent-card, mcp, arazzo, rules, scopes, security or api-onboarding. Omit to request the full set."New value: +"Which artifact to request: apis-json, agent-card, mcp, arazzo, rules, scopes or security. Omit to request the full set."
      • changedInput schema / properties / artifact / enum
        Previous value: -[
        -  "apis-json",
        -  "agent-card",
        -  "mcp",
        -  "arazzo",
        -  "rules",
        -  "scopes",
        -  "security",
        -  "api-onboarding"
        -]New value: +[
        +  "apis-json",
        +  "agent-card",
        +  "mcp",
        +  "arazzo",
        +  "rules",
        +  "scopes",
        +  "security"
        +]
  5. 1 tool update
    • Changedgenerate_artifact2 fields changed
      • changedInput schema / properties / artifact / description
        Previous value: -"Which artifact to request: apis-json, agent-card, mcp, arazzo, rules, scopes or security. Omit to request the full set."New value: +"Which artifact to request: apis-json, agent-card, mcp, arazzo, rules, scopes, security or api-onboarding. Omit to request the full set."
      • changedInput schema / properties / artifact / enum
        Previous value: -[
        -  "apis-json",
        -  "agent-card",
        -  "mcp",
        -  "arazzo",
        -  "rules",
        -  "scopes",
        -  "security"
        -]New value: +[
        +  "apis-json",
        +  "agent-card",
        +  "mcp",
        +  "arazzo",
        +  "rules",
        +  "scopes",
        +  "security",
        +  "api-onboarding"
        +]
  6. 2 tool updates
    • Changedfind_agent_readiness1 field changed
      • changedInput schema / properties / sort / enum
        Previous value: -[
        -  "agent_score"
        -]New value: +[
        +  "agent_readiness"
        +]
    • Changedfind_ratings2 fields changed
      • changedInput schema / properties / sort / description
        Previous value: -"Leaderboard order; default composite."New value: +"Leaderboard order; default composite. agent_readiness and front_door_ai rank the two standalone layers; providers with no reading sort last."
      • changedInput schema / properties / sort / enum
        Previous value: -[
        -  "composite",
        -  "delta",
        -  "discoverability",
        -  "contract_quality",
        -  "contract_governance",
        -  "operational_transparency",
        -  "developer_ergonomics",
        -  "access_clarity",
        -  "governance",
        -  "commercial_clarity"
        -]New value: +[
        +  "composite",
        +  "delta",
        +  "agent_readiness",
        +  "front_door_ai",
        +  "discoverability",
        +  "contract_quality",
        +  "contract_governance",
        +  "operational_transparency",
        +  "developer_ergonomics",
        +  "access_clarity",
        +  "governance",
        +  "commercial_clarity"
        +]
  7. 4 tool updates
    • Addedcompose_goal
    • Changedfind_extensions1 field changed
      • addedInput schema / properties / include_pipeline
        Added value: +{
        +  "type": "boolean"
        +}
    • Changedfind_providers1 field changed
      • addedInput schema / properties / exclude_operator
        Added value: +{
        +  "type": "boolean"
        +}
    • Addedplan_goal
  8. 142 tool updates
    • Changedadd_to_list1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedagent_readiness_dimensions2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedapis_io_search11 fields changed
      • changedInput schema / properties / area / description
        Previous value: -"Area slugs, as find_areas returns them, e.g. [\"security\"]."New value: +"Area slugs, e.g. [\"security\"]."
      • changedInput schema / properties / artifact_types / description
        Previous value: -"Artifact types an API must carry, e.g. [\"OpenAPI\",\"AsyncAPI\",\"Postman\"]. Synonyms fold (MCPServer = MCP)."New value: +"Artifact types required, e.g. [\"OpenAPI\"]."
      • changedInput schema / properties / band / description
        Previous value: -"Rating bands: exemplar, strong, developing, thin, minimal."New value: +"exemplar | strong | developing | thin | minimal."
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / industry / description
        Previous value: -"Industry slugs, as find_industries returns them, e.g. [\"artificial-intelligence\"]."New value: +"Industry slugs, e.g. [\"fintech\"]."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / min_score / description
        Previous value: -"Only providers whose Kin Score composite is at or above this, 0-100, e.g. 60."New value: +"Minimum Kin Score composite (0-100), e.g. 60."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / region / description
        Previous value: -"Region slugs, as find_regions returns them, e.g. [\"north-america\"]."New value: +"Region slugs, e.g. [\"north-america\"]."
      • changedInput schema / properties / sort / description
        Previous value: -"Order results. Default: relevance with a query, composite (quality) when browsing. `demand` = Fortune-1000 adoption, scoped to the query."New value: +"Default: relevance with `q`, else composite."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedcheck_status1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedclaim_listing1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedcohort_capabilities1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedcohort_failures2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedcohort_history1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedcohort_rankings2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedcohort_scores2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedcohort_stats1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedcompany_gaps1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedcompare_cohorts1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedcompare_providers1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedcorrect_facts1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedcreate_list1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changeddelete_list1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changeddelete_saved_search1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changeddeprecated_operations2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changeddispute_finding1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedenrich_provider1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedexport_dataset1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedexport_stack1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedfind_agent_readiness2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedfind_agents2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedfind_apis22 fields changed
      • changedInput schema / properties / area / description
        Previous value: -"Area slugs, as find_areas returns them, e.g. [\"security\"]."New value: +"Area slugs, e.g. [\"security\"]."
      • changedInput schema / properties / artifact_types / description
        Previous value: -"Artifact types an API must carry, e.g. [\"OpenAPI\",\"AsyncAPI\",\"Postman\"]. Synonyms fold (MCPServer = MCP)."New value: +"Artifact types required, e.g. [\"OpenAPI\"]."
      • changedInput schema / properties / band / description
        Previous value: -"Rating bands: exemplar, strong, developing, thin, minimal."New value: +"exemplar | strong | developing | thin | minimal."
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / fields / description
        Previous value: -"Return exactly these top-level keys (overrides view)."New value: +"Only these top-level keys, e.g. [\"slug\",\"score\"]."
      • changedInput schema / properties / include / description
        Previous value: -"via_provider — also return the APIs of providers whose name matched `q`, the union apis_io_search counts. Needs `q`; adds nothing without one."New value: +"via_provider: also return APIs of providers whose name matched `q`. Needs `q`."
      • changedInput schema / properties / industry / description
        Previous value: -"Industry slugs, as find_industries returns them, e.g. [\"artificial-intelligence\"]."New value: +"Industry slugs, e.g. [\"fintech\"]."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / min_score / description
        Previous value: -"Only providers whose Kin Score composite is at or above this, 0-100, e.g. 60."New value: +"Minimum Kin Score composite (0-100), e.g. 60."
      • changedInput schema / properties / onboarding / description
        Previous value: -"Access model — how to start: open (no key), self-serve, approval. (providers only)"New value: +"open (no key) | self-serve | approval."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / pricing / description
        Previous value: -"Access model — pricing: free, freemium, free-trial, paid, enterprise. (providers only)"New value: +"free | freemium | free-trial | paid | enterprise, e.g. [\"free\"]."
      • changedInput schema / properties / provenance / description
        Previous value: -"modeled: real APIs behind a partner/contract gate whose shape API Evangelist drew (no public reference); unpublished: product areas with NO API behind them (listed for completeness, not counted); published: every real API, modeled included; documented: only entries with neither mark. Omit to list all; every marked row carries `provenance`."New value: +"modeled | unpublished | published | documented, e.g. \"documented\". Omit for all. Meanings: apis://docs/tools/find_apis."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / public / description
        Previous value: -"Only providers callable publicly with no signup (onboarding=open). (providers only)"New value: +"Callable with no signup (onboarding=open)."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / region / description
        Previous value: -"Region slugs, as find_regions returns them, e.g. [\"north-america\"]."New value: +"Region slugs, e.g. [\"north-america\"]."
      • changedInput schema / properties / resolve / description
        Previous value: -"When `q` exactly names a tag, apis.io uses it: on PROVIDERS a resource tag (order, webhook, image) replaces the text search with the companies that classify themselves there — 2,182 text matches for \"order\" become the 92 that claim it; on APIS the tag's members are ADDED to the text matches, never swapped for them. Market tags (payments) and tags almost no company claims are reported and not applied. Set `off` for pure text. The resolution is always echoed as `resolved_tag`."New value: +"on (default) uses a tag `q` names; off = text only."
      • changedInput schema / properties / sort / description
        Previous value: -"Order results. Default: relevance with a query, composite (quality) when browsing. `demand` = Fortune-1000 adoption, scoped to the query."New value: +"Default: relevance with `q`, else composite."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
      • changedInput schema / properties / try_now / description
        Previous value: -"Only providers a developer can start using at no cost right now (free/trial + self-serve/open). (providers only)"New value: +"Usable at no cost right now (free/trial + self-serve/open)."
      • changedInput schema / properties / view / description
        Previous value: -"summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity)."New value: +"summary (default, lean) or full."
    • Changedfind_apis_json6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedfind_arazzo6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedfind_areas2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedfind_artifacts3 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
    • Changedfind_asyncapis6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedfind_capabilities2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedfind_channels6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedfind_cohorts2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedfind_collections6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedfind_company_insights2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedfind_countries2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedfind_estates2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedfind_examples6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedfind_extensions2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedfind_finops6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedfind_graphql6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedfind_industries2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedfind_investors1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedfind_json_ld6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedfind_json_schemas6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedfind_json_structures6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedfind_mcp6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedfind_openapis6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedfind_operations2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedfind_overlays6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedfind_plans6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedfind_postman6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedfind_providers37 fields changed
      • changedInput schema / properties / accepts_writes / description
        Previous value: -"true = the provider has operations that ACT (create/update/send), so you can push something to it; false = measured and read-only. Use this when the question is \"where can I publish/send/post to\" — text search cannot tell direction, and without it a query about syndicating content returns RSS feeds and read-only APIs. Providers with no agentic-access reading are excluded either way: absent is unmeasured, not zero."New value: +"true = has write operations; false = read-only."
      • changedInput schema / properties / api_tags / description
        Previous value: -"Providers that publish an API, spec or OPERATION carrying these tags, without claiming it as their business. The complement of `tags`, and disjoint from it."New value: +"Tags on its APIs, e.g. [\"webhook\"]."
      • changedInput schema / properties / area / description
        Previous value: -"Area slugs, as find_areas returns them, e.g. [\"security\"]."New value: +"Area slugs, e.g. [\"security\"]."
      • changedInput schema / properties / artifact_types / description
        Previous value: -"Artifact types an API must carry, e.g. [\"OpenAPI\",\"AsyncAPI\",\"Postman\"]. Synonyms fold (MCPServer = MCP)."New value: +"Artifact types required, e.g. [\"OpenAPI\"]."
      • changedInput schema / properties / band / description
        Previous value: -"Rating bands: exemplar, strong, developing, thin, minimal."New value: +"exemplar | strong | developing | thin | minimal."
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / country / description
        Previous value: -"Providers whose derived country membership includes these slugs (e.g. united-kingdom). Membership is partial — a count is a floor."New value: +"Country slugs, e.g. [\"united-kingdom\"]."
      • changedInput schema / properties / employees_band / description
        Previous value: -"Company size band(s), comma-separated: 1-10 | 11-50 | 51-200 | 201-1000 | 1001-5000 | 5000+ | 1000+ (the last is the open-ended band the inferred rung emits when it can tell \"big\" but not how big). ESTIMATES from free public sources — Wikidata, SEC EDGAR, the provider's own About page, our own signals — never a headcount. Understanding plan."New value: +"Size band(s), e.g. \"1-10,11-50\"."
      • changedInput schema / properties / facet / description
        Previous value: -"Quality facet to threshold on: discoverability, contract_quality, governance, operational_transparency, developer_ergonomics, commercial_clarity. Needs min_facet."New value: +"Facet, e.g. governance; needs min_facet."
      • changedInput schema / properties / fields / description
        Previous value: -"Return exactly these top-level keys (overrides view)."New value: +"Only these top-level keys, e.g. [\"slug\",\"score\"]."
      • changedInput schema / properties / group / description
        Previous value: -"estate = rank each corporate estate ONCE: keep the best-ranked member of each estate root (Cvent, Oracle, Amazon) in the order applied, and nest the other members of that estate found in this result set under it as `estate_members`, with `estate_member_count`. Rows outside any estate are unaffected. meta.query.ungrouped_total is the flat count. Off by default; every row carries `estate` and `estate_root` either way."New value: +"estate: one row per estate."
      • changedInput schema / properties / include_narrower / description
        Previous value: -"With `tags`: also return the members of each tag's CURATED narrower tags (the `narrower` list on get_tag — Payments under Fintech), after the tag's own members. Each added row carries `via: <narrower-tag>`. Off by default, and provider_count on the tag stays the tag's own membership; provider_count_with_narrower is this total. On a tag with senses (payments, media, supply-chain), every row is routed into a sense: it carries `sense: <tag>:<id>`, meta.query.senses counts own and added members per sense, and `sense=<tag>:<id>` with include_narrower=true (REST) reads one routed sense."New value: +"With `tags`: add narrower-tag members."
      • changedInput schema / properties / industry / description
        Previous value: -"Industry slugs, as find_industries returns them, e.g. [\"artificial-intelligence\"]."New value: +"Industry slugs, e.g. [\"fintech\"]."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / max_score / description
        Previous value: -"Only providers at or below this composite. Pair with min_score for a band-free range."New value: +"Maximum composite, e.g. 60."
      • changedInput schema / properties / min_acting / description
        Previous value: -"Minimum number of acting (non-read) operations. Use to require real write depth rather than a single write endpoint."New value: +"Minimum write operations, e.g. 5."
      • changedInput schema / properties / min_facet / description
        Previous value: -"Minimum score on `facet`. Without `facet` this does nothing."New value: +"Minimum `facet` score, e.g. 70."
      • changedInput schema / properties / min_score / description
        Previous value: -"Only providers whose Kin Score composite is at or above this, 0-100, e.g. 60."New value: +"Minimum Kin Score composite (0-100), e.g. 60."
      • changedInput schema / properties / onboarding / description
        Previous value: -"Access model — how to start: open (no key), self-serve, approval. (providers only)"New value: +"open (no key) | self-serve | approval."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / platform / description
        Previous value: -"Providers running on these platform vendors, by registry key or catalog slug (mintlify, readme, gitbook, redocly, apigee, kong, cloudflare, vercel…). \"Who are Mintlify's customers\" = platform=mintlify; \"who runs on a competitor\" = platform=readme. Each row carries `platforms` with the evidence. Detection covers ~1,240 providers — absent means not detected, not \"none\"."New value: +"Vendor slugs, e.g. [\"mintlify\"]."
      • changedInput schema / properties / platform_area / description
        Previous value: -"Narrow `platform` (or all detected platforms) to one area: documentation, developer-portal, api-gateway, hosting, cdn, status-page, support, identity, mcp-hosting."New value: +"Platform area, e.g. hosting."
      • changedInput schema / properties / pricing / description
        Previous value: -"Access model — pricing: free, freemium, free-trial, paid, enterprise. (providers only)"New value: +"free | freemium | free-trial | paid | enterprise, e.g. [\"free\"]."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / public / description
        Previous value: -"Only providers callable publicly with no signup (onboarding=open). (providers only)"New value: +"Callable with no signup (onboarding=open)."
      • changedInput schema / properties / publishes_api / description
        Previous value: -"true = the provider publishes at least one API (api_count > 0), including partner-gated APIs whose shape API Evangelist modeled; false = it publishes none. Product areas marked as not an API (unpublished_api_count) are not counted, so a company whose every entry is one reads false."New value: +"true = publishes an API."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / region / description
        Previous value: -"Region slugs, as find_regions returns them, e.g. [\"north-america\"]."New value: +"Region slugs, e.g. [\"north-america\"]."
      • changedInput schema / properties / resolve / description
        Previous value: -"When `q` exactly names a tag, apis.io uses it: on PROVIDERS a resource tag (order, webhook, image) replaces the text search with the companies that classify themselves there — 2,182 text matches for \"order\" become the 92 that claim it; on APIS the tag's members are ADDED to the text matches, never swapped for them. Market tags (payments) and tags almost no company claims are reported and not applied. Set `off` for pure text. The resolution is always echoed as `resolved_tag`."New value: +"on (default) uses a tag `q` names; off = text only."
      • changedInput schema / properties / revenue_band / description
        Previous value: -"Revenue band(s): <$1M | $1-10M | $10-100M | $100M-1B | $1B+. Estimates; filed where size_basis is sec-edgar or companies-house. Understanding plan."New value: +"Revenue band(s), e.g. \"$1-10M\"."
      • changedInput schema / properties / size_basis / description
        Previous value: -"Which rung produced the band: sec-edgar | companies-house | wikidata | editorial | derived | inferred | unknown. Ask for the filed ones when you need a defensible number. Understanding plan."New value: +"Size source, e.g. sec-edgar."
      • changedInput schema / properties / size_status / description
        Previous value: -"probed | unprobed. USE size_status=probed when filtering for small companies: without it, \"not enterprise\" sweeps in every provider we have not looked at yet and counts them as small. Absence of a band is not a measurement. Understanding plan."New value: +"probed | unprobed (use probed for small firms)."
      • changedInput schema / properties / sort / description
        Previous value: -"Order results. Default: relevance with a query, composite (quality) when browsing. `demand` = Fortune-1000 adoption, scoped to the query."New value: +"Default: relevance with `q`, else composite."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
      • changedInput schema / properties / trend / description
        Previous value: -"up | down | flat — direction of the composite since the previous scoring pass."New value: +"up | down | flat since last scoring."
      • changedInput schema / properties / try_now / description
        Previous value: -"Only providers a developer can start using at no cost right now (free/trial + self-serve/open). (providers only)"New value: +"Usable at no cost right now (free/trial + self-serve/open)."
      • changedInput schema / properties / view / description
        Previous value: -"summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity)."New value: +"summary (default, lean) or full."
    • Changedfind_rate_limits6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedfind_rating_movers1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedfind_ratings3 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / min_score / description
        Previous value: -"Only providers whose Kin Score composite is at or above this, 0-100, e.g. 60."New value: +"Minimum Kin Score composite (0-100), e.g. 60."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedfind_regions2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedfind_regulations2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedfind_rules6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedfind_scopes6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedfind_security6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedfind_similar_apis1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedfind_similar_providers1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedfind_skills6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / providers / description
        Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedfind_tag_groups2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedfind_tags6 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / fields / description
        Previous value: -"Return exactly these top-level keys (overrides view)."New value: +"Only these top-level keys, e.g. [\"slug\",\"score\"]."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / sort / description
        Previous value: -"Order results. Default: relevance with a query, composite (quality) when browsing. `demand` = Fortune-1000 adoption, scoped to the query."New value: +"Default: relevance with `q`, else composite."
      • changedInput schema / properties / view / description
        Previous value: -"summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity)."New value: +"summary (default, lean) or full."
    • Changedfind_vcs4 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedgap_analysis1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedgenerate_artifact1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_agent_readiness1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_api1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_api_artifacts1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_area2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / view / description
        Previous value: -"summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity)."New value: +"summary (default, lean) or full."
    • Changedget_area_leaders1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_capability1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_capability_edges1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_cohort1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_company_insight1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_country2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / view / description
        Previous value: -"summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity)."New value: +"summary (default, lean) or full."
    • Changedget_country_leaders1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_estate1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_extension2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / view / description
        Previous value: -"summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity)."New value: +"summary (default, lean) or full."
    • Changedget_industry2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / view / description
        Previous value: -"summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity)."New value: +"summary (default, lean) or full."
    • Changedget_industry_leaders1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_list1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_openapi1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_playground_apis1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_prices1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_provider2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / view / description
        Previous value: -"summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity)."New value: +"summary (default, lean) or full."
    • Changedget_provider_apis5 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / fields / description
        Previous value: -"Return exactly these top-level keys (overrides view)."New value: +"Only these top-level keys, e.g. [\"slug\",\"score\"]."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedget_provider_artifacts1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_provider_business_capabilities1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_provider_capabilities1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_provider_estate1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_provider_evidence1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_provider_facets1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_provider_onboarding1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_provider_operations2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedget_provider_rating1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_provider_schema2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedget_provider_tools2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedget_rating_history1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_rating_rubric1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_region2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / view / description
        Previous value: -"summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity)."New value: +"summary (default, lean) or full."
    • Changedget_region_leaders1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_regulation1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_tag2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / view / description
        Previous value: -"summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity)."New value: +"summary (default, lean) or full."
    • Changedget_tag_group1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedget_vc2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / view / description
        Previous value: -"summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity)."New value: +"summary (default, lean) or full."
    • Changedindustry_gap_analysis1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedinsights_adoption2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedinsights_dimensions2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedinsights_industries2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedinsights_overview1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedlist_lists1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedlist_saved_searches1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedlist_watches1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedmatch_providers1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedmy_checks1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedmy_workspace1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedreadiness_gates1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedrecommend_stack1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedregister_agent1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedreport_correction1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedreport_gap1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedrequest_check1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedresolve1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedrun_saved_search1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedsave_search10 fields changed
      • changedInput schema / properties / area / description
        Previous value: -"Area slugs, as find_areas returns them, e.g. [\"security\"]."New value: +"Area slugs, e.g. [\"security\"]."
      • changedInput schema / properties / artifact_types / description
        Previous value: -"Artifact types an API must carry, e.g. [\"OpenAPI\",\"AsyncAPI\",\"Postman\"]. Synonyms fold (MCPServer = MCP)."New value: +"Artifact types required, e.g. [\"OpenAPI\"]."
      • changedInput schema / properties / band / description
        Previous value: -"Rating bands: exemplar, strong, developing, thin, minimal."New value: +"exemplar | strong | developing | thin | minimal."
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / industry / description
        Previous value: -"Industry slugs, as find_industries returns them, e.g. [\"artificial-intelligence\"]."New value: +"Industry slugs, e.g. [\"fintech\"]."
      • changedInput schema / properties / match / description
        Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
      • changedInput schema / properties / min_score / description
        Previous value: -"Only providers whose Kin Score composite is at or above this, 0-100, e.g. 60."New value: +"Minimum Kin Score composite (0-100), e.g. 60."
      • changedInput schema / properties / q / description
        Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
      • changedInput schema / properties / region / description
        Previous value: -"Region slugs, as find_regions returns them, e.g. [\"north-america\"]."New value: +"Region slugs, e.g. [\"north-america\"]."
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • Changedsaved_search_net_new1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedset_visibility1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedsimulate_fixes1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedstory_leads1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedsubmit_artifact1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedsubmit_feedback1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedtag_group_tags2 fields changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedunwatch_listing1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedvc_portfolio3 fields changed
      • changedInput schema / properties / band / description
        Previous value: -"Rating bands: exemplar, strong, developing, thin, minimal."New value: +"exemplar | strong | developing | thin | minimal."
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
      • changedInput schema / properties / page / description
        Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • Changedwatch_listing1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedwhat_can_i_fix1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • Changedwhats_changed1 field changed
      • changedInput schema / properties / context / description
        Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
  9. 120 tool updates
    • Changedadd_to_list2 fields changed
      • addedInput schema / properties / id / description
        Added value: +"List id, as create_list returns it or list_lists lists it."
      • addedInput schema / properties / members / description
        Added value: +"Provider slugs and/or API aids to add, e.g. [\"stripe\",\"adyen:checkout-api\"]."
    • Changedagent_readiness_dimensions2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
    • Changedapis_io_search7 fields changed
      • addedInput schema / properties / area / description
        Added value: +"Area slugs, as find_areas returns them, e.g. [\"security\"]."
      • addedInput schema / properties / artifact_types / description
        Added value: +"Artifact types an API must carry, e.g. [\"OpenAPI\",\"AsyncAPI\",\"Postman\"]. Synonyms fold (MCPServer = MCP)."
      • addedInput schema / properties / industry / description
        Added value: +"Industry slugs, as find_industries returns them, e.g. [\"artificial-intelligence\"]."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / min_score / description
        Added value: +"Only providers whose Kin Score composite is at or above this, 0-100, e.g. 60."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict all three sections to, e.g. [\"stripe\"]."
      • addedInput schema / properties / region / description
        Added value: +"Region slugs, as find_regions returns them, e.g. [\"north-america\"]."
    • Changedcheck_status1 field changed
      • addedInput schema / properties / id / description
        Added value: +"The check id request_check returned (or my_checks lists)."
    • Changedclaim_listing1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedcohort_capabilities2 fields changed
      • addedInput schema / properties / kind / description
        Added value: +"Cohort kind: tag, industry, region, area or vc — says what `slug` names."
      • addedInput schema / properties / slug / description
        Added value: +"Slug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. \"payments\" with kind \"tag\"."
    • Changedcohort_failures4 fields changed
      • addedInput schema / properties / kind / description
        Added value: +"Cohort kind: tag, industry, region, area or vc — says what `slug` names."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / slug / description
        Added value: +"Slug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. \"payments\" with kind \"tag\"."
    • Changedcohort_history2 fields changed
      • addedInput schema / properties / kind / description
        Added value: +"Cohort kind: tag, industry, region, area or vc — says what `slug` names."
      • addedInput schema / properties / slug / description
        Added value: +"Slug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. \"payments\" with kind \"tag\"."
    • Changedcohort_rankings4 fields changed
      • addedInput schema / properties / kind / description
        Added value: +"Cohort kind: tag, industry, region, area or vc — says what `slug` names."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / slug / description
        Added value: +"Slug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. \"payments\" with kind \"tag\"."
    • Changedcohort_scores4 fields changed
      • addedInput schema / properties / kind / description
        Added value: +"Cohort kind: tag, industry, region, area or vc — says what `slug` names."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / slug / description
        Added value: +"Slug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. \"payments\" with kind \"tag\"."
    • Changedcohort_stats2 fields changed
      • addedInput schema / properties / kind / description
        Added value: +"Cohort kind: tag, industry, region, area or vc — says what `slug` names."
      • addedInput schema / properties / slug / description
        Added value: +"Slug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. \"payments\" with kind \"tag\"."
    • Changedcompany_gaps1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Company (provider) slug, as find_company_insights returns it, e.g. \"stripe\"."
    • Changedcorrect_facts7 fields changed
      • addedInput schema / properties / contact / description
        Added value: +"Optional email address we can reply to about this request, e.g. \"dev@example.com\"."
      • addedInput schema / properties / description / description
        Added value: +"The description as it should read — one or two sentences."
      • addedInput schema / properties / industries / description
        Added value: +"Industry slugs that should apply, e.g. [\"financial-services\"]."
      • addedInput schema / properties / name / description
        Added value: +"The provider name as it should read, e.g. \"Acme Payments\"."
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
      • addedInput schema / properties / tags / description
        Added value: +"Tag slugs that should apply, e.g. [\"payments\",\"payouts\"]."
      • addedInput schema / properties / url / description
        Added value: +"The provider's correct website, e.g. \"https://example.com\"."
    • Changedcreate_list1 field changed
      • addedInput schema / properties / name / description
        Added value: +"Name for the list, e.g. \"Payments shortlist\"."
    • Changeddelete_list1 field changed
      • addedInput schema / properties / id / description
        Added value: +"List id to delete, as list_lists lists it."
    • Changeddelete_saved_search1 field changed
      • addedInput schema / properties / id / description
        Added value: +"Saved search id to delete, as list_saved_searches lists it."
    • Changeddeprecated_operations2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
    • Changeddispute_finding4 fields changed
      • addedInput schema / properties / claim / description
        Added value: +"The finding you dispute and why, e.g. \"We do publish an OpenAPI at /openapi.json\"."
      • addedInput schema / properties / contact / description
        Added value: +"Optional email address we can reply to about this request, e.g. \"dev@example.com\"."
      • addedInput schema / properties / evidence_url / description
        Added value: +"URL that shows the finding is wrong, e.g. \"https://example.com/openapi.json\"."
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedexport_dataset1 field changed
      • addedInput schema / properties / dataset / description
        Added value: +"Which dataset to export: \"ratings\" (default), \"providers\" or \"history\"."
    • Changedfind_agent_readiness2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
    • Changedfind_agents2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
    • Changedfind_apis9 fields changed
      • addedInput schema / properties / area / description
        Added value: +"Area slugs, as find_areas returns them, e.g. [\"security\"]."
      • addedInput schema / properties / artifact_types / description
        Added value: +"Artifact types an API must carry, e.g. [\"OpenAPI\",\"AsyncAPI\",\"Postman\"]. Synonyms fold (MCPServer = MCP)."
      • addedInput schema / properties / industry / description
        Added value: +"Industry slugs, as find_industries returns them, e.g. [\"artificial-intelligence\"]."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / min_score / description
        Added value: +"Only providers whose Kin Score composite is at or above this, 0-100, e.g. 60."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
      • addedInput schema / properties / region / description
        Added value: +"Region slugs, as find_regions returns them, e.g. [\"north-america\"]."
    • Changedfind_apis_json5 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • Changedfind_arazzo5 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • Changedfind_areas4 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / q / description
        Added value: +"Free text matched against name and description, e.g. \"payments\"."
      • addedInput schema / properties / sort / description
        Added value: +"Order: name, api_count, provider_count or composite, e.g. \"provider_count\"."
    • Changedfind_artifacts7 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
      • addedInput schema / properties / q / description
        Added value: +"Free text matched against artifact name and description, e.g. \"refunds\"."
      • addedInput schema / properties / tags / description
        Added value: +"Tag slugs the artifact's API carries, e.g. [\"payments\"]."
      • addedInput schema / properties / type / description
        Added value: +"Artifact collection to browse — plural: openapis, asyncapis, arazzo, postman, collections, graphql, json-schemas, json-structures, json-ld, rules, examples, finops, plans, rate-limits, apis-json, mcp, skills, channels, scopes, security. E.g. \"openapis\"."
    • Changedfind_asyncapis5 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • Changedfind_capabilities2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
    • Changedfind_channels5 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • Changedfind_cohorts2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
    • Changedfind_collections5 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • Changedfind_company_insights4 fields changed
      • addedInput schema / properties / industry / description
        Added value: +"Industry slug to narrow to, e.g. \"artificial-intelligence\"."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / q / description
        Added value: +"Free text matched against company name, e.g. \"stripe\"."
    • Changedfind_countries4 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / q / description
        Added value: +"Free text matched against name and description, e.g. \"payments\"."
      • addedInput schema / properties / sort / description
        Added value: +"Order, e.g. \"name\" or \"provider_count\"."
    • Changedfind_estates3 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / q / description
        Added value: +"Free text matched against name and description, e.g. \"payments\"."
    • Changedfind_examples5 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • Changedfind_extensions4 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / q / description
        Added value: +"Free text matched against name and description, e.g. \"payments\"."
      • addedInput schema / properties / sort / description
        Added value: +"Order: occurrences or documents (largest first), or name, e.g. \"occurrences\"."
    • Changedfind_finops5 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • Changedfind_graphql5 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • Changedfind_industries4 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / q / description
        Added value: +"Free text matched against name and description, e.g. \"payments\"."
      • addedInput schema / properties / sort / description
        Added value: +"Order: name, api_count, provider_count or composite, e.g. \"provider_count\"."
    • Changedfind_investors1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedfind_json_ld5 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • Changedfind_json_schemas5 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • Changedfind_json_structures5 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • Changedfind_mcp5 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • Changedfind_openapis5 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • Changedfind_operations3 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / method / description
        Added value: +"Only operations with this HTTP method, e.g. \"POST\"."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
    • Changedfind_overlays5 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • Changedfind_plans5 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • Changedfind_postman5 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • Changedfind_providers9 fields changed
      • addedInput schema / properties / area / description
        Added value: +"Area slugs, as find_areas returns them, e.g. [\"security\"]."
      • addedInput schema / properties / artifact_types / description
        Added value: +"Artifact types an API must carry, e.g. [\"OpenAPI\",\"AsyncAPI\",\"Postman\"]. Synonyms fold (MCPServer = MCP)."
      • addedInput schema / properties / industry / description
        Added value: +"Industry slugs, as find_industries returns them, e.g. [\"artificial-intelligence\"]."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / min_score / description
        Added value: +"Only providers whose Kin Score composite is at or above this, 0-100, e.g. 60."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
      • addedInput schema / properties / region / description
        Added value: +"Region slugs, as find_regions returns them, e.g. [\"north-america\"]."
    • Changedfind_rate_limits5 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • Changedfind_rating_movers1 field changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
    • Changedfind_ratings8 fields changed
      • addedInput schema / properties / band / description
        Added value: +"Rating bands: exemplar, strong, developing, thin, minimal, e.g. [\"strong\",\"exemplar\"]."
      • addedInput schema / properties / facet / description
        Added value: +"Facet to threshold with min_facet: discoverability, contract_quality, contract_governance, operational_transparency, developer_ergonomics, access_clarity."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / min_facet / description
        Added value: +"Minimum score on `facet` (0-100); ignored without `facet`. E.g. 70."
      • addedInput schema / properties / min_score / description
        Added value: +"Only providers whose Kin Score composite is at or above this, 0-100, e.g. 60."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / tags / description
        Added value: +"Tag slugs the provider carries, e.g. [\"payments\"]."
      • addedInput schema / properties / trend / description
        Added value: +"Week-over-week movement: \"rising\" (+5 or more), \"falling\" (-5 or more) or \"flat\" (within 5)."
    • Changedfind_regions4 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / q / description
        Added value: +"Free text matched against name and description, e.g. \"payments\"."
      • addedInput schema / properties / sort / description
        Added value: +"Order: name, api_count, provider_count or composite, e.g. \"provider_count\"."
    • Changedfind_regulations6 fields changed
      • addedInput schema / properties / jurisdiction / description
        Added value: +"Case-insensitive substring of the jurisdiction, e.g. \"EU\" or \"United States\"."
      • addedInput schema / properties / kind / description
        Added value: +"Kind of regime: regulation, statute, accreditation or regulator-guidance."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / q / description
        Added value: +"Free text matched against name and description, e.g. \"payments\"."
      • addedInput schema / properties / scope / description
        Added value: +"Regulation scope; \"horizontal\" returns regimes that bind regardless of industry."
    • Changedfind_rules5 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • Changedfind_scopes5 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • Changedfind_security5 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • Changedfind_similar_apis2 fields changed
      • addedInput schema / properties / aid / description
        Added value: +"API id in the form provider:api-slug, as find_apis returns it, e.g. \"stripe:stripe-api\"."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
    • Changedfind_similar_providers2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedfind_skills5 fields changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / providers / description
        Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • Changedfind_tag_groups2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
    • Changedfind_tags2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
    • Changedfind_vcs3 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / sort / description
        Added value: +"Order: portfolio_on_network, portfolio_total, portfolio_rating or name."
    • Changedgenerate_artifact2 fields changed
      • addedInput schema / properties / artifact / description
        Added value: +"Which artifact to request: apis-json, agent-card, mcp, arazzo, rules, scopes or security. Omit to request the full set."
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedget_agent_readiness1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedget_api3 fields changed
      • addedInput schema / properties / aid / description
        Added value: +"API id in the form provider:api-slug, as find_apis returns it, e.g. \"stripe:stripe-api\"."
      • addedInput schema / properties / artifact_types / description
        Added value: +"Only return artifacts of these types, e.g. [\"OpenAPI\"]."
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
    • Changedget_api_artifacts2 fields changed
      • addedInput schema / properties / aid / description
        Added value: +"API id in the form provider:api-slug, as find_apis returns it, e.g. \"stripe:stripe-api\"."
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
    • Changedget_area1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Area slug, as find_areas returns it, e.g. \"security\"."
    • Changedget_area_leaders2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / slug / description
        Added value: +"Area slug, as find_areas returns it, e.g. \"security\"."
    • Changedget_cohort2 fields changed
      • addedInput schema / properties / kind / description
        Added value: +"Cohort kind: tag, industry, region, area or vc — says what `slug` names."
      • addedInput schema / properties / slug / description
        Added value: +"Slug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. \"payments\" with kind \"tag\"."
    • Changedget_company_insight1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Company (provider) slug, as find_company_insights returns it, e.g. \"stripe\"."
    • Changedget_country1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Country slug, as find_countries returns it, e.g. \"united-kingdom\"."
    • Changedget_country_leaders2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / slug / description
        Added value: +"Country slug, as find_countries returns it, e.g. \"united-kingdom\"."
    • Changedget_estate1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Estate slug — the owning company the estate is rooted at, as find_estates returns it, e.g. \"cisco\"."
    • Changedget_extension1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Extension key as find_extensions returns it, e.g. \"x-nullable\"."
    • Changedget_industry1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Industry slug, as find_industries returns it, e.g. \"artificial-intelligence\"."
    • Changedget_industry_leaders2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / slug / description
        Added value: +"Industry slug, as find_industries returns it, e.g. \"artificial-intelligence\"."
    • Changedget_list1 field changed
      • addedInput schema / properties / id / description
        Added value: +"List id, as create_list returns it or list_lists lists it."
    • Changedget_openapi2 fields changed
      • addedInput schema / properties / aid / description
        Added value: +"API id in the form provider:api-slug, as find_apis returns it, e.g. \"stripe:stripe-api\"."
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
    • Changedget_playground_apis1 field changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
    • Changedget_provider1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedget_provider_apis6 fields changed
      • addedInput schema / properties / artifact_types / description
        Added value: +"Only APIs carrying these artifact types, e.g. [\"OpenAPI\"]."
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"content\"] to inline each artifact's body instead of just its URL."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedget_provider_artifacts1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedget_provider_business_capabilities1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedget_provider_capabilities1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedget_provider_estate1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedget_provider_evidence1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedget_provider_facets1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedget_provider_onboarding1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedget_provider_operations3 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedget_provider_rating1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedget_provider_schema3 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedget_provider_tools3 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedget_rating_history1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedget_region1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Region slug, as find_regions returns it, e.g. \"north-america\"."
    • Changedget_region_leaders2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / slug / description
        Added value: +"Region slug, as find_regions returns it, e.g. \"north-america\"."
    • Changedget_regulation1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Regulation slug, as find_regulations returns it, e.g. \"21-cfr-part-11\"."
    • Changedget_tag1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Tag slug, as find_tags returns it, e.g. \"payments\"."
    • Changedget_vc1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"VC firm slug, lowercase and hyphenated, as find_vcs returns it."
    • Changedindustry_gap_analysis1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Industry slug, as find_industries returns it, e.g. \"artificial-intelligence\"."
    • Changedinsights_adoption3 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / type / description
        Added value: +"What to rank by adoption: \"service\" (default), \"tool\" or \"standard\"."
    • Changedinsights_dimensions2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
    • Changedinsights_industries2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
    • Changedmatch_providers1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Company (provider) slug, as find_company_insights returns it, e.g. \"stripe\"."
    • Changedreadiness_gates1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedreport_gap1 field changed
      • addedInput schema / properties / found / description
        Added value: +"What the search turned up: \"nothing\", \"wrong thing\" or \"listed but unusable\"."
    • Changedrun_saved_search2 fields changed
      • addedInput schema / properties / id / description
        Added value: +"Saved search id, as save_search returns it or list_saved_searches lists it."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
    • Changedsave_search7 fields changed
      • addedInput schema / properties / area / description
        Added value: +"Area slugs, as find_areas returns them, e.g. [\"security\"]."
      • addedInput schema / properties / artifact_types / description
        Added value: +"Artifact types an API must carry, e.g. [\"OpenAPI\",\"AsyncAPI\",\"Postman\"]. Synonyms fold (MCPServer = MCP)."
      • addedInput schema / properties / industry / description
        Added value: +"Industry slugs, as find_industries returns them, e.g. [\"artificial-intelligence\"]."
      • addedInput schema / properties / match / description
        Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
      • addedInput schema / properties / min_score / description
        Added value: +"Only providers whose Kin Score composite is at or above this, 0-100, e.g. 60."
      • addedInput schema / properties / name / description
        Added value: +"Name for the saved search, e.g. \"EU payments, strong+\"."
      • addedInput schema / properties / region / description
        Added value: +"Region slugs, as find_regions returns them, e.g. [\"north-america\"]."
    • Changedsaved_search_net_new1 field changed
      • addedInput schema / properties / id / description
        Added value: +"Saved search id, as save_search returns it or list_saved_searches lists it."
    • Changedset_visibility4 fields changed
      • addedInput schema / properties / contact / description
        Added value: +"Optional email address we can reply to about this request, e.g. \"dev@example.com\"."
      • addedInput schema / properties / reason / description
        Added value: +"Why you are changing visibility — read by the person who works the request."
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
      • addedInput schema / properties / visibility / description
        Added value: +"\"restricted\" (name, description and link only, unrated) or \"delisted\" (removed from the catalog)."
    • Changedsimulate_fixes1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedstory_leads1 field changed
      • addedInput schema / properties / include / description
        Added value: +"Pass [\"raw\"] to include the raw demand and movement rows behind each lead."
    • Changedsubmit_artifact3 fields changed
      • addedInput schema / properties / contact / description
        Added value: +"Optional email address we can reply to about this request, e.g. \"dev@example.com\"."
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
      • addedInput schema / properties / url / description
        Added value: +"Public URL of the artifact you publish, e.g. \"https://example.com/openapi.yaml\"."
    • Changedtag_group_tags3 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / slug / description
        Added value: +"Tag group slug, as find_tag_groups returns it, e.g. \"company\"."
    • Changedunwatch_listing1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug of the listing, as find_providers returns it, e.g. \"stripe\"."
    • Changedvc_portfolio6 fields changed
      • addedInput schema / properties / in_network / description
        Added value: +"Only portfolio companies that resolve to a provider on the network."
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
      • addedInput schema / properties / min_score / description
        Added value: +"Only companies whose Kin Score composite is at or above this, 0-100."
      • addedInput schema / properties / page / description
        Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
      • addedInput schema / properties / slug / description
        Added value: +"VC firm slug, lowercase and hyphenated, as find_vcs returns it."
      • addedInput schema / properties / sort / description
        Added value: +"Order: score, api_count or name."
    • Changedwatch_listing1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug of the listing, as find_providers returns it, e.g. \"stripe\"."
    • Changedwhat_can_i_fix1 field changed
      • addedInput schema / properties / slug / description
        Added value: +"Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
    • Changedwhats_changed1 field changed
      • addedInput schema / properties / limit / description
        Added value: +"Results per page, 1-100 (default 25)."
  10. 5 tool updates
    • Changedfind_finops2 fields changed
      • changedInput schema / properties / billing_model / description
        Previous value: -"Billing model, e.g. subscription, consumption, prepaid."New value: +"Pricing category substring, e.g. \"subscription\", \"usage\", \"prepaid\", \"take rate\"."
      • addedInput schema / properties / method
        Added value: +{
        +  "description": "Who wrote the file: \"searched\", \"probed\", \"generated\" (unverified sweep output), \"unmarked\".",
        +  "type": "string"
        +}
    • Addedfind_overlays
    • Changedfind_plans3 fields changed
      • addedInput schema / properties / audience
        Added value: +{
        +  "description": "Who the pricing page prices for: \"developer-api\" (API or platform usage), \"business-product\" (the product the API comes with), \"consumer\" (a fee schedule), \"unclear\".",
        +  "type": "string"
        +}
      • addedInput schema / properties / method
        Added value: +{
        +  "description": "Who wrote the file: \"searched\" (transcribed from the provider's page), \"probed\" (read live), \"generated\" (API Evangelist sweep, unverified), \"unmarked\".",
        +  "type": "string"
        +}
      • addedInput schema / properties / pricing_basis
        Added value: +{
        +  "description": "How it is priced: \"per-call\", \"per-seat\", \"ad-valorem\", \"flat-platform\", \"tiered-subscription\", \"usage-other\", \"negotiated\", \"free\", \"none\".",
        +  "type": "string"
        +}
    • Changedfind_rate_limits1 field changed
      • addedInput schema / properties / method
        Added value: +{
        +  "description": "Who wrote the file: \"searched\", \"probed\", \"generated\" (unverified sweep output), \"unmarked\".",
        +  "type": "string"
        +}
    • Changedregister_agent1 field changed
      • addedInput schema / properties / role
        Added value: +{
        +  "description": "Optional: whether the agent calls APIs (consumer), fronts one (provider), or both. Left out, it is inferred: a card host that serves /.well-known/api-onboarding is a provider.",
        +  "enum": [
        +    "consumer",
        +    "provider",
        +    "both"
        +  ],
        +  "type": "string"
        +}
  11. 3 tool updates
    • Changedfind_apis1 field changed
      • addedInput schema / properties / provenance
        Added value: +{
        +  "description": "modeled: real APIs behind a partner/contract gate whose shape API Evangelist drew (no public reference); unpublished: product areas with NO API behind them (listed for completeness, not counted); published: every real API, modeled included; documented: only entries with neither mark. Omit to list all; every marked row carries `provenance`.",
        +  "enum": [
        +    "modeled",
        +    "unpublished",
        +    "published",
        +    "documented"
        +  ],
        +  "type": "string"
        +}
    • Changedfind_providers1 field changed
      • addedInput schema / properties / publishes_api
        Added value: +{
        +  "description": "true = the provider publishes at least one API (api_count > 0), including partner-gated APIs whose shape API Evangelist modeled; false = it publishes none. Product areas marked as not an API (unpublished_api_count) are not counted, so a company whose every entry is one reads false.",
        +  "type": "boolean"
        +}
    • Changedfind_similar_providers1 field changed
      • addedInput schema / properties / include_family
        Added value: +{
        +  "description": "Rank same-owner products in with the rivals (flagged same_estate) instead of listing them in meta.query.family.",
        +  "type": "boolean"
        +}
  12. 1 tool update
    • Changedfind_providers4 fields changed
      • addedInput schema / properties / group
        Added value: +{
        +  "description": "estate = rank each corporate estate ONCE: keep the best-ranked member of each estate root (Cvent, Oracle, Amazon) in the order applied, and nest the other members of that estate found in this result set under it as `estate_members`, with `estate_member_count`. Rows outside any estate are unaffected. meta.query.ungrouped_total is the flat count. Off by default; every row carries `estate` and `estate_root` either way.",
        +  "enum": [
        +    "estate"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / include_narrower
        Added value: +{
        +  "description": "With `tags`: also return the members of each tag's CURATED narrower tags (the `narrower` list on get_tag — Payments under Fintech), after the tag's own members. Each added row carries `via: <narrower-tag>`. Off by default, and provider_count on the tag stays the tag's own membership; provider_count_with_narrower is this total. On a tag with senses (payments, media, supply-chain), every row is routed into a sense: it carries `sense: <tag>:<id>`, meta.query.senses counts own and added members per sense, and `sense=<tag>:<id>` with include_narrower=true (REST) reads one routed sense.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / platform
        Added value: +{
        +  "description": "Providers running on these platform vendors, by registry key or catalog slug (mintlify, readme, gitbook, redocly, apigee, kong, cloudflare, vercel…). \"Who are Mintlify's customers\" = platform=mintlify; \"who runs on a competitor\" = platform=readme. Each row carries `platforms` with the evidence. Detection covers ~1,240 providers — absent means not detected, not \"none\".",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / platform_area
        Added value: +{
        +  "description": "Narrow `platform` (or all detected platforms) to one area: documentation, developer-portal, api-gateway, hosting, cdn, status-page, support, identity, mcp-hosting.",
        +  "type": "string"
        +}
  13. 1 tool update
    • Changedfind_providers4 fields changed
      • addedInput schema / properties / employees_band
        Added value: +{
        +  "description": "Company size band(s), comma-separated: 1-10 | 11-50 | 51-200 | 201-1000 | 1001-5000 | 5000+ | 1000+ (the last is the open-ended band the inferred rung emits when it can tell \"big\" but not how big). ESTIMATES from free public sources — Wikidata, SEC EDGAR, the provider's own About page, our own signals — never a headcount. Understanding plan.",
        +  "type": "string"
        +}
      • addedInput schema / properties / revenue_band
        Added value: +{
        +  "description": "Revenue band(s): <$1M | $1-10M | $10-100M | $100M-1B | $1B+. Estimates; filed where size_basis is sec-edgar or companies-house. Understanding plan.",
        +  "type": "string"
        +}
      • addedInput schema / properties / size_basis
        Added value: +{
        +  "description": "Which rung produced the band: sec-edgar | companies-house | wikidata | editorial | derived | inferred | unknown. Ask for the filed ones when you need a defensible number. Understanding plan.",
        +  "type": "string"
        +}
      • addedInput schema / properties / size_status
        Added value: +{
        +  "description": "probed | unprobed. USE size_status=probed when filtering for small companies: without it, \"not enterprise\" sweeps in every provider we have not looked at yet and counts them as small. Absence of a band is not a measurement. Understanding plan.",
        +  "type": "string"
        +}
  14. 2 tool updates
    • Addedfind_regulations
    • Addedget_regulation
  15. 30 tool updates
    • Changedapis_io_search1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Addedfind_agents
    • Changedfind_apis2 fields changed
      • addedInput schema / properties / include
        Added value: +{
        +  "description": "via_provider — also return the APIs of providers whose name matched `q`, the union apis_io_search counts. Needs `q`; adds nothing without one.",
        +  "items": {
        +    "enum": [
        +      "via_provider"
        +    ]
        +  },
        +  "type": "array"
        +}
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_apis_json1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_arazzo1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_asyncapis1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_channels1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_collections1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_countries1 field changed
      • addedInput schema / properties / type
        Added value: +{
        +  "default": "country",
        +  "description": "Which record kind to list. `country` (default) is the dimension itself — the 27 countries the catalog covers; `country-industry` is the crossover pages (\"Education & EdTech in China\"); `all` is both.",
        +  "enum": [
        +    "country",
        +    "country-industry",
        +    "all"
        +  ],
        +  "type": "string"
        +}
    • Changedfind_examples1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_finops1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_graphql1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_json_ld1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_json_schemas1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_json_structures1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_mcp1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_openapis1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_plans1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_postman1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_providers1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_rate_limits1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_regions1 field changed
      • addedInput schema / properties / type
        Added value: +{
        +  "default": "region",
        +  "description": "Which record kind to list. `region` (default) is the dimension itself; `region-industry` is the crossover pages; `all` is both.",
        +  "enum": [
        +    "region",
        +    "region-industry",
        +    "all"
        +  ],
        +  "type": "string"
        +}
    • Changedfind_rules1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_scopes1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_security1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_skills1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedfind_vcs1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Changedget_provider_apis1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
    • Addedregister_agent
    • Changedsave_search1 field changed
      • changedInput schema / properties / tags / description
        Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources