apis-io
Server Details
Discover, rate and compare APIs and providers in the APIs.io catalog; manage a listing you own.
- Status
- Healthy
- Uptime
- 100.0% over 37 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 141 tools
Despite the large number of tools, most have clearly distinct purposes, and the descriptions often cross-reference related tools (e.g., 'Use find_artifacts for cross-type search'). There is some overlap between find_* and get_* variants, but the detailed descriptions help agents choose correctly.
The majority follow a consistent verb_noun pattern (find_*, get_*, create_*, delete_*), but there are outliers like 'whats_changed', 'story_leads', and 'apis_io_search' that break the pattern, causing minor inconsistency.
141 tools is extremely high, far exceeding the typical well-scoped range. Even for a comprehensive platform, this is overwhelming and likely to cause selection difficulty for agents, despite each tool having a specific purpose.
The tool surface is remarkably comprehensive, covering search, discovery, ratings, cohort analysis, company insights, influence actions (claim, correct, dispute, generate artifacts), and export. There are no obvious gaps in the lifecycle or functionality for the stated purpose.
Available Tools
141 toolsadd_to_listBIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| context | No | 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. | |
| members | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the description does not need to restate those. The description adds pricing and plan-inclusion context, which is useful but not behavioral. It does not disclose whether adding a duplicate member is silently ignored (idempotent) or whether the list must already exist, though idempotentHint partially covers that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that front-loads the action and resource, then adds pricing context. It is efficient and does not waste words, though the pricing detail could arguably be moved to a pricing reference.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple mutation tool with no output schema, the description covers the core action and member identifier format. It lacks explicit confirmation of what 'id' refers to and does not mention error cases (e.g., nonexistent list, invalid slug/aid). The idempotentHint annotation covers duplicate behavior, but the description itself is thin on operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only 'context' has a description). The description adds meaning for 'members' by saying they are providers/APIs identified by slug or aid, which helps. However, 'id' is left undocumented in both schema and description; the description says 'one of your lists' but does not explicitly say id is the list id. This is a partial compensation for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Add') and resource ('providers/APIs ... to one of your lists'), and clarifies the identifier types accepted (slug or aid). It is clear enough to distinguish from create_list and list_lists, though it does not explicitly name those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case: adding existing providers/APIs to a list. It does not explicitly state when to use this tool versus create_list, delete_list, or get_list, nor does it mention prerequisites like needing an existing list id. The pricing note is context but 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_dimensionsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds valuable behavioral context: it explains the output is a share/proportion, notes it's a 'single-entity synthesis' (B1 pricing), and mentions pricing model. It does not contradict annotations and provides useful details about the nature of the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence with a dash and technical jargon ('UNDERSTANDING — diffusion'). It front-loads a category label rather than the core action, but it is efficient and conveys the key concept without excessive length. Slightly jargon-heavy but still readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with 3 optional parameters and no output schema, the description explains the core output (share per dimension) and pricing context. It does not specify the exact return format or pagination behavior, but given the tool's simplicity and the presence of page/limit parameters, the description is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only 'context' has a description). The description does not mention page, limit, or context at all, so it fails to compensate for the low schema coverage. An agent gets no guidance on how pagination works or what the context parameter is for beyond the minimal schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: for each agent-readiness dimension, it returns the share of scored providers that satisfy it. It also adds context about the denominator's importance, distinguishing it from sibling tools like get_agent_readiness (single provider) and find_agent_readiness (search). The purpose is specific and non-tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing the proportion of providers meeting a dimension ('the denominator every claim needs'), but it does not explicitly name alternatives or conditions for when to use this versus get_agent_readiness or find_agent_readiness. It gives context but no explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apis_io_searchARead-onlyInspect
START HERE. Federated overview of the APIs.io catalog for a query: the top matching APIs, providers, AND tags in one call, each with its total match count. Filter by tags, artifact types, industry, region, rating band. limit is per section. To page/sort the full list of ONE type, use find_apis / find_providers / find_tags; for one entity, get_api / get_provider.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| area | No | ||
| band | No | Rating bands: exemplar, strong, developing, thin, minimal. | |
| sort | No | Order results. Default: relevance with a query, composite (quality) when browsing. `demand` = Fortune-1000 adoption, scoped to the query. | |
| tags | No | 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. | |
| limit | No | Top matches to return per section (apis/providers/tags). | |
| match | No | any | |
| region | No | ||
| return | No | Return only this kind of match. Default: every kind. | |
| context | No | 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. | |
| industry | No | ||
| min_score | No | ||
| providers | No | ||
| artifact_types | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds valuable behavioral context beyond that: the federated multi-section return, per-section limit semantics, and the disclosure that the `context` parameter is never used in ranking. It does not mention pagination or output format details, but the core behaviors are well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with 'START HERE' and the core purpose, followed by the routing to alternatives. No wasted words; every sentence carries information an agent needs to select and call the tool correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 14 parameters and no output schema, the description adequately explains the return shape (top matches per section with counts) and the main filtering options, and routes to more specific tools for deep dives. It doesn't enumerate all filter values or the full response structure, but for an initial overview tool this is sufficient; an agent can infer the rest from the schema and tool naming.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is roughly 50% (8 of 14 params documented). The description adds meaning by naming the filter dimensions (tags, artifact types, industry, region, rating band) and clarifying that `limit` is per section, which partially compensates. However, several parameters (area, providers, min_score, industry, artifact_types) are left without explanation in either the schema or description, so the coverage gap is only partially addressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('search') and resource ('APIs.io catalog') and clearly describes the federated overview behavior (returns APIs, providers, tags with counts). It explicitly distinguishes itself from sibling tools find_apis/find_providers/find_tags and get_api/get_provider, making its scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Opens with 'START HERE' positioning it as the entry point, and explicitly tells the agent when to use alternatives: 'To page/sort the full list of ONE type, use find_apis / find_providers / find_tags; for one entity, get_api / get_provider.' This gives clear routing guidance and conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_statusARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true; the description adds a plan requirement, pricing under pay-as-you-go, plan inclusion, and the fact that reviewer notes are returned. It does not describe failure behavior for unknown ids or rate limits, but given the read-only annotation, the added context is meaningful and non-contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but each sentence adds information: status list, plan requirement, error-reporting path, and pricing. The leading 'INFLUENCE —' and the trailing 'See apis://prices' are slightly extraneous, but the overall length is appropriate for the behavioral and cost information conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The operation is simple; the description covers what is returned (statuses and notes), the required plan, pricing, and an error-handling alternative. With no output schema, it reasonably explains the return shape, though it omits behavior for invalid or unknown ids and any polling guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents context but not id (50% coverage); the description says 'The id identifies the request,' which adds only minimal semantics and no format or example. The context parameter is already fully described in the schema, and the description does not add to it. Thus the description partially compensates for the missing id documentation but not richly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly identifies the resource as 'a check request by id' and enumerates the possible statuses (queued, in_review, running, done, rejected, needs_info), so an agent can tell this is a status lookup. The opening 'INFLUENCE —' is stylized and lacks an explicit verb like 'retrieves' or 'returns', and it does not contrast with sibling lookups such as my_checks or request_check, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States the precondition that the Influence plan is required and explicitly says to use report_correction or the api-evangelist repo for error reporting, giving a when-not and an alternative. It does not spell out when to prefer this over related check-management tools (e.g., my_checks, request_check), so usage guidance is strong but not exhaustive.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond annotations by revealing that this is a human-mediated, asynchronous operation returning 202, requiring DNS or file publication, and ending with manual email verification. It also discloses pricing model and that no further API calls are needed. This is rich behavioral context that the annotations (readOnlyHint=false, destructiveHint=false) do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but efficient, front-loading the core purpose and then walking through the asynchronous flow in a compact way. Every sentence adds information; the pricing and no-further-call notes are relevant. The 'INFLUENCE —' prefix is slightly opaque but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and a non-trivial human workflow, the description covers the key elements: status code, token, hosts, verification steps, expected email follow-up, tracking via check_status, and pricing. The main gap is that 'slug' is never defined or tied to how an agent should discover the correct listing identifier.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: the required 'slug' parameter is undocumented in the schema, and the description does not explain it beyond the general concept of a listing. The context parameter is well-described in the schema, but the description adds no parameter-level meaning. The token/hosts details refer to the response, not to how arguments should be supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('ask to claim a listing as yours') with a clear resource (listing) and outcome (verification token). It is distinguishable from sibling tools like watch_listing or check_status because it centers on claiming ownership, not watching or status-checking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells the agent when to use it: when you want to claim a listing you own. It also provides clear post-invocation guidance ('there is nothing else to call', 'Track it with check_status'), which effectively scopes the workflow. It does not name alternative claim-related tools or explicitly state when not to use it, so it falls just 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.
cohort_capabilitiesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| slug | Yes | ||
| cursor | No | Resume offset from a previous response's next_cursor. Omit for the first page; keep calling while next_cursor is not null. | |
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true, so the safety profile is known. The description adds valuable behavioral context: pagination behavior (byte-budgeted chunks, complete flag, next_cursor), pricing tier, and the fact that large cohorts are chunked. It also clarifies the 'context' parameter is never used for ranking. This goes beyond the annotation without contradicting it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-organized: purpose first, then pagination, then pricing. Every sentence earns its place. It is slightly long but each clause carries information. The front-loading of 'UNDERSTANDING' and the core purpose is effective. Minor deduction for the pricing sentence being somewhat tangential to tool invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only paginated list tool with no output schema, the description covers the essential invocation flow: what it returns, how to paginate, and how to handle the context parameter. It does not describe the exact shape of the response items, but the absence of an output schema makes that a minor gap. The pricing and inclusion info is a bonus. Overall, an agent can call this tool correctly with the information given.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (cursor and context have descriptions; kind and slug do not). The description compensates by explaining the pagination semantics of cursor ('call again with cursor set to next_cursor') and the purpose of context ('why you are asking... never included in the answer'). It does not explain kind/slug values, but those are fairly self-evident from the enum and the tool's purpose. The description adds meaning beyond the schema for the pagination flow.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb and resource: 'UNDERSTANDING — what every member of a cohort actually publishes: artifact counts by type plus the agent-readiness dimensions each one satisfies.' It names the specific output (capability matrix) and distinguishes it from sibling tools like cohort_stats or cohort_scores by focusing on artifact counts and agent-readiness dimensions. The title 'Cohort capabilities' is reinforced, not merely restated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit pagination instructions ('while complete is false, call again with cursor set to next_cursor') and pricing context ('Priced B2... $0.05 per call... included in Understanding and Influence'). It does not explicitly name alternative tools or when-not-to-use, but the context of 'capability matrix behind a market report' implies its use case. Slight gap: no explicit exclusion of when to use cohort_stats or cohort_scores instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cohort_failuresARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| page | No | ||
| slug | Yes | ||
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, so no mutation risk needs restating. The description adds a meaningful limitation ('Named checks only — facet rollups cannot name the checks underneath them') and a detailed cost model with a cap and plan inclusion, which is useful context beyond annotations. It does not describe return formatting, but the read-only safety profile is already covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads the core purpose and then adds the gap_analysis contrast, a limitation, and pricing – all useful. However, the rhetorical 'Turns fix your OpenAPI...' line and redundant 'See apis://prices' after 'Estimate first' add fluff, so not every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description only loosely suggests the return is named failing checks ranked by cohort-mean impact; it does not state record fields or sorting beyond 'ranked'. It also never explains how to resolve a valid slug or where the cohort/market identifier comes from. Pricing and read-only safety are covered, but invocation-critical semantics are incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only the context parameter has schema description coverage (20%), and the description adds no explicit guidance for kind, slug, page, or limit. It hints at 'industry' and 'market', but never maps those hints to the required slug/kind semantics or to pagination. With low schema coverage and no descriptions in the text, this is a clear gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description defines the tool as revealing the agent-readiness checks a cohort's members most commonly fail, ranked by potential impact on the cohort mean. It distinguishes itself from gap_analysis by naming it as the inverse, which pinpoints the resource and the analytic angle. This makes the purpose concrete even without an imperative verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly contrasts this tool with gap_analysis: under-served markets go there, rubric failures go here. This gives an agent a clear decision rule for its closest sibling. It does not cover other sibling tools, but the key alternative is handled.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cohort_historyARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| slug | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation is reinforced rather than contradicted. The description goes further by disclosing that membership changes over time, that results are means over members present on each date, and that movements cannot be attributed to scores alone without considering population change. It also adds pricing/plan context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded with the core definition. The narrative about the missing middle and pricing information both earn their place by aiding tool selection and cost awareness, though the text is slightly longer than strictly necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers output, caveats, and read-only behavior well. However, the required kind and slug parameters remain under-specified and there is no output schema to clarify them further. An agent can probably infer usage from the example, but the definition is not fully self-sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only the optional context parameter is described in the schema. The required kind and slug parameters are not explained — the description only hints at slug through the 'banking' example and never defines how the enum values map to cohorts. With schema description coverage at 33%, the description needed to compensate but largely does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what is returned — a set-level time series of Kin Score and agent readiness, with the mean over members present per date and members_scored. It also differentiates itself from per-provider and whole-dataset series, so it is clearly distinguishable from siblings like cohort_scores 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a concrete motivating use case ('how has banking moved over six months') and frames the tool as the missing middle between per-provider and whole-dataset series. It does not explicitly name sibling tools or state when not to use it, so it falls just short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cohort_rankingsBRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| page | No | ||
| slug | Yes | ||
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true, so safety is covered. The description adds meaningful behavioral context: returns two distinct orderings, emphasizes the rank gap as the key takeaway, and discloses per-result pricing with caps and plan inclusion. This goes beyond the bare annotation without contradicting it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence, and the interpretation note about rank gaps earns its place. The pricing details are somewhat redundant with the inline 'See apis://prices' pointer, but the description remains compact and well ordered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and low schema coverage, the description should explain return shape and parameter mapping, but it does not describe what fields a result contains beyond two ranks. It is usable because read-only safety is annotated and the purpose is clear, but meaningful gaps remain around response format and pagination behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20%, so the description must compensate, but it does not explain how `kind` and `slug` select the market/cohort, nor what `page` and `limit` control. The only parameter-adjacent detail is per-record pricing, which is about cost rather than parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource, 'the leaderboard for a market', and specifies its two ranking axes, which distinguishes it from generic score/stats siblings like cohort_scores or cohort_stats. A verb is implied rather than stated, and the relationship between 'cohort' and 'market' is left undefined, but the object is clear enough for selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it: for market leaderboards and cross-ranking 'gap' analysis. However, it names no alternatives, exclusions, or when-not-to-use conditions, and the pricing/estimate guidance is operational rather than a usage-selection rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cohort_scoresARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| page | No | ||
| slug | Yes | ||
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true, and the description does not contradict it. Beyond the annotation, the description adds significant behavioral context: a detailed pricing model ($0.005 per request + $0.0002 per record, capped at $0.50, pay-as-you-go, included in certain plans), billing category 'UNDERSTANDING', and a pointer to estimate costs first and to apis://prices. This goes beyond what the annotation supplies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately sized but every component earns its place: the purpose is front-loaded, the illustrative sentence aids comprehension, and the pricing and estimation details are essential for safe invocation. It is not as tight as a two-sentence ideal but contains no pure filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the core return concept (facet-level scores with cohort average and delta) and pricing behavior, but it omits how to identify a cohort (the slug parameter origin) and does not mention pagination behavior or defaults for 'page' and 'limit', despite the schema having explicit bounds. Given no output schema, it could have linked to find_cohorts or clarified the cohort reference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20% (only 'context' has a description). The tool description does not explain what 'slug' refers to or how 'kind' interacts with it, nor does it clarify defaults or behavior of 'page' and 'limit.' Since the schema is under-documented and the description does not compensate, an agent would have to infer that slug is a cohort identifier and know to use find_cohorts to obtain it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'UNDERSTANDING — facet-level scores for every member of a cohort, each with the cohort average and the delta against it.' This names the specific resource (cohort scores), the action (fetch facet-level scores), and the output shape (scores with cohort average and delta). The analogy ('A 60 in governance means nothing until you know the market sits at 45') further differentiates it from siblings like cohort_rankings 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes clear context: this endpoint is for understanding how a cohort's facet-level scores compare to the average, and is explicitly framed as 'the endpoint that says so.' However, it does not name sibling alternatives (e.g., cohort_rankings for rankings, cohort_stats for aggregate stats) or state when not to use it, so it stops short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cohort_statsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| slug | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses crucial behavioral details: it always includes a 'coverage' block indicating how much of the roster is scored and enrichment depth, and it warns that cohort enrichment depth spans ~42 points of catalog_gap, meaning part of any cohort number reflects coverage rather than market reality. It also provides pricing information. This goes far beyond the annotation and is essential for correct interpretation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat long but well-structured: it front-loads the purpose, then adds the live-computation context, the coverage caveat, and pricing. Each sentence serves a purpose, though some redundancy exists (e.g., 'computed live' and 'market-stats sheet' could be combined). Overall, it is efficiently organized and not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, the description adequately covers the expected output (statistics and coverage block) and the critical caveat about coverage affecting the mean. It also includes pricing. However, it lacks explicit parameter guidance and does not describe the output format in detail, which is a minor gap for a tool with no structured output definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not explain the parameters 'kind' or 'slug' beyond what the enum implies. With only 33% schema description coverage (only 'context' has a description), the description should compensate, but it offers no guidance on how to specify cohort type or slug. It adds no value for parameter usage, leaving agents to guess from the enum values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it provides 'the DISTRIBUTION for a whole market' with a specific list of metrics (mean, median, min/max, stdev, etc.) and identifies itself as the 'market-stats sheet from a Trend Report'. This is a clear verb+resource statement that distinguishes it from sibling cohort tools like cohort_scores (individual scores) or cohort_rankings (rankings) by focusing on aggregate distribution statistics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (for market-level distribution stats) but does not explicitly state when not to use it or name alternative tools. The phrase 'UNDERSTANDING — the DISTRIBUTION' suggests a use case, but there is no explicit guidance on selecting this over other cohort tools, leaving the agent to infer from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_gapsBRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only carry readOnlyHint=true and a title, so the description carries the transparency burden. It adds meaningful operational traits beyond the annotation: the tool performs cross-catalog synthesis ('Priced B2 (cross-catalog synthesis)'), has a concrete per-call cost ($0.05), and a pointer to authoritative pricing ('See apis://prices'). For an agent making cost-aware decisions, this is valuable behavioral context that the readOnlyHint alone does not provide. The 'UNDERSTANDING' framing is consistent with read-only semantics, so no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact at three sentences, with the core purpose front-loaded before pricing details. Each clause earns its place, and the pricing pointer is the only auxiliary sentence. It loses a point for the cryptic 'UNDERSTANDING'/'Priced B2' jargon, which requires proprietary knowledge to fully parse, but overall it is efficiently organized and free of redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining returns, and it does convey the return concept ('weakest investment dimensions'). However, the output shape remains structurally vague (list of dimensions? scored?), the required input semantic for 'slug' is never made explicit, and no behavioral guarantees (e.g., nothing about how the synthesis is computed) are given. It is adequate for a simple read-only tool but leaves the agent to infer what the result actually looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: the required 'slug' parameter has no description in the schema, while 'context' is well-documented. The description partially compensates by implying slug identifies the company ('A company's weakest investment dimensions'), but it never explicitly states that slug is the company identifier or describes its expected format. The 'context' parameter is fully covered by the schema, so description credit is only needed for slug, which it only half-provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific output concept: 'A company's weakest investment dimensions — where it is thin and a vendor could sell in.' This identifies both the resource (a company) and the synthesized result (weakness dimensions with vendor sell-in opportunities), which is more specific than a generic name like 'company_gaps'. It earns a 4 rather than 5 because the verb is implicit (the 'UNDERSTANDING' prefix is a category label, not an action verb) and it doesn't distinguish itself from siblings like gap_analysis, industry_gap_analysis, or get_company_insight.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage-adjacent content is the pricing model ('$0.05 per call under pay-as-you-go; included in Understanding and Influence'), which hints at cost considerations but says nothing about when to choose this tool versus alternatives. With highly similar siblings present — gap_analysis, industry_gap_analysis, insights_dimensions, get_company_insight — the absence of any when/when-not routing is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_cohortsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | First cohort as <kind>:<slug>, e.g. "tag:payments". | |
| b | Yes | Second cohort as <kind>:<slug>, e.g. "industry:banking". | |
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=true, so the description carries the full behavioral burden. It exceeds expectations by disclosing the depth_confounded caveat, pricing structure (per result, per record, cap, included plans), and the purpose of the context parameter. It also clarifies that context is never used for ranking. This is rich, non-obvious behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then adds returns, a unique value proposition, a critical caveat, and pricing. While it is somewhat verbose, every sentence adds value—pricing and estimate guidance are useful for an agent. It is not overly redundant, though the pricing details could arguably be moved to an external reference. Still, it is well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the lack of an output schema, the description tells an agent exactly what to expect: distributions, deltas, and the depth_note field. It also explains the depth_confounded caveat, pricing, and context usage. For a 3-parameter tool with no output schema, this is complete: an agent knows what it does, what it returns, and how to interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already describes both a and b parameters with examples. The description does not add any additional parameter semantics; it only mentions parameter behavior indirectly (e.g., context purpose), which is already in the schema. Baseline 3 is appropriate since schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'two markets side by side on one rubric' and lists exactly what it returns (distributions, deltas on score, agent readiness, facets, adoption rates). It distinguishes itself from sibling tools like cohort_scores (single cohort) and compare_providers (providers rather than cohorts) with a specific verb and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it is the tool for comparing two cohorts, and even illustrates with a concrete question ('is US payments further along than UK banking?'). It implies when to use it (when a cross-market comparison is needed) but does not explicitly name alternatives or exclusions, 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.
compare_providersARead-onlyInspect
UNDERSTANDING — Compare 2+ providers side by side: composite/band, per-facet leaders, and an artifact-coverage matrix. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | 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. | |
| providers | Yes | Provider slugs to compare (2+). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers safety, so the description needs less behavioral disclosure. It adds useful non-obvious context: the pricing tier, per-call cost, and billing inclusion, as well as the shape of the synthesized output. It does not contradict the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences carry the full definition with no filler. The first sentence front-loads the tool's purpose and output, while the second adds pricing context. Every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple two-parameter schema and readOnly annotation, the description is largely complete: it explains what results to expect and the cost implications. Minor jargon like 'composite/band' and 'per-facet leaders' could be clearer, but an agent can still 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.
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 parameters. The description only implicitly reinforces the '2+' constraint on providers and adds no new meaning beyond the structured schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Compare') with a clear resource ('2+ providers') and enumerates concrete output components: composite/band, per-facet leaders, and artifact-coverage matrix. This clearly differentiates it from siblings like compare_cohorts, which target a different resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear context for when to use the tool: comparing 2+ providers side by side. It does not explicitly mention alternatives or when-not-to-use cases, but the '2+' condition and 'providers' resource establish the core use case without ambiguity.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| name | No | ||
| slug | Yes | ||
| tags | No | ||
| contact | No | ||
| context | No | 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. | |
| industries | No | ||
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=false, destructiveHint=false) are neutral, but the description adds significant behavioral context: it returns 202, is applied by a human, score and band are ignored, and payment is never from prepaid balance. This goes beyond annotations and prepares the agent for asynchronous, human-mediated execution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but efficient; each sentence adds value—purpose, human review, pricing, alternative. It is front-loaded with the primary action. It could be slightly trimmed for brevity, but it avoids redundancy and is well-structured for an agent scanning for key details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 8 parameters and no output schema, the description covers the essential behavior: async human application, return code 202, pricing, and the free alternative. It does not specify the response body format, but for a correction proposal that is acceptable. The context is sufficiently complete for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 13% (only context is described), so the description must compensate. It names the key editable fields (name, description, url, industries, tags) and notes that score/band are ignored, adding meaning beyond the schema. However, it omits the 'contact' parameter and doesn't elaborate on how 'context' is used (though schema covers it). Overall, it addresses most parameters but not all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool proposes corrections to a listing's name, description, url, industries, and tags. It uses the specific verb 'propose corrections' and identifies the resource ('what we say about you'). It also differentiates from siblings like report_correction (free for own company) and dispute_finding, making its role unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains when to use this tool versus the alternative: 'If this is your own company and our data about it is wrong, report_correction is free.' It also clarifies the pricing model and that it is a paid influence action, giving agents clear selection criteria without ambiguity.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| context | No | 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. | |
| members | No | Provider slugs and/or aids to seed the list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate readOnlyHint=false and destructiveHint=false, so the description carries the burden of explaining side effects. It goes beyond the annotations by stating that the list is 'persistent', that the caller owns it, that an API key is required, and that this is a priced 'single-entity synthesis' call. This gives agents meaningful behavioral context without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the essential action and object. The pricing and API-key details are useful but are appended without bloat. The 'UNDERSTANDING —' prefix is a minor structural oddity but does not detract from readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter tool with no nested objects and no output schema, the description is reasonably complete. However, it does not mention what the caller receives after creation (e.g., list ID or confirmation), which is relevant since no output schema provides that information. The mention of persistence and ownership helps, but the post-conditions are left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, with 'context' and 'members' well-documented in the schema itself. The description adds little beyond the schema for parameters; 'providers or APIs' loosely maps to the members field, but there is no additional detail about how name is used or how members should be formatted. This is adequate but not compensatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb ('Create'), the resource ('a named, persistent list'), and the domain ('providers or APIs'). It also adds useful qualifiers—'shortlist / stack you own'—that distinguish this from broader search/read tools like find_apis or get_list. The purpose is immediately recognizable from the first sentence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description communicates preconditions (requires an apis.io API key) and pricing context, but does not explicitly state when to use this tool versus alternatives like add_to_list or delete_list. Usage is implied by the name and the act of creating a new list, but there is no explicit when-not-to-use guidance or direct comparison to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_listADestructiveIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| context | No | 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. |
TDQS
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 core behavioral traits are covered. The description adds pricing context (B1, $0.01) and the ownership requirement, but does not disclose side effects like permanence of deletion or typical responses. With annotations carrying the safety profile, this is acceptable but not enriched beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loads the purpose. The pricing information is extra but not verbose. It could be slightly tighter (dropping the 'UNDERSTANDING —' prefix), but overall it wastes little space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple delete with one required parameter and two parameters total. Annotations cover destructive/idempotent behavior. However, the description does not explain what happens on success (e.g., response structure) or address the ownership constraint in detail (e.g., error handling if not owned). For a low-complexity tool, this is adequate but leaves minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50% because the 'id' parameter lacks a description, while 'context' is fully described in the schema. The tool description does not mention either parameter, leaving 'id' entirely undefined in both the schema and the description. This is a significant gap that the description fails to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Delete'), a resource ('a list'), and an ownership constraint ('you own'). It clearly differentiates from siblings like create_list, get_list, and list_lists, leaving no ambiguity about what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a prerequisite (ownership) but provides no explicit guidance on when to use this tool versus alternatives like delete_saved_search or other deletion tools. It also doesn't state conditions such as 'only delete if the list is no longer needed' or mention possible errors. Some context is given via pricing, but usage guidance is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_saved_searchADestructiveIdempotentInspect
UNDERSTANDING — Delete a saved search you own. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry destructiveHint=true, readOnlyHint=false, and idempotentHint=true, so the description does not need to restate those. It adds the authorization scope 'you own' and pricing context, but does not expand on what destruction entails or error behavior. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action is expressed in a short, front-loaded phrase, and the pricing/ownership details are compact. The 'UNDERSTANDING —' prefix and 'B1 (single-entity synthesis)' jargon add minor noise, but the description remains fast to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-required-parameter destructive idempotent operation, the description plus annotations cover safety and ownership. Still, it omits how to retrieve the saved search id and what the result of a successful deletion looks like, so an agent must infer these from sibling tool names or error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: the required 'id' parameter has no schema descriptionable text, and the tool description does not explain where the id comes from or what format it takes. Since the schema already documents the optional context parameter, the description adds no semantic value for parameters over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific verb 'Delete', the resource 'saved search', and the ownership constraint 'you own'. This clearly distinguishes it from siblings like delete_list, save_search, and run_saved_search without requiring schema inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a key precondition: only saved searches you own can be deleted. However, it does not explicitly guide the agent on when to choose this over alternatives or how to obtain the id, such as via list_saved_searches. Usage is implied from the tool name and ownership phrase rather than fully specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deprecated_operationsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds meaningful behavioral context: results are ranked across all providers, pricing is per request and per record with a cap, and the data source is provider-published OpenAPI deprecation markers. It does not describe response fields, but no output schema exists and the ranking statement implies the core 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but efficient: it front-loads the core purpose, then adds usage context, the drill-down alternative, and pricing. The statistics and pricing URL are arguably optional but relevant for a paid catalog view, so no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paginated, paid, read-only catalog tool with no output schema, the description covers purpose, ranking, alternatives, and cost. It would be more complete with an explicit statement of the response format or fields, but the ranking description and schema constraints make invocation feasible.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%: context is well described, but page and limit have no textual descriptions. The tool description does not compensate for page/limit semantics; it only obliquely references per-record pricing. The agent must rely on conventional meaning of pagination parameters, which is a real gap for low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific resource and action: every provider publishing at least one deprecated operation in its own OpenAPI, ranked by count. It clearly differentiates this catalog-level view from per-provider drill-down tools by noting that a provider's own deprecated filter requires you to already suspect the provider.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly explains when this tool is valuable ('which nothing could see before') and names the alternative drill-down path: get_provider_operations(deprecated=true). This gives the agent a concrete routing rule between siblings.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| claim | Yes | ||
| contact | No | ||
| context | No | 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. | |
| evidence_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say it is not read-only and not destructive; the description adds substantial behavioral context beyond that: it returns 202, a human fetches and checks the evidence, and the caller is emailed either way — making the async human-in-the-loop nature explicit. It also discloses auth expectations (no ownership proof) and pricing/billing behavior. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but efficient, front-loading the core action ('Send the claim in words and a URL') before pricing and alternatives. Every sentence carries information. The stylistic 'INFLUENCE —' opener and quoted framing are slightly oblique but don't waste words; the apis://prices pointer is a reasonable way to defer pricing detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and sparse parameter descriptions, the description carries a heavy burden. It covers the overall flow well (submit → 202 → human review → email either way) and pricing, but leaves 'slug' undefined (what does it identify — the finding? the listing?), which an agent needs to invoke correctly. The evidence_url requirements are also unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 20% (only 'context' has a description), so the description must compensate. It maps 'claim' to the claim-in-words and 'evidence_url' to the evidencing URL, and 'emails you either way' implies the role of 'contact.' However, the required 'slug' parameter is completely unexplained in both schema and description, and 'contact' format is not specified — a real gap for a required param.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete action — send a claim in words plus an evidence URL to dispute a finding — and the title adds 'Dispute a finding on a listing you own.' It names the sibling it is not (report_correction), which helps disambiguation. Minor deductions: 'finding' assumes internal vocabulary, and the title's ownership framing slightly conflicts with the description's explicit statement that ownership proof is not required.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when/when-not guidance: any paying caller can use this to dispute data, and if it's your own company, report_correction is free instead. It also states eligibility ('open to any paying caller... should not have to prove ownership') and pricing conditions (included in Influence vs. $49 one-off, never from prepaid balance). This fully routes an agent to the right tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enrich_providerARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Provider slug OR any identifier resolve() accepts. | |
| fields | No | Field groups: profile, onboarding, artifacts, rating, security, insights. Default: profile+onboarding+artifacts+rating. | |
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description adds meaningful behavioral context: it resolves a slug OR any identifier, returns exactly the requested groups, and mentions the 2026-08-31 plan migration. It also discloses pricing and plan inclusion. It doesn't describe error behavior or rate limits, but the read-only annotation plus the explicit scoping covers the main behavioral surface.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the core value proposition is in the first sentence, followed by the group list, the migration note, and pricing. Every sentence earns its place, and there is no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only enrichment tool with a clear schema and no output schema, the description covers the essential decision factors: what it does, when to use it, what groups are available, and cost. It doesn't describe the return shape, but since there is no output schema and the tool is a data-fetching aggregation, a brief note on the response format would be a minor improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all three parameters. The description adds value by explaining the 'field groups' concept and the default set, and by clarifying that 'id' accepts a slug or any identifier resolve() accepts. The 'context' parameter is already well-described in the schema, so the description doesn't need to repeat it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('enrich'), a resource ('provider'), and a precise mechanism: one call that resolves a slug or identifier and returns only the requested field groups. It explicitly contrasts itself with chaining four sibling get_provider_* tools, which makes its purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to use this instead of chaining get_provider + get_provider_rating + get_provider_artifacts + get_provider_onboarding, and it lists the available field groups. It also includes pricing and plan context, which helps an agent decide when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_datasetARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | Resume offset from a previous response's next_cursor. Omit for the first page; keep calling while next_cursor is not null. | |
| context | No | 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. | |
| dataset | No | ratings | |
| co_brand | No | Optional partner name for a co-branded license — stamps the attribution the license carries. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description aligns with that by describing an export/read operation. The description adds meaningful behavioral context beyond the annotation: the dataset exceeds one response, pagination is cursor-based with a complete flag, chunks are byte-budgeted, and attribution is required. It does not contradict the annotation. A small gap is that it doesn't explicitly state the response shape, but the pagination behavior is well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded with the most important fact (whole dataset, not a page) and then flows through dataset options, pagination, attribution, and pricing. It is longer than ideal, but every sentence carries information an agent needs to call the tool correctly. The pricing detail is arguably extra, but it supports the licensing use case. Slight deduction for length and for burying the pagination protocol mid-description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description does a good job of explaining what comes back (chunks of data, complete flag, next_cursor) and how to handle it. It covers the three datasets, the pagination loop, attribution, and pricing. It doesn't describe the exact structure of each chunk or the movement summary format, but the description is sufficient for an agent to invoke the tool and handle the response correctly. The licensing/pricing context is a bonus that helps the agent decide whether this tool is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, and the description adds meaning beyond the schema by explaining the dataset enum values in detail (what each dataset contains) and by describing the cursor pagination contract. The context parameter is explained in the schema, and the description reinforces the licensing/attribution context. The co_brand parameter is only lightly touched ('stamps the attribution'), but the schema already covers it. This is above the baseline 3 because the description enriches the dataset and cursor semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('export') and resource ('the WHOLE dataset'), and enumerates the three dataset options (ratings, providers, history) with what each contains. It also distinguishes itself from page-limited views by explicitly saying it is not a 100-row page, which differentiates it from sibling tools like get_rating_history or find_ratings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly names the intended audience ('media outlets and analysts licensing the data to publish rankings and trends'), explains the pagination protocol ('while complete is false, call again with cursor set to next_cursor and concatenate data'), and gives pricing/licensing context. It also warns that history is the one dataset that cannot be reconstructed after the fact, which is a strong when-to-use signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_stackARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | Optional region slug to prefer. | |
| context | No | 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. | |
| capabilities | Yes | The capabilities the stack needs, e.g. ["payments","email","identity"]. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description doesn't need to repeat that. It adds value by disclosing the output type (APIs.json with an Arazzo hint), the pricing model (B3, $0.002/row, $0.50 minimum), and pointing to apis://prices for details. This goes beyond the annotation's safety profile and clarifies the operational context, though it does not mention failure modes 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence that front-loads the primary action and output, then adds pricing and a reference. Every clause earns its place — no fluff, no redundancy. It is well-structured for an agent to quickly parse the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters (all schema-documented), a readOnlyHint annotation, and no output schema, the description covers the essential aspects: what it produces, the pricing, and the domain context. It doesn't explain what 'adoptable' or 'Arazzo hint' means, but these are likely domain terms an agent would understand. The main omission is a note on any limits (e.g., max capabilities), but overall it is sufficiently complete for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 three parameters. The description adds little beyond what the schema states — it implies the capabilities parameter maps to the 'designed capability stack' but doesn't elaborate on region or context semantics. With full schema coverage, the baseline of 3 is appropriate; the description does not significantly enrich parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Export'), a precise resource ('designed capability stack'), and the output format ('adoptable APIs.json document with an Arazzo hint'). It clearly distinguishes this from sibling tools like export_dataset (different output) and find_apis_json (search vs. export) by naming the deliverable and the team-facing intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when you have a designed capability stack and want an exportable APIs.json document. It does not explicitly name alternatives or give 'when not to use' conditions, but the context is clear enough for an agent to route correctly. A minor gap is the lack of explicit contrast with export_dataset or find_apis_json.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_agent_readinessARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| has | No | Comma-separated dimensions the provider MUST satisfy (ANDed), e.g. mcp_server,idempotency. | |
| band | No | Restrict to one or more agent-readiness bands. | |
| page | No | ||
| sort | No | Ranked by agent readiness, highest first. | |
| limit | No | ||
| context | No | 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. | |
| missing | No | Comma-separated dimensions the provider must NOT satisfy (ANDed) — the gap view. | |
| min_score | No | Minimum agent-readiness score, 0-100. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint already marks this safe; the description adds substantial value beyond that: pricing behavior ($0.005 per request, $0.0002 per record, $0.50 cap), included plan tiers, an estimate endpoint, and the return contents ('agent score + band alongside the Kin Score'). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but efficient: the 'UNDERSTANDING' category and scope are front-loaded, the examples earn their place, and pricing is relevant for cost-sensitive calls. It is slightly long, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with no output schema, the description covers the core result shape, filter semantics, and pricing. It could be more complete on alternate sibling routing and the exact return structure, but the schema covers most parameters and the main behavior is well specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, so the description still carries some weight. It adds real semantics for the two primary filters — has and missing — with worked examples and implicit AND behavior. It does not explain page or limit, but those are largely self-evident from schema defaults and constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action — 'Rank providers by agent readiness' — over a clear resource ('the agent-readiness leaderboard across the whole catalog'), and distinguishes itself from sibling find_agents or get_agent_readiness by emphasizing whole-catalog ranking and cohort filtering with has/missing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context and concrete use cases: has='mcp_server,protected_resource_metadata' is the OAuth-capable MCP cohort; missing='agent_card' is the addressable market for a fix. It does not explicitly name alternatives or say when not to use this tool, 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.
find_agentsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true, and the description adds meaningful behavioral context: no account is required, only self-registered agents appear, and each row carries verification details such as grade, protocol version, and transport. This goes beyond what the annotation alone conveys, though it does not discuss pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the most operationally relevant fact ('FREE, no account'). The two sentences are information-dense, though the final metaphor ('the door...') adds rhetorical color rather than strictly necessary specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with only three optional parameters and no output schema, the description covers the essential facts: access requirements, data source, eligibility, and returned row fields. It is slightly thin on exact output format and ordering, but the tool is simple enough that the description is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the description does not explain page or limit parameters at all. The context parameter is already well documented in the schema, so the description adds nothing to parameter understanding beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a clear resource ('the A2A agent registry'), the population ('agents that registered THEMSELVES by serving an agent card and calling register_agent'), and the row contents. It does not explicitly name a sibling alternative, but the registry framing and self-registration mechanism differentiate it from the many other find_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it by calling it 'the door an unattended agent can walk through unaided' and contrasting it with options that need 'a person or a voucher.' However, it stops short of naming a specific alternative tool or stating a clear when-to-use versus when-not-to-use rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_apisARead-onlyInspect
Paginated, sortable list of APIs across providers — filter by tag, provider, artifact type, industry, region, or rating band. Matching is LEXICAL: q searches the API's own name and description. apis_io_search reports a larger API total for the same q because it also counts every API belonging to a provider whose NAME matched; pass include=["via_provider"] here to get that same union, and meta.query.via_provider says how many rows it added. Use apis_io_search first for a cross-type overview.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| area | No | ||
| band | No | Rating bands: exemplar, strong, developing, thin, minimal. | |
| page | No | ||
| sort | No | Order results. Default: relevance with a query, composite (quality) when browsing. `demand` = Fortune-1000 adoption, scoped to the query. | |
| tags | No | 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. | |
| view | No | summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity). | summary |
| limit | No | ||
| match | No | any | |
| fields | No | Return exactly these top-level keys (overrides view). | |
| public | No | Only providers callable publicly with no signup (onboarding=open). (providers only) | |
| region | No | ||
| context | No | 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. | |
| include | No | via_provider — also return the APIs of providers whose name matched `q`, the union apis_io_search counts. Needs `q`; adds nothing without one. | |
| pricing | No | Access model — pricing: free, freemium, free-trial, paid, enterprise. (providers only) | |
| resolve | No | 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`. | on |
| try_now | No | Only providers a developer can start using at no cost right now (free/trial + self-serve/open). (providers only) | |
| industry | No | ||
| min_score | No | ||
| providers | No | ||
| onboarding | No | Access model — how to start: open (no key), self-serve, approval. (providers only) | |
| artifact_types | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnly annotation already signals safety, and the description adds substantive behavior beyond it: matching is 'LEXICAL', q only searches the API's own name/description, provider-name matches are excluded by default, and meta.query.via_provider reports the added rows. This is genuinely useful non-obvious behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with purpose, followed by differentiating semantics and routing advice. Every sentence earns its place; there is no filler or repetition of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, filterable list tool, the description covers core behavior, result-count semantics, and sibling routing. It lacks a general outline of the response shape, but the schema documents view/fields/limit, and the description reveals the key meta field, so the remaining gap is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 59% schema coverage, the description compensates well by naming the filter families (tag, provider, artifact type, industry, region, rating band) and by clarifying q and include semantics. It does not enrich every undocumented parameter, but it adds meaningful context where the schema is silent or ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Paginated, sortable list of APIs across providers.' It names the filtering dimensions and immediately contrasts itself with apis_io_search, so an agent can distinguish this tool from its closest sibling without inspecting the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit routing guidance: 'Use apis_io_search first for a cross-type overview.' It also explains exactly when to pass include=["via_provider"] to match apis_io_search's larger count, turning a likely source of confusion into an actionable choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_apis_jsonARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| page | No | ||
| sort | No | Order: relevance (catalog order), provider, or name. | |
| tags | No | 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. | |
| limit | No | ||
| match | No | any | |
| context | No | 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. | |
| include | No | ||
| providers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, covering safety. The description adds that include=['content'] inlines bodies, which is a useful behavioral detail. However, it doesn't describe pagination behavior, sorting defaults, or output format. With annotations covering the read-only aspect, the description adds some value but not deep behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences with no fluff. The purpose is front-loaded, then filter options, then the sibling alternative. Every sentence adds value, and the structure is clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 9 parameters and no output schema, the description gives essential info: what it searches, filters, include behavior, and a sibling pointer. It doesn't explain pagination or sorting defaults, but those are in the schema. The description is adequate for an agent to call it correctly, though it could mention limit/page defaults. A 4 is reasonable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 44%, so the description must compensate. It mentions q, tags, providers, and include, adding meaning for those. However, it omits page, sort, limit, match, and context (context has a schema description, but others don't). It partially compensates but doesn't fully cover the undocumented parameters. A 3 is appropriate given partial coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it indexes APIs.json discovery documents across the catalog, using the verb 'find' implicitly through the name. It clearly names the resource type (APIs.json) and mentions filtering by q/tags/providers and include parameter, distinguishing it from generic artifact search. It's specific enough, though 'The APIs.json discovery documents themselves' is slightly awkward but understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly directs the agent to 'Use find_artifacts for cross-type search', naming the alternative tool and the condition that selects it. It also lists the filterable fields (q/tags/providers) and the include option, giving clear guidance on what this tool is for versus its sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_arazzoARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| page | No | ||
| sort | No | Order: relevance (catalog order), provider, or name. | |
| tags | No | 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. | |
| limit | No | ||
| match | No | any | |
| context | No | 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. | |
| include | No | ||
| providers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
ReadOnlyHint already covers the safety profile, and the description adds one useful behavioral trait: include=['content'] inlines bodies. But it says nothing about pagination, default response shape, or empty-result behavior, so transparency is adequate rather than rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four concise sentences lead with the object type and scope, then filters/inclusion behavior, then the sibling alternative. No word is wasted and the most decision-relevant information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nine-parameter tool with no output schema, this is serviceable: core filters and the main alternative are present, and defaults/enums cover page/limit/sort/match in the schema. But the missing provider input semantics, pagination behavior, and return format leave clear gaps an agent may have to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 44%, so the description must add meaning. It does identify q/tags/providers as the primary filters and explains that include inlines bodies, which goes beyond the schema. However, provider value format and the interaction of match/filters are still left implicit, so it only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Defines the resource precisely as Arazzo workflows across the catalog and adds the distinguishing trait 'multi-step API workflows chaining operations.' The closing pointer to find_artifacts further separates it from a sibling, so there is no ambiguity about what this tool returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit conditional alternative: 'Use find_artifacts for cross-type search.' This tells an agent when not to reach for this tool and where to go instead, 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.
find_areasBRead-onlyInspect
Browse the API Evangelist areas taxonomy (authentication, webhooks, payments, …) — curated, scored provider indexes. Search by text; sort by provider count.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| page | No | ||
| sort | No | ||
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safe read-only nature is covered. The description adds that the areas are 'curated, scored provider indexes' and that it supports text search and sorting by provider count, but it does not mention pagination behavior or what happens when no results match. With annotations covering safety, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences communicate the tool's essence: the taxonomy resource, its curated/scored nature, and the search/sort operations. There is zero fluff and the most important behavioral details are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a browse/search tool this description covers the core purpose, but with no output schema it leaves the result shape implied by 'provider indexes' rather than explicit. The allowed sort value for 'provider count' is also unspecified, which an agent must infer or experiment with.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20% (context). The description compensates partially by clarifying that 'q' is free-text search and that 'sort' can be by provider count, but it leaves page and limit under-specified (the schema only provides defaults/ranges) and does not enumerate accepted sort values or the meaning of the response.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Browse the API Evangelist areas taxonomy', with concrete examples (authentication, webhooks, payments) and the ability to 'Search by text; sort by provider count.' This distinguishes it from sibling find_* tools that search different entities, though it stops short of explicitly naming a sibling alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use find_areas versus alternatives like find_providers or get_area. It states the tool's capability but not the decision context or exclusions, so an agent cannot tell when this tool is the right choice over nearby siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_artifactsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| page | No | ||
| tags | No | ||
| type | Yes | ||
| limit | No | ||
| context | No | 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. | |
| include | No | ||
| providers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered. The description adds meaningful behavioral context: it is cross-type, supports a defined list of artifact types, and include=['content'] inlines bodies. However, it does not clarify pagination, limit behavior, or the meaning of 'PRO: scopes, security', and the type string format is ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose rings. The type list is long but functionally useful Newton. The only waste is the cryptic 'PRO: scopes, security' phrase, which adds little without further explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers primary purpose, type values, and the include behavior, and it has no output schema to document return values. But with 8 parameters and only 13% schema description coverage, the lack of clarification for q, tags, providers, pagination, and exact type format leaves meaningful gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 13%, so the description must compensate. It adds meaning for type by listing valid artifact types and for include by explaining 'inlines bodies', but it leaves q, tags, page, limit, and providers unexplained. The listed type names also use hyphens (e.g., 'rate-limits', 'apis-json') which may not match the actual string values expected by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb ('Find'), a clear resource ('artifacts'), and scope ('across the catalog'), plus explicitly labels this as the 'cross-type entry point'. It also distinguishes itself from the dedicated find_<type> siblings, so the agent knows exactly what this tool does and how it differs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly directs usage: 'prefer those when you know the type' in reference to the dedicated find_<type> tools papers. It also names the sibling alternative pattern and the condition for choosing it, which is clear routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_asyncapisARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| page | No | ||
| sort | No | Order: relevance (catalog order), provider, or name. | |
| tags | No | 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. | |
| limit | No | ||
| match | No | any | |
| context | No | 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. | |
| include | No | ||
| version | No | AsyncAPI spec version — the `asyncapi:` declaration, e.g. 2.6.0 or 3.0.0. | |
| providers | No | ||
| info_version | No | The document's OWN version from info.version, set by whoever wrote the spec. Absent on 70% of them. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint already covers safety; the description adds the include=content inlining behavior, which is useful. It does not mention pagination, response shape, or sorting defaults, but for a read-only search tool the annotations plus basic filter info are sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the tool's purpose and then the key usage guidance. No filler, no repeated schema content; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search tool with 11 parameters, the description covers the essential scope, filtering, and the sibling for broader search. No output schema exists, but the definition gives enough context to select and invoke the tool correctly in most cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 55%, and the description clarifies the meaning of q, tags, providers, and especially include=content (inlines bodies). Other parameters like match, limit, and page are left to the schema or are self-evident, so the description adds marginal but useful value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Identifies a specific artifact type (AsyncAPI/event-driven specs) with catalog scope and explicitly distinguishes from find_artifacts. The phrasing 'Event/streaming APIs' reinforces the resource kind, leaving no ambiguity about what this tool searches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides concrete filtering options (q/tags/providers) and the include=content behavior, and names find_artifacts as the cross-type alternative. It doesn't contrast with every find_* sibling, but the one alternative given is the most relevant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_capabilitiesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Match against name, BC id or industry. | |
| all | No | Include capabilities with zero catalog coverage (default false). | |
| page | No | ||
| limit | No | ||
| context | No | 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. | |
| industry | No | e.g. "Banking & Capital Markets", "Software & Technology". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint, the description discloses meaningful behavioral traits: the default filters to catalog-covered capabilities, the all=true mode produces a 'real answer rather than a gap' by explaining that most enterprise activity runs on internal systems, and it provides full pricing mechanics with a cap and estimate endpoint. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and default behavior, but the pricing block is dense and contains the confusing juxtaposition 'Free. Priced per result —'. It conveys necessary cost information but would benefit from tightening and removing the contradictory-sounding opening.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter tool with no output schema, the description covers the domain, default behavior, the all-mode interpretation, and cost implications. It partially describes return content (capability counts per provider) but never details the return shape or pagination behavior, which would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, so the schema already documents most parameters. The description adds valuable interpretation for the all parameter ('real answer rather than a gap') and gives model context for q/industry, but it does not add meaning for page, limit, or context beyond the schema. This is acceptable but not exceptional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'START HERE for what can a business do with these APIs' and then defines the exact resource: a business-capability model with 333 capabilities across 28 industries and per-capability provider counts. This is a specific verb-plus-resource statement that clearly separates it from detail-lookup siblings like get_capability or get_provider_capabilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'START HERE' instruction gives clear context: use this tool as the entry point for capability questions, and the all=true guidance explains how to include zero-coverage capabilities. However, it never names alternatives or states when not to use it, so it stops short of full exclusion/alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_channelsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| page | No | ||
| sort | No | Order: relevance (catalog order), provider, or name. | |
| tags | No | 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. | |
| limit | No | ||
| match | No | any | |
| context | No | 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. | |
| include | No | ||
| version | No | AsyncAPI spec version the channel is defined in, e.g. 2.6.0 or 3.0.0. | |
| protocol | No | Transport the channel runs over: ws, http, sse, kafka, mqtt, amqp, nats, grpc… Empty where the document never says, which is most of them. | |
| providers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds behavior about the include=['content'] inlining bodies, which is useful. But it doesn't describe return format, pagination, or any side effects—though for a read-only tool, this is acceptable. The description doesn't contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. The first sentence states the resource and core filters, the second points to the alternative. Information is front-loaded and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 parameters and no output schema, the description is adequate but not exhaustive. It covers the main intent and the include behavior, and the schema documents the rest. However, it doesn't describe the return structure or any nuance about how filters interact (e.g., match=any/all), which could be relevant. It's complete enough for a basic call but not for advanced usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 55%, and the description mentions q, tags, providers, and include, but only summarizes them without adding deeper meaning beyond what the schema already provides for q and tags. The include behavior is clarified, which is a plus. However, parameters like page, sort, match, context, version, and protocol are not touched in the description, so it doesn't fully compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('find') and resource ('AsyncAPI event channels'), and clarifies it's for individual topics/streams. It also differentiates from find_artifacts by naming the alternative for cross-type search, so an agent can immediately tell which tool fits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly names find_artifacts as the alternative for cross-type search, which is a clear when-not-to-use signal. It also mentions the key filters (q/tags/providers) and the include option, giving enough context for typical usage. However, it doesn't enumerate other find_* siblings or state exclusions 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_cohortsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Substring match on cohort name or slug. | |
| kind | No | Restrict to one roster source. | |
| page | No | ||
| tier | No | Promotion tier: report (100+, report-grade), brief (25+), data (everything else). | |
| limit | No | ||
| context | No | 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. | |
| min_providers | No | Only cohorts with at least this many providers. 25+ is brief-grade, 100+ report-grade. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint: true, and the description adds significant behavioral detail: pricing per result, a cap, inclusion in specific plans, and the 'context' parameter is explicitly stated as never used in ranking and only read on wrong results. This goes well beyond the annotations and gives the agent a fuller picture of costs and side-effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense two-sentence block, but every clause carries weight: purpose, filters, next steps, pricing, and a pointer to estimation. It's slightly long but not padded; the front-loading of 'START HERE' is effective. A 4 reflects that it is well-structured though not perfectly laconic.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters and no output schema, the description covers purpose, usage, filters, pricing, and follow-up calls. It doesn't explicitly state the return format (though 'browsable index' implies a list) or pagination semantics, but these are standard and not critical given the richness of the rest. It feels complete enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 71%, so the schema describes most parameters. The description adds a summary of filter options ('by kind, minimum population, or promotion tier') but does not clarify standard pagination parameters (page, limit) or the context parameter, which remains under-explained. It adds minimal value beyond what the schema already provides, so a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'START HERE for market-level questions' and specifies exactly what the tool does: 'Every scored population of providers in the catalog — tags, industries, regions, areas and VC portfolios — as one browsable index.' It clearly distinguishes it from siblings like cohort_stats and cohort_rankings by positioning it as the entry point and listing the next calls to make.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent when to use it: 'START HERE for market-level questions' and then directs to 'call cohort_stats for the distribution, cohort_rankings for the leaderboard.' It also provides pricing context and a reference to an estimate endpoint, giving clear conditions for when this tool is appropriate versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_collectionsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| page | No | ||
| sort | No | Order: relevance / provider / name, or item_count (largest first). | |
| tags | No | 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. | |
| limit | No | ||
| match | No | any | |
| context | No | 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. | |
| include | No | ||
| providers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, covering the safety profile. The description adds useful behavioral context about 'include=["content"] inlines bodies,' but does not discuss pagination, return format, or error behavior. This is similar to the get_calls calibration example where annotations carry the core safety information and the description adds a scoping detail but not a full behavioral profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four short, information-dense sentences with no filler. It front-loads the core purpose and then quickly covers filters, behavior, and the alternative. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 9 optional parameters and no output schema, the description gives the essential search/filter guidance but leaves gaps around pagination, sort behavior, and result structure. It is adequate for simple use but not fully complete; agents may need to inspect the schema or make assumptions about response format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 44%, so the description must compensate. It does clarify the main filters (q, tags, providers) and the special behavior of include=["content"], which adds value. However, it omits semantics for page, limit, sort, match, and context, which are either undocumented or only partially documented in the schema. It partially compensates but does not fully cover the parameter space.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('Postman / Open collections') and clarifies they are runnable request collections. It also explicitly differentiates from the sibling tool find_artifacts, saying 'Use find_artifacts for cross-type search,' which makes the tool's scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear guidance on when to use this tool (when searching for runnable collections) and when not to (cross-type searches should use find_artifacts). The filter capabilities are summarized, giving an agent enough context to decide between this and the many sibling find_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_company_insightsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| page | No | ||
| limit | No | ||
| context | No | 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. | |
| industry | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide readOnlyHint=true, so the description carries most behavioral disclosure. It adds meaningful traits: pricing per request and per record, a request cap, plan inclusion, matching across all rosters, and a pointer to estimate pricing. It does not add potential caveats like result ordering or response shape, but the added detail 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but each sentence adds value: purpose, industry vocabulary disambiguation, and pricing/plan guidance. It is front-loaded with the core purpose before cost details. Slightly heavy on pricing specifics, but still economically written for the information conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a browse/list tool with no required parameters and no output schema, the description gives enough to invoke it correctly: what it returns conceptually (profiled companies ranked by technology-readiness), how to filter, and cost behavior. It does not describe the exact response fields, but that is unlikely to block correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20% (only `context` is described), so the description must compensate. It does explain `q` as name search and `industry` as an insights industry name with a specific example and vocabulary warning. Page and limit are not described but their schema defaults/max are self-evident. Overall, it adds meaning where it matters most.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific verb ('Browse') and resource ('profiled companies (Fortune 1000)'), with clear filtering dimensions (name or industry) and ranking ('ranked by overall technology-readiness signal'). It also distinguishes itself from find_providers by explicitly calling out the different industry vocabulary, so an agent can tell them apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete context: industry must come from insights_industries, not the catalog slugs used by find_providers, and it matches all rosters a company sits on. It also mentions pricing, plan inclusion, and where to estimate cost. It does not explicitly contrast with get_company_insight, but the usage context is clear enough for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_countriesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| page | No | ||
| sort | No | ||
| type | No | 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. | country |
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds a valuable behavioral caveat: 'Membership is derived and known to be partial: read a count as a floor, not a census.' This is beyond annotations and informs how to interpret results. No contradiction. Could mention pagination but not necessary for a browse tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff. The first sentence establishes purpose and sibling context; the second gives usage and the critical caveat. Well front-loaded, efficient, and every clause earns its place. Slightly dense but appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple browse/search tool with 6 parameters and no output schema, the description covers purpose, usage context, sibling differentiation, and the partial-data caveat. It does not describe the return format or pagination behavior, but these are less critical for a read-only search tool. The annotation covers read-only nature. Overall complete enough for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (33%), with only `type` and `context` described. The description compensates partially by explaining 'Search by text' (maps to `q`) and 'sort by provider count' (maps to `sort`). It does not clarify `page` or `limit`, but these are standard and self-explanatory. Given the low coverage, the description adds some meaning but not complete coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Browse'), resource ('the country dimension'), and a clear use case ('who is in Germany'). Explicitly distinguishes from siblings by naming find_industries / find_regions / find_areas and positioning this as the finest taxonomy and the one a buyer names. Purpose is unambiguous and differentiates from sibling tools 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for when to use ('the one a buyer usually names') and names the peer tools as alternatives. Does not explicitly state when NOT to use or provide exclusion conditions, but the context is strong enough for an agent to infer the right choice. No misleading guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_estatesBRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| page | No | ||
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true,Skip and the description adds useful non-obvious context about the aggregation concept and ranking by member count. However,Skip it does not disclose the return shape,Skip pagination behavior,Skip or how q affects results,Skip so the behavioral picture is only partially filled in.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tight sentences: concept,Skip concrete examples,Skip ranking behavior,Skip and a targeted use case. Every sentence earns its place and the most important framing is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema,Skip so the description must carry information about what the caller gets back,Skip but it never describes the result fields or list structure. It also leaves q,Skip page,Skip and limit semantics mostly implied rather than stated. For a 4-parameter tool with no output schema,Skip these are meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% and only the context parameter is documented in the schema. The description implies q relates to slugs ('two slugs look like separate vendors') but never explicitly explains q,Skip page,Skip or limit semantics. With such low schema coverage,Skip the description needed to compensate and did not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines an 'estate' as one company spread across multiple provider records)Skip and gives concrete examples (Amazon 237, Salesforce 27, Cisco 37). It states the tool browses these ranked by member count)Skip but it does not explicitly name or contrast sibling tools like get_estate or find_providers,Skip so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes an explicit use case: 'Use this when two slugs look like separate vendors and you need to know whether they are one company.' This gives a clear when-to-use signal,Skip but it does not mention when not to use it or name alternatives,Skip leaving some guideline value on the table.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_examplesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| page | No | ||
| sort | No | Order: relevance / provider / name, or key_count (largest first). | |
| tags | No | 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. | |
| limit | No | ||
| match | No | any | |
| context | No | 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. | |
| include | No | ||
| providers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include readOnlyHint=true, which already discloses that this is a safe read operation. The description adds useful behavioral context: examples are 'real request/response' and include=['content'] 'inlines bodies'. However, it does not describe pagination, output shape, or what happens when no examples match, which would strengthen transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each with a distinct job: state the resource, list key filtering/behavior, and route to the alternative. The most important scoping information is front-loaded, and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search tool with no output schema, the description is largely sufficient: it names the domain, the main filters, a key include behavior, and the sibling to use for broader search. It could be more complete by hinting at pagination or sort defaults, but those are partially covered by the input schema and the tool's simple read-only nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 44%, so the description carries some responsibility for parameter meaning. It usefully names q, tags, and providers as filters and explains that include=['content'] inlines bodies, which goes beyond the schema. However, it omits guidance for page, limit, match, and sort, leaving meaningful gaps for a 9-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource ('example payloads across the catalog') and its distinctive value ('Real request/response examples'). It also explicitly names find_artifacts as the alternative for cross-type search, so an agent can distinguish this tool from the large sibling family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides concrete filtering guidance ('Filter by q / tags / providers') and points to find_artifacts for cross-type search, which serves as an explicit alternative. It does not go into depth about when to prefer examples over other find_* tools, but the key alternative route is clearly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_extensionsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| page | No | ||
| sort | No | ||
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations carry readOnlyHint=true, so the safety profile is already established. The description adds context about what data it covers (x- extensions catalog-wide) and what dimensions it returns (publisher, document count, location, value shape), but it does not disclose pagination behavior, result ordering beyond 'sort', or whether search matches keys, purposes, or both. It discloses the provenance aspect that the OpenAPI Initiative registry lacks, which is useful context 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core value proposition, followed by concrete search/sort affordances. Every sentence earns its place and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an opinionated read-only search tool, the description is strong: it defines scope, distinguishes from a registry, lists the added provenance fields, and states search/sort capabilities. No output schema exists, so a sentence about result format/pagination would make it complete; the slight absence of search-behavior detail keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20% — only the 'context' parameter is described in the schema. The description does not explain what 'q' accepts, what values 'sort' takes, or what pagination params mean. Baseline 3 is appropriate because the parameter names are semi-self-explanatory, but the description does not compensate for the 80% undocumented schema. It does add semantic context: 'Search by key or purpose; sort by occurrences' maps loosely to q and sort, which helps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is precise: 'Browse every OpenAPI x- specification extension harvested across the catalog...' It clearly identifies the resource (OpenAPI x- extensions), the action (browse/search), and what makes this tool distinct from the sibling get_extension — a catalog-wide aggregate with provenance rather than a single extension lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a search/browse use case with 'Search by key or purpose; sort by occurrences.' It contrasts with the OpenAPI Initiative registry to position its unique value. However, it does not explicitly say when to prefer this over get_extension or find_openapis; the browser-like framing is clear context but lacks direct exclusion/alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_finopsARead-onlyInspect
FinOps / billing models across the catalog. How usage is metered and billed. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| page | No | ||
| sort | No | Order: relevance (catalog order), provider, or name. | |
| tags | No | 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. | |
| limit | No | ||
| match | No | any | |
| context | No | 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. | |
| include | No | ||
| providers | No | ||
| billing_model | No | Billing model, e.g. subscription, consumption, prepaid. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true, so the safety profile is covered. The description adds the behavior that include=['content'] inlines bodies, which is useful operational context. No contradiction; it goes beyond annotations by explaining the metering/billing scope and the inline option.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff. The core purpose is front-loaded, followed by key filtering options and the sibling alternative. Every clause adds value; it is concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter search tool with no output schema, the description is relatively thin. It covers the domain and the include option but does not mention pagination (page/limit), match semantics, or what the return structure looks like. Given the readOnly annotation and simplicity of the tool, it is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (5 of 10 params have descriptions). The description partially compensates by mentioning q, tags, providers, and include, but it does not clarify page, limit, match, or context beyond what the schema already says. For instance, it says 'Filter by q / tags / providers' which gives some meaning to providers but leaves pagination and match semantics unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource domain ('FinOps / billing models across the catalog') and the action is implied by the tool name 'find'. It also explains the purpose ('How usage is metered and billed') and notes a distinguishing alternative ('Use find_artifacts for cross-type search'), though it doesn't differentiate from other find_* siblings like find_apis or find_providers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly tells the agent to use find_artifacts for cross-type search, providing one exclusion. However, it does not specify when to prefer this tool over other domain-specific find_* tools (e.g., find_apis, find_providers), nor does it give context about when billing-model search is appropriate versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_graphqlARead-onlyInspect
GraphQL schemas across the catalog. GraphQL type systems. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| page | No | ||
| sort | No | Order: relevance (catalog order), provider, or name. | |
| tags | No | 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. | |
| limit | No | ||
| match | No | any | |
| context | No | 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. | |
| include | No | ||
| providers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true, so safety is covered. The description adds behavioral context beyond that: the include=['content'] parameter 'inlines bodies' and the scoping to 'across the catalog'. It does not mention pagination, sort behavior, or match semantics, but these are less critical for a read-only search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each earning its place: scope, filter/inlining behavior, and alternative routing. No fluff or repetition of schema defaults. Front-loads the resource and catalog scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 9 parameters und no output schema, the description is adequate for basic calls but leaves gaps: no explanation of providers semantics, match any/all, pagination, or what the returned objects contain. The explicit cross-type alternative helps, but an agent would need to infer or inspect the schema for several parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (44%), so the description must compensate. It adds meaning for include (inlines bodies) and lists providers as a filter, but does not explain providers' value semantics, match any/all, page/limit behavior, or output format. The schema already documents q, sort, and tags well, so the description fills some gaps but not all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource and scope ('GraphQL schemas across the catalog', 'GraphQL type systems') and distinguishes from 'find_artifacts for cross-type search'. It lacks an explicit verb like 'search', relying on the tool name and title, so it is clear but not a fully self-contained statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names an alternative for a specific condition: 'Use find_artifacts for cross-type search.' It also gives concrete filtering instructions (q / tags / providers, include content). It does not compare against other find_* siblings like find_openapis or find_apis, so the guidance is partial but useful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_industriesCRead-onlyInspect
Browse industry verticals; sort by provider/API count.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| page | No | ||
| sort | No | ||
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes this as a safe read operation. The description adds some behavioral context by mentioning sortability by provider/API count, but it does not disclose pagination behavior, default ordering, or what the returned items look like. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that communicates the core action and a key capability without waste. However, it is so terse that it omits useful operational details, so it falls short of a perfect score for structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With five parameters, no required fields, and no output schema, this description is not complete enough for an agent to invoke the tool confidently. It does not explain what q does, how sorting works, whether results are paginated, or what the response structure is. The description covers only the basic browsing idea.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20%, and most parameters (q, page, sort, limit) lack descriptions in the schema. The description only hints at sorting by provider/API count, which partially explains the sort parameter, but it does not clarify q search semantics, pagination, limits, or valid sort values. The description fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Browse') and resource ('industry verticals'), and adds a meaningful capability ('sort by provider/API count'). It clearly indicates this is a list/browse tool rather than a detail or analytics tool, though it does not explicitly differentiate it from similar sibling tools like insights_industries or get_industry_leaders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use find_industries versus alternatives such as get_industry, get_industry_leaders, or insights_industries. The description implies use for browsing and sorting, but does not state exclusions, prerequisites, or when another tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_investorsBRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only state readOnlyHint=true; the description adds meaningful context about the free count vs. the paid named-firms result and the Understanding requirement. However, it does not disclose return shape, pagination, or behavior on unknown slugs, so behavioral transparency is partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and starts with the core purpose before moving to pricing and entitlement details. Every sentence carries useful information, though the repeated 'UNDERSTANDING' branding and pricing URI add minor noise for an agent primarily deciding what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-required-parameter read-only lookup, the description gives enough to invoke the tool: pass a provider/company slug to get backing VC firms. However, there is no output schema and no description of the response format, empty-result behavior, or error cases, leaving some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema leaves 'slug' undocumented, and the description compensates by identifying it as the provider/company slug. The 'context' parameter is already well described in the schema, so the description adds fair but not complete parameter-level value given 50% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it returns which VC firms back a given provider/company identified by slug. The phrase 'reverse portfolio edge' hints at how it differs from portfolio-oriented siblings, though it does not explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains pricing and entitlement conditions but not when to choose this tool over siblings like find_vcs, vc_portfolio, or get_vc. An agent must infer the use case from the phrase 'reverse portfolio edge' rather than receiving explicit when-to-use or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_json_ldARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| page | No | ||
| sort | No | Order: relevance / provider / name, or class_count / property_count (largest first). | |
| tags | No | 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. | |
| limit | No | ||
| match | No | any | |
| context | No | 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. | |
| include | No | ||
| providers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true covers the safety profile, and the description adds one behavioral detail: include=['content'] inlines bodies. However, it does not disclose response shape, pagination behavior, or whether `content` is excluded by default. This is acceptable but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences carry purpose, filters, an inclusion behavior, and a sibling pointer with no filler. The most important facts are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, no-required-parameter search tool, the description provides the essential domain, filters, include behavior, and sibling fallback. The schema supplies defaults/enums. It stops short of describing the return shape, but nothing critical blocks correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 44%, so the description must compensate. It adds meaning for include (inlines bodies) and names providers/tags as filters, but leaves page, limit, match, and context semantics to their schema defaults; it does not fully fill the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource ('JSON-LD contexts') and scope ('across the catalog'), and the title reinforces the 'find' verb. It also explicitly distinguishes itself from find_artifacts, so an agent can select 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It tells the agent the available filter dimensions (q, tags, providers) and when to escalate to a sibling ('Use find_artifacts for cross-type search'). This gives both usage context and an explicit alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_json_schemasARead-onlyInspect
JSON Schemas across the catalog. Standalone data schemas. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| page | No | ||
| sort | No | Order: relevance (catalog order), provider, or name. | |
| tags | No | 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. | |
| limit | No | ||
| match | No | any | |
| context | No | 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. | |
| include | No | ||
| providers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description adds that include=['content'] inlines bodies, which is a behavioral detail not in the schema. It doesn't contradict annotations and discloses the key filtering behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff. The resource type is front-loaded, and the alternative is stated efficiently. Every clause adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter tool with no output schema and low schema coverage, the description covers the essential filtering and the inline behavior but omits pagination, sorting, match semantics, and return format. These are left to the schema, which is incomplete for several params. It's adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is low (44%), and the description mentions only q, tags, providers, and include. It adds meaning for include (inlines bodies) but doesn't explain page, limit, match, or providers in detail. The schema descriptions for tags are oddly provider-focused, but that's not in the tool description. The description partially compensates for coverage gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds JSON Schemas, specifying 'standalone data schemas' to distinguish from schemas embedded elsewhere. It names filtering options and explicitly differentiates from find_artifacts for cross-type search, so the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear alternative for cross-type search with find_artifacts, and implies this tool is for JSON schemas specifically. It doesn't explicitly mention when not to use it for other find_* variants, but the resource type makes the intended use clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_json_structuresARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| page | No | ||
| sort | No | Order: relevance / provider / name, or property_count (largest first). | |
| tags | No | 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. | |
| limit | No | ||
| match | No | any | |
| context | No | 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. | |
| include | No | ||
| providers | No | ||
| struct_type | No | Root type: object, array, datetime, … |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers safety, and the description adds behavioral detail that include=['content'] inlines bodies. This goes beyond the annotation and is useful. No contradictions found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the core purpose, then lists key filters, the include option, and an alternative. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter tool with no output schema and many siblings, the description provides the essential purpose and a key alternative, but it omits important details like return format, pagination, and several parameter semantics (e.g., context, struct_type). It is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, so the description should compensate for undocumented parameters. It adds meaning for include (inlines bodies) and clarifies that filtering by q/tags/providers is possible, but it does not explain context, struct_type, sort, match, or pagination, leaving gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear purpose: finding JSON structures (data structures behind APIs) in the catalog. It also names an alternative tool for cross-type search, which aids differentiation. However, it does not explicitly distinguish itself from similar siblings like find_json_schemas, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says 'Use find_artifacts for cross-type search,' providing a clear when-not case. It also mentions filtering by q/tags/providers and the include option, which gives basic usage context. However, it lacks guidance on when to prefer this over other find_* tools beyond the single alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_mcpARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| page | No | ||
| sort | No | Order: relevance (catalog order), provider, or name. | |
| tags | No | 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. | |
| limit | No | ||
| match | No | any | |
| context | No | 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. | |
| include | No | ||
| providers | No | ||
| install_method | No | How the server is delivered: "Hosted endpoint", "GitHub repo", "Documentation link". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds useful behavioral details: it mentions filtering by q/tags/providers, the include=['content'] option to inline bodies, and the context parameter's non-ranking, non-answering behavior. This adds value beyond annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence with no fluff. It front-loads the resource and scope, then lists filtering options, and closes with an alternative. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 10 parameters, no output schema, and only 50% schema coverage, the description provides the core purpose and a sibling reference but omits details about pagination, match semantics, and output format. It is adequate for a simple search tool but not fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, and the description adds some meaning by highlighting key filters (q, tags, providers) and the include parameter's 'inlines bodies' behavior. However, it does not compensate for the undocumented parameters (page, limit, match, providers) beyond a brief mention. It partially bridges the gap but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds MCP servers across the catalog, with a specific resource and scope. It also distinguishes itself from a sibling tool ('Use find_artifacts for cross-type search'), making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly names find_artifacts as the alternative for cross-type search, giving a clear usage boundary. However, it does not contrast with other find_* tools (e.g., find_providers, find_apis), leaving some implicit context. The overall usage is clear from the domain and name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_openapisARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| page | No | ||
| sort | No | Order: relevance (catalog order), provider, or name. | |
| tags | No | 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. | |
| limit | No | ||
| match | No | any | |
| context | No | 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. | |
| include | No | ||
| providers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true, so the safety profile is covered. The description adds that include=['content'] inlines bodies, implying default returns metadata without bodies. It does not describe pagination, response shape, or default ordering, but given the annotation covers the mutation risk, the extra context is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The purpose is front-loaded, and the key differentiators (get_openapi, find_artifacts) are mentioned efficiently. Every sentence contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters, none required, and no output schema, the description is too sparse. It does not specify what the response contains (list of spec metadata? URLs?), pagination defaults, or how parameters like match and sort interact. An agent would have to guess the return format, which is risky for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 44%, and the description compensates partially by explaining that q, tags, providers are filters and include inlines content. However, it does not explain page, limit, sort, match, or context beyond what the schema already states. The description adds some value (especially the include behavior) but does not fully cover the 56% gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists OpenAPI specifications across the catalog, and distinguishes it from get_openapi (single spec) and find_artifacts (cross-type search). The verb 'find' plus resource 'OpenAPI' and scoping is specific and immediately distinguishable from many siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly tells the agent to use find_artifacts for cross-type search and implies get_openapi for a single spec. This covers two key alternatives, though it doesn't address other find_* tools like find_apis or find_asyncapis. Still, the guidance is concrete and actionable for the most likely confusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_operationsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Path words, all of which must appear, e.g. "refunds" or "payment intents". | |
| page | No | ||
| limit | No | ||
| method | No | ||
| context | No | 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. | |
| deprecated | No | Only operations the provider marked deprecated. | |
| max_providers | No | How many matching providers to read (default 40, cap 100). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only a readOnlyHint annotation, the description carries the behavioral disclosure burden and exceeds it: it explains segment matching semantics, one-row-per-operation deduplication, spec splitting across tags, the `apis` list field, `max_providers` cap and truncation flag (`meta.query.truncated`), plus detailed pricing and estimate guidance. This is far beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads the purpose immediately, then delivers dense, high-value behavioral details with zero fluff. Every sentence adds essential information (matching semantics, deduplication, truncation, pricing), making the length justified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 params, no output schema), the description covers query semantics, filtering, deduplication, truncation, and pricing. It leaves the exact response shape (operation fields list) unspecified, but it does mention `apis` and `meta.query.truncated`, giving enough for an agent to interpret results. A brief output-structure sentence would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 57%, and the description compensates well for the undocumented parameters: it explains `method` (not described in schema), reinforces `q` with segment semantics, and adds context to `deprecated` and `max_providers`. `page` and `limit` remain unexplained, but they are standard pagination parameters and the description covers the most important ones.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: catalog-wide operation search matching path segments. It clearly distinguishes itself from tag-based searches ('tags are what a company says about itself, a path is what its API accepts') and implies it answers questions no other sibling tool could ('had no answer before this').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use the tool: to find which providers expose a specific API path, narrowable by method and deprecation status. It implies a contrast with tag-based search, but does not explicitly name sibling tools or state when not to use this tool (e.g., 'for per-provider operations use get_provider_operations').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_plansARead-onlyInspect
Pricing plans across the catalog. An API's pricing tiers. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| page | No | ||
| sort | No | Order: relevance / provider / name, or plan_count (largest first). | |
| tags | No | 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. | |
| limit | No | ||
| match | No | any | |
| context | No | 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. | |
| include | No | ||
| providers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds the 'include=["content"] inlines bodies' behavior, which is useful context beyond the schema. It doesn't mention pagination, sorting defaults, or return format, but these are either in schema or not critical for a read-only search tool. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with purpose, then filtering guidance, then an alternative. Every sentence earns its place; no filler or repetition. Efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search tool with 9 parameters and no output schema, the description covers the core purpose, key filtering options, and the primary alternative. It doesn't explain the return format, but that's a minor gap for a tool that likely returns a list of plans. Given the annotations and schema defaults, it is reasonably complete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 44% (<50%), so the description must compensate for undocumented params. It explains q, tags, providers, and include via the filtering sentence, adding meaning beyond the schema for those. However, page, limit, and match are not addressed in the description, leaving them under-explained. The context param is documented in the schema itself. It partially compensates but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (find) and resource (pricing plans), clarifies scope ('across the catalog', 'An API's pricing tiers'), and distinguishes itself from find_artifacts by naming it as an alternative. The purpose is unambiguous and differentiates from siblings 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names find_artifacts for cross-type search, giving a clear when-not-to-use condition. However, it doesn't elaborate on when to prefer this over other find_* tools like find_apis or find_providers, though the specific scope (pricing plans) implicitly guides selection. No prerequisites or exclusions beyond the one alternative are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_postmanARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| page | No | ||
| sort | No | Order: relevance (catalog order), provider, or name. | |
| tags | No | 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. | |
| limit | No | ||
| match | No | any | |
| context | No | 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. | |
| include | No | ||
| providers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true. The description adds useful behavioral context: results are 'by reference' and include=['content'] inlines bodies, so the agent understands default vs enriched responses. It doesn't discuss pagination, but that is partly covered by schema defaults.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the core scope. The first two sentences are slightly redundant ('Postman collections' vs 'Postman-format collections'), but overall every clause earns its place and the sibling routing is efficiently packed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search tool with 9 parameters and no output schema, the description covers purpose, filter dimensions, inlining behavior, and the key sibling alternative. It omits match semantics, pagination behavior, and any return-shape expectations, making it adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (44%), so the description must compensate. It partially does by naming q/tags/providers as filters and explaining include semantics ('inlines bodies'). However, it leaves match, page, limit, and the exact meaning of providers undocumented in both the schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource ('Postman collections'), the catalog-wide scope, and the Postman-specific format ('Postman-format collections (by reference)'). It also explicitly contrasts with find_artifacts, so an agent can distinguish this tool from a sibling 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells the agent what the tool filters by (q / tags / providers) and gives an explicit routing instruction: 'Use find_artifacts for cross-type search.' This is clear when-to-use guidance with a named alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_providersARead-onlyInspect
Paginated, sortable list of providers — filter by text, tag, artifact type, industry, region, rating band, access model (pricing/onboarding/try_now/public), or DIRECTION (accepts_writes/min_acting — whether the surface takes a write or only emits). tags filters on what the COMPANY does (its own top-level classification), not on what its endpoints touch; for a resource-level term use find_apis?tags=, or api_tags= here to find companies whose APIs merely touch it. Use apis_io_search first for a cross-type overview.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| area | No | ||
| band | No | Rating bands: exemplar, strong, developing, thin, minimal. | |
| page | No | ||
| sort | No | Order results. Default: relevance with a query, composite (quality) when browsing. `demand` = Fortune-1000 adoption, scoped to the query. | |
| tags | No | 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. | |
| view | No | summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity). | summary |
| facet | No | Quality facet to threshold on: discoverability, contract_quality, governance, operational_transparency, developer_ergonomics, commercial_clarity. Needs min_facet. | |
| limit | No | ||
| match | No | any | |
| trend | No | up | down | flat — direction of the composite since the previous scoring pass. | |
| fields | No | Return exactly these top-level keys (overrides view). | |
| public | No | Only providers callable publicly with no signup (onboarding=open). (providers only) | |
| region | No | ||
| context | No | 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. | |
| country | No | Providers whose derived country membership includes these slugs (e.g. united-kingdom). Membership is partial — a count is a floor. | |
| pricing | No | Access model — pricing: free, freemium, free-trial, paid, enterprise. (providers only) | |
| resolve | No | 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`. | on |
| try_now | No | Only providers a developer can start using at no cost right now (free/trial + self-serve/open). (providers only) | |
| api_tags | No | 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. | |
| industry | No | ||
| max_score | No | Only providers at or below this composite. Pair with min_score for a band-free range. | |
| min_facet | No | Minimum score on `facet`. Without `facet` this does nothing. | |
| min_score | No | ||
| providers | No | ||
| min_acting | No | Minimum number of acting (non-read) operations. Use to require real write depth rather than a single write endpoint. | |
| onboarding | No | Access model — how to start: open (no key), self-serve, approval. (providers only) | |
| size_basis | No | 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. | |
| size_status | No | 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. | |
| revenue_band | No | Revenue band(s): <$1M | $1-10M | $10-100M | $100M-1B | $1B+. Estimates; filed where size_basis is sec-edgar or companies-house. Understanding plan. | |
| accepts_writes | No | 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. | |
| artifact_types | No | ||
| employees_band | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral nuance beyond the readOnlyHint annotation: it explains how tags resolve on providers versus APIs, that resolved_tag is echoed, that size_status=probed is needed to avoid sweeping unmeasured companies into 'small', and that absent accepts_writes data means unmeasured rather than zero. This goes far beyond the annotation's basic safety signal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded, leading with the tool's core purpose and the most important filter dimension. Some sentences are long and pack many caveats together, so a bit of restructuring could improve scannability, but for a 33-parameter tool the level of detail is earned and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity, the richness of the input schema, and the absence of an output schema, the description provides enough operational context to call it correctly: pagination, sorting, filter semantics, disambiguation from sibling tools, and several edge-case warnings are all covered. An agent has sufficient guidance to select and invoke this tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is already 73%, the description adds crucial meaning beyond the schema: it clarifies the identity vs. touch distinction between tags and api_tags, the swap-vs-add behavior of resolve, the practical intent of accepts_writes for syndication questions, and the caveat about size_status. These are the kinds of semantic traps an agent cannot infer from parameter names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Paginated, sortable list of providers' and enumerates the filter dimensions (text, tag, artifact type, industry, region, rating band, access model, direction). It also distinguishes itself from siblings by naming find_apis and apis_io_search, so an agent can tell this tool apart 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit routing instructions: use apis_io_search first for a cross-type overview, use find_apis?tags= for resource-level terms, and use api_tags= here for providers whose APIs merely touch a term. It also explains when direction filters like accepts_writes matter, making the selection context concrete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_rate_limitsARead-onlyInspect
Rate-limit policies across the catalog. Declared throttling policies. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| page | No | ||
| sort | No | Order: relevance / provider / name, or limit_count (largest first). | |
| tags | No | 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. | |
| limit | No | ||
| match | No | any | |
| context | No | 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. | |
| include | No | ||
| providers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as readOnlyHint=true. The description adds useful context by scoping results to 'Declared throttling policies' and noting that include=['content'] inlines bodies. It does not discuss pagination, sort behavior, match semantics, or result shape, but the read-only annotation lowers the burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded with the resource type, then filters, then the alternative tool. Every sentence adds value with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters, no output schema, and no required fields, the description provides only a basic search contract. It mentions key filters and an alternative tool but does not describe return values, pagination defaults, match behavior, or what 'declared throttling policies' means in practice. Adequate for a simple read-only search but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 44%, and the description compensates partially by explaining that q/tags/providers can filter and include=['content'] inlines bodies. However, page, limit, match, and sort semantics are not addressed in the description, leaving gaps for parameters that lack schema-level explanations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as rate-limit policies / declared throttling policies in the catalog and mentions filtering capabilities, which distinguishes it from generic artifact search. It lacks an explicit verb such as 'find' or 'search', relying on the tool name for the action, so it is not a full 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete usage signals: filter by q/tags/providers and use include=['content'] to inline bodies. It also explicitly redirects cross-type searches to find_artifacts. It does not enumerate other sibling alternatives or exclusion conditions, but the provided guidance 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_moversBRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description does not contradict that. It adds valuable behavioral context beyond annotations: pricing per result, a cap, and a suggestion to estimate costs via an endpoint. However, it does not describe the return format or any pagination behavior, which would be helpful. The extra pricing info is a positive addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise and front-loaded with the core purpose ('UNDERSTANDING — The biggest rating movers...'), followed by pricing details. It is not overly long and each sentence adds value, though the pricing section could be seen as slightly tangential. Overall, it is well-structured for quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two optional parameters and no output schema, the description explains the purpose and provides cost context, but it does not describe what the response contains (e.g., list of movers, fields like provider name, rating change, direction). This is a notable gap since there is no output schema to rely on. It is adequate but incomplete for an agent needing to interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the 'context' parameter with a detailed description, but the 'limit' parameter only has type, default, min, and max—no textual description. The tool description adds no information about either parameter, so it does not compensate for the 50% schema coverage gap. An agent would need to infer the meaning of 'limit' from constraints alone, which is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds the biggest rating movers (up and down) since the previous scoring build. It includes a specific time context and the notion of 'movers', but it does not explicitly differentiate from sibling tools like find_ratings or get_rating_history. The verb 'find' is implied by the title, and the description uses a category label 'UNDERSTANDING', which adds some context but not strong differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description focuses on pricing and plan inclusion but does not mention when to choose it over find_ratings or get_rating_history, nor any exclusion criteria. It does not explain what scenario would lead to selecting this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_ratingsARead-onlyInspect
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. 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.
| Name | Required | Description | Default |
|---|---|---|---|
| band | No | ||
| page | No | ||
| sort | No | Leaderboard order; default composite. | |
| tags | No | ||
| facet | No | ||
| limit | No | ||
| trend | No | ||
| context | No | 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. | |
| max_score | No | Only ratings at or below this composite. Pair with min_score for a range. | |
| min_facet | No | ||
| min_score | No | ||
| providers | No | Restrict to these provider slugs — the ratings of a named set. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds pricing behavior (per-request, per-record, cap, plan inclusion) and explains sorting semantics ('delta' = biggest gainers), which is beyond what readOnlyHint alone provides. It does not mention response format or rate limits, but the annotation already covers operational safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each with distinct content: purpose/filters, sort modes, and pricing. The purpose is front-loaded, and pricing is placed last. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter tool with no output schema, the description covers the main filtering and sorting dimensions but leaves several params (trend values, facet threshold mechanics, pagination limits) implicit. The pricing and estimate note is helpful, but not all agent-relevant details are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, so the description carries more burden. It maps band, score range (min/max), trend, facet threshold, and sort options, but leaves page, limit, tags, min_facet, and context (some of which have schema descriptions) without further explanation. It adds value but does not fully compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Ranked ratings leaderboard' and enumerates filters and sort dimensions, clearly identifying a specific verb (find/rank), resource (ratings), and scope. It distinguishes itself from siblings like find_rating_movers by emphasizing leaderboard ranking and 'delta (biggest gainers)', though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context—use this for ranked, filterable rating leaderboards, with sort options. It also advises 'Estimate first at /api/v1/prices/estimate', which is a usage directive about cost. It does not explicitly state when not to use it or name sibling tools, 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.
find_regionsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| page | No | ||
| sort | No | ||
| type | No | Which record kind to list. `region` (default) is the dimension itself; `region-industry` is the crossover pages; `all` is both. | region |
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, and the description adds meaningful behavioral context beyond that: it returns exactly 18 region records and by default excludes 1,098 crossover pages unless type is set. This helps set accurate expectations, though pagination and filtering behavior are not described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short, information-dense sentences with the main purpose front-loaded, a concrete example, and no filler. Every sentence contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers what is returned, the default filtering behavior, and how to request crossover pages, which makes basic invocation feasible. However, with no output schema and several undocumented input parameters, the description is not complete enough for an agent to confidently use sorting, querying, or pagination without additional inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the description must compensate, but it only adds high-level meaning for sort ('provider/API count') and type. The q, page, limit, and sort parameters remain effectively undocumented in both schema and description, making it hard for an agent to know valid values or formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly specifies a browse/list action over geographic regions and tells the agent that the 18 region records are the primary results, while region-industry crossover pages are a separate collection. This is specific enough to understand the tool's core use, but it does not explicitly distinguish it from sibling tools like find_countries or get_region.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides useful guidance on the default region type and explains that crossover pages require the type parameter. However, it never states when to prefer this tool over sibling find/get tools or gives any when-not-to-use guidance, so the usage guidance remains largely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_regulationsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| kind | No | ||
| page | No | ||
| limit | No | ||
| scope | No | ||
| context | No | 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. | |
| jurisdiction | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, but the description adds a non-obvious behavioral trait: 'A null company_count means the job-corpus pass has not run for that name — it is NOT a measured zero.' This prevents a serious misinterpretation of a returned field. Since read-only safety is already covered by annotations, this extra semantics is meaningful and goes beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences carry the full message: the first states the tool's purpose and data model, the second covers the special scope filter and the null caveat. The critical null interpretation is placed at the end, but the most decision-relevant information (scope=horizontal behavior) is near the front. Every clause earns its place, though the second sentence is denser than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, no output schema, and only readOnlyHint as annotation, the description must compensate for missing structured context. It explains the core filters (scope, kind, jurisdiction) and even one output field (company_count), but it omits guidance on q, pagination, and the overall return shape. For a browsing tool this is adequate but not fully complete, leaving an agent to infer how to construct a basic query beyond the explained filters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 14% (only context has a description), so the description must compensate. It does so by explaining scope=horizontal with a specific use case, listing the supported kind values (regulation/statute/accreditation/regulator-guidance), and naming jurisdiction as a filter. However, it leaves q, page, and limit without explanation, which are also part of the schema, so the compensation is partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Browse the laws, statutes and accreditations the catalog tracks' – a specific verb and resource that clearly identifies the tool's domain. It further characterizes records by their joins to countries, regions, and industries, which distinguishes it from sibling find_* tools focused on those entities themselves. However, it does not explicitly name a sibling alternative (e.g., get_regulation), so differentiation is implicit rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a concrete usage scenario: '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.' This tells an agent when to use a specific filter, but it does not contrast the tool against alternatives like find_regions or get_regulation, so overall when-to-use guidance is partial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_rulesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| page | No | ||
| sort | No | Order: relevance / provider / name, or rule_count (largest first). | |
| tags | No | 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. | |
| limit | No | ||
| match | No | any | |
| context | No | 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. | |
| include | No | ||
| providers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds behavioral context by noting that include=['content'] inlines bodies, which is a useful side-effect disclosure. It does not contradict annotations. It does not describe pagination or response format, but given the annotation coverage, the added value is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no fluff. It front-loads the core purpose, lists key filters, and ends with the crucial alternative. Every word adds value, and it is well-structured for quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters and no output schema, the description should provide more guidance. It mentions filtering and include but omits pagination (page/limit), match behavior, and what the response contains. It also does not explain the context parameter's purpose (though that has a schema description). For a tool with this complexity, more detail would help an agent call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 44% (low), so the description must compensate. It does explain that q/tags/providers are filters and that include inlines bodies, adding meaning beyond the schema. However, it does not cover page, limit, match, or sort (though sort has a schema description). It partially compensates but not fully for all undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: finding Spectral governance rulesets (API design/linting rulesets). It specifies the resource (rulesets) and the scope (catalog-wide), and distinguishes itself from find_artifacts by explicitly saying to use that for cross-type search. The verb 'find' is explicit and the description immediately conveys what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear when-not by directing users to find_artifacts for cross-type search, which is an explicit alternative. It also lists the main filtering mechanisms (q/tags/providers) and the include option. However, it does not cover all sibling tools (e.g., find_apis, find_providers) or elaborate on when to choose this over other find_* tools, but it does give one strong disambiguation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_scopesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| page | No | ||
| sort | No | Order: relevance / provider / name, or scope_count (largest first). | |
| tags | No | 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. | |
| limit | No | ||
| match | No | any | |
| context | No | 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. | |
| include | No | ||
| providers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description correctly doesn't repeat safety. It adds value beyond annotations by disclosing pricing (B1, $0.01/call) and plan inclusion, plus the behavior of include=['content'] for inlining bodies. This is useful operational context 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three dense sentences: purpose, filtering guidance, alternative, and pricing. It is front-loaded with the core purpose and avoids fluff. The pricing info is relevant for cost-aware agents, so it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter tool with no output schema, the description covers the core purpose, key filters, a sibling alternative, and pricing, but it omits explanations for several parameters (page, limit, match) and doesn't describe the return format. It's adequate but not complete for a tool this complex.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 44%, so the description must compensate. It explains q, tags, providers, and include in prose, but leaves page, limit, match, and context without additional meaning (context has a schema description, sort has one). It adds some value but doesn't fully cover the undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool finds OAuth scopes across the catalog, a specific resource, and distinguishes it from find_artifacts by naming that sibling for cross-type search. The title 'Find OAuth scopes' reinforces the verb-resource pairing, so an agent can clearly tell this from the many sibling find_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says 'Use find_artifacts for cross-type search,' providing a clear alternative and condition. It also lists filterable fields (q/tags/providers) and the include parameter, giving direct usage guidance. It doesn't mention other siblings, but the main alternative is covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_securityARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| page | No | ||
| sort | No | Order: relevance / provider / name, or scheme_count (largest first). | |
| tags | No | 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. | |
| limit | No | ||
| match | No | any | |
| context | No | 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. | |
| include | No | ||
| providers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds valuable behavioral context: pricing (B1, $0.01 per call, included in certain plans), the effect of include=['content'] inlining bodies, and a reference to apis://prices. This goes beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the core scope, but the standalone fragment 'Understanding plan.' is confusing and disrupts flow. The pricing information is appended awkwardly at the end. While concise, the structure could be cleaner.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter tool with no output schema, the description gives essential context (scope, categories, filtering, alternative, pricing) but does not explain several parameters, the concept of 'artifacts', or the response format. The vague 'Understanding plan' reference adds noise. It is adequate for initial use but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 44%, so the description must compensate. It adds meaning to q, tags, providers, and include, but does not clarify page, limit, sort, match, or context beyond existing schema descriptions. It covers the most important parameters but leaves gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool returns security artifacts across the catalog and lists relevant categories (authentication, domain security, VDP, trust center). It explicitly directs cross-type searches to find_artifacts, distinguishing it from a sibling. The verb 'find' is implied by the tool name, making it reasonably clear, though not as explicit as 'List ALL calls'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear when-to-use context (security artifacts) and explicitly names find_artifacts as the alternative for cross-type search. It also mentions filtering via q, tags, providers, and the include parameter for inlining bodies. It does not cover all possible decision points but gives solid guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_similar_apisARead-onlyInspect
APIs similar to a given one ("more like this") by shared tags.
| Name | Required | Description | Default |
|---|---|---|---|
| aid | Yes | ||
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, covering safety. The description adds that results are based on shared tags, which is valuable behavioral context. It does not disclose output format, pagination, or ordering, but given the read-only nature and simplicity, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One crisp sentence that fully captures the tool's essence with zero filler. The key information (verb, resource, method) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with three parameters and no output schema, the description gives enough to understand its purpose and mechanism. It lacks explicit return format, but this is minor given the tool's simplicity and the readOnlyHint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (context has a description). The description does not compensate for the undocumented aid and limit parameters; it mentions tags but not how parameters map. aid and limit are somewhat self-explanatory, but with low coverage the description should provide more guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('find') and resource ('similar APIs'), and specifies the mechanism ('by shared tags'). It clearly distinguishes from sibling tools like find_apis (general search) and find_similar_providers (different entity type).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'more like this' implies the use case of starting from a known API and wanting similar ones, which is clear. However, it does not explicitly name alternatives or give exclusions, so an agent might not know when to choose this over find_apis. It's clear enough for the intended purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_similar_providersBRead-onlyInspect
Providers similar to a given one (alternatives) by shared tags, industry, region, and artifact coverage.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds that the tool uses shared tags, industry, region, and artifact coverage as matching criteria, which is useful behavioral context. It doesn't disclose pagination, ranking, or whether the input provider is excluded from results, but the annotation lowers the burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the core purpose and lists the matching criteria efficiently. It earns its place without redundancy, though it could add a brief usage note without becoming bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only similarity tool with one required parameter and no output schema, the description covers the main purpose and criteria. It lacks details on result ordering, whether the given provider is excluded, and how to interpret the output, but the simplicity of the tool and the readOnlyHint annotation make this adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only 'context' has a description). The description adds meaning for 'slug' by implying it identifies the given provider, and 'limit' is self-explanatory from the schema. However, it doesn't explain the exact format of slug or how limit interacts with the similarity ranking, so it only partially compensates for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('find') and resource ('similar providers'), and clarifies the similarity criteria: shared tags, industry, region, and artifact coverage. It distinguishes itself from generic find_providers by focusing on alternatives to a given provider, though it doesn't explicitly name a sibling alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: given a provider slug, return alternatives. It doesn't explicitly state when to prefer this over find_similar_apis or compare_providers, but the criteria and 'alternatives' wording provide enough context for an agent to infer the intended use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_skillsARead-onlyInspect
Agent Skills across the catalog. Packaged agent skills. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| page | No | ||
| sort | No | Order: relevance (catalog order), provider, or name. | |
| tags | No | 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. | |
| limit | No | ||
| match | No | any | |
| context | No | 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. | |
| include | No | ||
| providers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals this is a read operationnote; the description adds a useful behavioral detail by explaining that include=['content'] inlines bodies. However, it does not disclose pagination details, return shape, or any quirks beyond that, so the description only partially extends 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler. The core purpose is front-loaded, and each sentence adds a distinct piece of information: what the tool covers, how to filter, and when to use another tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters, no output schema, and minimal annotations, the description is a bit thin. It covers the essential filter and the key include behavior, but an agent needing to know the return envelope, evidence markers, or pagination would have to infer from the catalog context. Adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 44%, so the description must compensate. It does add meaning for include (inlining bodies), which the schema lacks, and it groups the main filters. But it does not clarify page, limit, sort, match, or context beyond what their names and schemas already imply, so compensation is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource ('Agent Skills'), states it searches across the catalog, and distinguishes it from a sibling ('Use find_artifacts for cross-type search'). The verb and scope are clear, making it easy to select among the 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly recommends find_artifacts for cross-type search, giving an immediate alternative. It also lists the main filtering dimensions (q, tags, providers) and a special option (include), leaving little ambiguity about how this tool should be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_tag_groupsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Substring match on group name, slug or member tag. | |
| page | No | ||
| basis | No | cooccurrence groups are evidence-based; facet groups are a weaker fallback bucket for tags with no co-occurrence edge. | |
| limit | No | ||
| context | No | 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. | |
| exclude | No | Comma-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_tags | No | Only groups holding at least this many tags. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses meaningful behavior: groups are computed by the catalog, every response carries a coverage block, about a quarter of the vocabulary is ungrouped, and counts should be read against ungrouped_share. This caveat-rich context helps the agent interpret results rather than treating the response as a complete taxonomy.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the most important selection signal, "START HERE," and every subsequent sentence earns its place: definition, coverage caveat, and practical exclusion advice. It is dense but not bloated, with examples in parentheses that aid understanding without lengthy digressions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with no output schema, the description covers the main workflow: capability mapping, what a tag group is, how to interpret coverage, and how to filter out non-market groups. It does not describe the full response shape beyond the coverage block or address pagination, but the schema supplies parameter bounds and the description gives enough operational context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents q, basis, context, exclude, and min_tags (71% coverage), so the bar is moderate. The description adds no real parameter meaning beyond reinforcing exclude=cross_cutting,sparse, and it does nothing to clarify the undocumented page and limit parameters. The description adds marginal value but does not compensate for the schema's remaining gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with "START HERE for capability-map questions" and defines the resource precisely: "1,500+ tag groups the catalog computes — sets of tags that demonstrably travel together across providers." It differentiates from nearby siblings by positioning tag groups as "the layer between a single tag and a coarse facet," so an agent can distinguish find_tag_groups from find_tags and facet-style tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear entry-point directive for capability-map questions and adds actionable guidance: "Pass exclude=cross_cutting,sparse to drop the groups that are plumbing rather than markets." It does not explicitly name alternatives or state when not to use this tool, but the context is strong enough for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_tagsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| axis | No | market | capability | persona | posture. Comma-separated for more than one. | |
| band | No | canonical | established | emerging | niche | stale | posture. | |
| page | No | ||
| sort | No | Order results. Default: relevance with a query, composite (quality) when browsing. `demand` = Fortune-1000 adoption, scoped to the query. | |
| view | No | summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity). | summary |
| limit | No | ||
| fields | No | Return exactly these top-level keys (overrides view). | |
| context | No | 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. | |
| min_api_count | No | Only tags applied to at least this many APIs. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes safety, and the description adds meaningful behavioral detail: pagination, sorting, the multi-axis nuance ('axis=market means market is ONE of its axes'), and the distinction between market and capability. This goes beyond the annotation and helps the agent understand nontrivial behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise yet information-dense, with four sentences each serving a purpose: scope, the key filter, the crucial subtleties of that filter, and routing to a sibling for broader discovery. It is front-loaded with the most important caveat and contains no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately conveys pagination, sorting, filtering, and the crucial axis semantics. It does not detail the shape of the response, but the tool's purpose and primary parameters are sufficiently covered for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80%, so the schema already documents most parameters. The description adds valuable semantics for the axis parameter, explaining the market/capability distinction and the multi-axis caveat, which is not evident from the enum alone. This enrichment justifies a point above the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Paginated, sortable list of tags in the taxonomy.' It also distinguishes this from sibling concepts by emphasizing the MARKETS vs CAPABILITIES axis distinction, which is the core value of the tool. This clearly separates it from find_capabilities and other find_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context, especially the axis distinction and the advice to 'Use apis_io_search first for a cross-type overview.' However, it does not explicitly state when not to use this tool or name alternatives beyond apis_io_search, so it falls just short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_vcsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| page | No | ||
| sort | No | ||
| tags | No | 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. | |
| limit | No | ||
| context | No | 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. | |
| category | No | Firm category, e.g. "Venture Capital". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, covering the read-only nature. The description adds valuable context: the Understanding plan, pricing, and the presence of a network-matched portfolio graph. It does not contradict annotations and goes beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the action and criteria, then adds sorting, plan, and pricing. It is somewhat long but every sentence adds useful information. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a find tool with 7 parameters and no output schema, the description covers purpose, sort default, and result characteristics (portfolio graph). It omits pagination details but those are standard, and the schema handles the context parameter. Overall, it is sufficiently complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 57% with descriptions for q, tags, context, and category. The description compensates by naming the default sort (portfolio_on_network) and the semantics of sort values. It also ties q, tags, and category to the search criteria. Page and limit remain generic but are self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb (find), resource (venture-capital firms), and criteria (name, thesis tags, category). It also highlights a distinctive feature (network-matched, rated portfolio graph) and lists sort options, making it unambiguous and distinct from generic search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like find_investors or find_providers. It only states what it does without exclusions or alternative routing, leaving the agent to infer applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gap_analysisARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | 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. | |
| min_share | No | Peer-share threshold for a gap (0–1, default 0.25). | |
| providers | Yes | Provider slugs (1+). Multiple = treat as a stack. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only safety profile is covered. The description adds useful context about pricing tier and plan inclusion, but it does not disclose output behavior, potential size of results, or any rate-limit/error considerations beyond what the schema already provides for the context parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the core analysis purpose, and uses a compact list of output dimensions. The pricing sentence is slightly tangential to invocation but still informative; overall there is little waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by enumerating what the analysis returns: artifact gaps, peer-share gaps, score vs peer median, and stack-level gaps. Inputs are fully documented in the schema. A more concrete return-shape outline would strengthen it, but it is adequate for a tool with this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already well documented in the input schema. The description adds the notion of artifact types and peer/stack comparison but does not materially deepen the meaning of providers, min_share, or context beyond the schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (providers) and the operation (analyzing gaps in artifacts, peer comparisons, and median scores), and it adds stack-level scope. It does not explicitly distinguish itself from sibling tools like industry_gap_analysis or company_gaps, but the provider/stack focus makes the purpose reasonably unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for provider-level or stack-level gap analysis, and the schema requires at least one provider slug. However, it gives no explicit when-to-use versus sibling gap tools, no exclusions, and no 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). 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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| context | No | 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. | |
| artifact | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say non-read-only and non-destructive. The description goes far beyond: it explains the human-in-the-loop process (a person generates and checks it), the async 202 response, that nothing is published on your behalf, that your score moves only when you commit the file, and the pricing/billing implications. This fully discloses the operational and financial behavior without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence adds value: purpose, artifact list, process, pricing, and a conditional alternative. It is front-loaded with the primary purpose ('REQUEST an artifact you are being marked down for not having') and then expands logically. It could be slightly more compact, but it is appropriately sized for the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description must explain the return behavior, which it does (202, async, human generation). It also covers billing, the score-commit relationship, and how to list available artifacts. The main omission is an explicit definition of `slug`, which is required and unexplained. Overall, it is largely complete but with one notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only `context` has a description). The description explains the `artifact` enum values and the omit-to-list behavior, but `slug` (the only required parameter) is never described—neither in the schema nor the description. The agent is left to infer that slug identifies the live surface/API, which is a significant gap for a required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'REQUEST' and the resource 'artifact', listing the specific artifact types (apis-json, agent-card, mcp, arazzo, rules, scopes, security) and the fallback behavior of omitting `artifact` to list what can be made. It distinguishes this tool from siblings like `submit_artifact` and `find_artifacts` by framing it as requesting a human-generated artifact for a missing item.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: use when you are marked down for lacking an artifact, and it notes the async 202 return and that you must commit the file for your score to move. It also offers an alternative (`report_correction`) for incorrect data, but does not explicitly exclude other tools like `submit_artifact` or `find_artifacts`. The pricing and inclusion details further clarify when it applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_agent_readinessARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true, and the description adds meaningful behavior beyond that: it is a single-entity synthesis, standalone as opposed to composite, and has associated pricing/plan inclusion. It does not fully describe return shape or rate-limit behavior, but the read-only safety is covered by the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is dense but front-loaded with the core point (one provider, standalone score) before the alternative and pricing. The parenthetical dimension list is helpful, though the pricing sentence could arguably live outside the tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only single-entity getter with one required param and no output schema, the description is complete enough: it states scope, semantics, alternative, and pricing. It stops short of describing the score's format or range, but that is a minor gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description clarifies that the operation targets ONE provider, giving meaning to the required slug, while the context parameter already has a thorough schema description explaining it is never used for ranking. The standalone/composite distinction also helps the agent interpret what the score means.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb/explore mode, an explicit resource ('agent-readiness dimensions and standalone score for ONE provider'), and includes a concrete list of dimensions. It also explicitly distinguishes itself from find_agent_readiness, making the scope immediate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit alternative for a different question ('For the same question across the catalog... use find_agent_readiness') and clarifies it is a standalone score rather than a slice of the composite. This tells the agent both when to invoke it and when to pick another tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_apiARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| aid | Yes | ||
| context | No | 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. | |
| include | No | ||
| include_next | No | Set false to omit the `next` affordance block. | |
| artifact_types | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool read-only. The description adds useful behavioral context: include=['content'] inlines artifact bodies, results carry a dynamic `next` block with sub-resource tool calls computed from the record, and include_next=false omits it. This gives an agent a much clearer picture of the response shape beyond the schema alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences contain all key information without fluff. The main purpose is front-loaded, and the optional behavior details are compactly packed into the second sentence. Each clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Core usage is clear and the `next` behavior is described, but there is no output schema, and the description only vaguely promises 'full detail'. The artifact_types parameter is undocumented, and the full return payload isn't summarized beyond the next affordance, leaving some ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%, so the description must compensate. It does explain aid format, include's allowed value and effect, and include_next's behavior. However, artifact_types is left completely unexplained in both the schema and the description, leaving a meaningful gap for a five-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Full detail for one API by aid (provider:api-slug)'. This clearly identifies the tool as a single-entity detail fetcher, distinguishing it from siblings like get_api_artifacts or find_apis that serve different retrieval purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it — when you have an aid and want full detail for one API — and explains optional arguments like include and include_next. However, it never explicitly contrasts it with alternatives such as find_apis, get_provider_apis, or get_openapi, so an agent must infer the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_api_artifactsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| aid | Yes | ||
| type | No | Return only artifacts of this type. | |
| context | No | 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. | |
| include | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers safety, and the description adds meaningful behavioral detail: results are grouped by type, by_type_counts provides the full summary, type matching is synonym-aware ('MCP matches MCPServer'), and include controls body inlining. This goes beyond the annotation without contradicting it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence that front-loads the core purpose before parameter guidance. Every clause adds useful information, though the parenthetical 'by_type_counts is the full summary' and the nested synonym note make it slightly harder to parse at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only listing tool with one required parameter, the description covers the essential invocation details: what is returned, how grouping works, how to filter by type, and how to request content. Since there is no output schema, more explicit return-shape detail would help, but the description is sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 50%, the description compensates by explaining the `type` behavior (synonym-aware) and the exact use of `include` with the enum value 'content'. The `aid` parameter is not described in the schema, but 'One API's artifacts' implies its role sufficiently. The `context` parameter is already well described in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific resource ('One API's artifacts') and an organizing behavior ('grouped by type'), making the tool distinguishable from broader artifact tools in the sibling list. It does not explicitly name a sibling alternative, but the scope is unambiguous enough for an agent to select it confidently.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear guidance on optional parameters ('pass `type` to scope the list to one type', 'include=["content"] to inline the bodies'), but it does not explicitly say when to use this tool versus siblings like get_provider_artifacts or find_artifacts. Usage context is implied by 'One API's artifacts' rather than stated as a selection rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_areaARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| view | No | summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity). | summary |
| limit | No | Top members to show. | |
| context | No | 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. | |
| include_next | No | Set false to omit the `next` affordance block. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Although readOnlyHint=true already covers the safety profile, the description adds valuable behavior beyond annotations: the response carries a computed `next` block listing sub-resources and the exact tool call for each, and include_next=false suppresses it. It also discloses that only a top sample of providers is returned, with a total, which exceeds what the annotations alone imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three dense sentences with no filler: return composition, alternative tool routing, and the notable `next` behavior are covered and front-loaded. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description specifies the main return elements (metadata, site link, sampled providers, total, `next`) and the schema covers all parameters. Together they are sufficient for an agent to know what get_area returns, how to adjust the view, and when to switch to find_providers.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so most parameters are already documented in the input schema. The description adds little beyond the schema: it alludes to slug via find_providers?area=slug and restates the include_next behavior, but view/limit/context are already fully described in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description immediately identifies the resource ('one area') and specifies the exact return shape: metadata, dedicated site link, and a top sample of member providers with their total. It also signals the main sibling difference by pointing to find_providers for the full list, so an agent can tell get_area from list-style tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides an explicit routing rule: use find_providers?area=slug for the full list, or view=full here for the full record. The schema's view parameter further clarifies that get_api/get_provider should be used for a single entity, giving the agent clear when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_area_leadersCRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint: true, and the description does not contradict that. The description adds pricing details and a reference to apis://prices, which is beyond annotations, but it does not describe behavioral aspects like the format of the returned list, pagination, or any limitations. The read-only nature is covered by annotations, so the description's additional value is mostly cost context, not behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence followed by pricing info. It is front-loaded with the core purpose. There is no fluff or redundancy. The 'UNDERSTANDING —' prefix is a minor stylistic addition but does not hurt clarity. Overall, it is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain what the tool returns. It says 'Top-rated providers' but does not describe the format, structure, or how many results to expect. The phrase 'curated API Evangelist area' is domain-specific and may be unclear to an agent without further context. Pricing is mentioned but not operational details. This is incomplete for a tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (only 'context' has a description). The description does not mention 'slug' or 'limit' at all, so it adds no meaning beyond the schema for those parameters. The 'context' parameter is already described in the schema, so the description's silence on it is acceptable. For slug and limit, there is no compensation for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'Top-rated providers in a curated API Evangelist area.' This clearly identifies what the tool does. It does not explicitly distinguish from sibling leader tools like get_country_leaders or get_region_leaders, but the name and phrasing make the area-specific scope evident. The verb is implied by 'get' in the name, and the description clarifies the resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention sibling tools or conditions for selection. The only extra info is pricing, which is not usage guidance. An agent would have to infer from the name that this is for area-specific leaders, but no explicit 'use this when...' is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_capabilityARead-onlyInspect
One business capability: its definition, its sub-capabilities, the external authorities it cites, and WHICH catalog providers reach it with their ratings. Accepts a slug or a BC id (e.g. "payments-card-management" or "BC-1340"). Free. 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.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | 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. | |
| capability | Yes | Slug or BC id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description adds further behavioral context: it states that the tool is free, gives a price estimate endpoint, and clarifies that per-tag edges are handled by a separate priced tool. This goes beyond the annotation and informs cost-aware usage. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and input examples, then adds pricing details and alternative-tool guidance. While the pricing sentence is a bit long, each part serves a purpose (cost awareness and routing). The structure is clear, with the most critical information first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers output content, input identifier format, pricing, and directs to the right sibling for edge details. It lacks an explicit return schema format, but given there is no output schema, the description is sufficiently complete for an agent to call it correctly and know what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are documented in the schema. The description adds concrete examples for the capability parameter ('payments-card-management' or 'BC-1340'), clarifying the expected format beyond the schema's generic 'Slug or BC id.' It adds little for the context parameter, but the schema already covers it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool returns: 'One business capability: its definition, its sub-capabilities, the external authorities it cites, and WHICH catalog providers reach it with their ratings.' It also clearly specifies the input forms (slug or BC id) and distinguishes from the sibling get_capability_edges, so an agent can immediately tell what this tool does and how it differs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly directs the agent to get_capability_edges for per-tag edges with evidence, providing an alternative for a subset of functionality. It also mentions pricing and the estimate endpoint, giving some context on when to use it. However, it does not discuss when to choose this over other capability-related tools like find_capabilities, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_capability_edgesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | 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. | |
| capability | Yes | Slug or BC id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, and the description goes beyond that by disclosing the publication filter (confidence >= 0.7, verbatim evidence), the pricing tier, and the fact that edges are 'checkable rather than asserted.' These are useful behavioral facts not present in the annotations. Minor omissions like pagination are acceptable given 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is more elaborate than strictly necessary, but every sentence contributes: purpose, edge contents, filtering rule, citation use case, plan, pricing, and price reference. It is front-loaded with the core purpose and only minor redundancy exists around 'UNDERSTANDING' and 'Understanding plan.'
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only lookup tool with only one required parameter and no output schema, the description is thorough: it names all returned edge fields, explains the confidence threshold, addresses empty-result plausibility by noting only published edges appear, and even covers pricing. It does not specify sorting or pagination, but those are not critical for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 'capability' and 'context' fully. The description reinforces that the capability is the central lookup target and explains the evidence structure, but it does not add parameter-level 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'UNDERSTANDING — the evidence behind a capability' and then enumerates precisely what an edge contains: provider, tag, OpenAPI file, confidence, and quoted contract fragment. It clearly distinguishes this from sibling tools like get_capability or find_capabilities by positioning it as the checkable evidence source for a capability claim.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit use case: 'This is what you cite when someone asks "says who?"' which tells an agent when to select this tool. It does not name alternative tools or state when not to use it, but the scenario is specific enough to be actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cohortBRead-onlyInspect
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) need Influence. 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.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| slug | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint, so the description carries the burden of explaining real-world behavior. It adds pricing details (per-request, per-record, cap), plan eligibility, and the estimate-first workflow, which are important non-obvious behavioral traits. It does not cover errors or pagination, but the cost and read-only nature are well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The outcome is front-loaded, and each sentence carries useful information about scope, plan, pricing, or estimation. The pricing clause is dense and uses many clauses, but it is still compact and relevant. There is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main return contents, plan gating, and cost, which is good given no output schema exists. It does not describe how to construct kind/slug values, what the output structure looks like, or how roster pagination behaves. Some selection and invocation details are left to the schema and sibling names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only context has a description), and the description does not explain kind or slug at all. Required parameters are left to the schema enum and field names, so the description fails to compensate for the low coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Describes the resource clearly as a single cohort and enumerates returned contents: identity, population, full member roster, provider Kin Score, and agent readiness. It also distinguishes this from cohort analysis parts (stats/rankings/scores/capabilities), though it does not explicitly name sibling tools. The action is unambiguous via the tool name and title even though no verb appears 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides plan context: basic cohort data is available under Understanding, while analysis parts require Influence. It also tells the agent to estimate cost first and points to the pricing endpoint. However, it does not explicitly say when to prefer this tool over sibling cohort_* tools or when to use those alternatives instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_company_insightARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description aligns with that (it's a read/synthesis operation). The description adds valuable behavioral context: it is a priced B2 cross-catalog synthesis call ($0.05 per call under pay-as-you-go; included in Understanding and Influence plans), and it references apis://prices for details. It also discloses that the 'context' parameter is never used for ranking and is only read when a result is wrong. This goes beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the core purpose is in the first sentence, followed by pricing and a pointer to more details. Every sentence adds distinct value (scope, content, cost, plan inclusion, pricing reference). No filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only retrieval tool with one required parameter and no output schema, the description covers the essential context: what the tool returns, what it costs, and how the optional context parameter behaves. It doesn't describe the output structure, but there is no output schema and the description's list of contents (scores, stack, history) gives a reasonable picture. A small gap is not specifying the format of 'slug' (e.g., company identifier vs. name), but the sibling find_company_insights likely handles that discovery.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'slug' has no description in the schema, but the tool description makes clear it identifies the company ('for one company'). The 'context' parameter is fully explained in the schema, and the description reinforces its purpose. The description compensates for the undocumented 'slug' parameter by establishing the resource being addressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb and resource: 'Full demand-side profile for one company.' It enumerates the specific content (40-dimension readiness scores, adopted stack, per-quarter history), which distinguishes it from sibling tools like find_company_insights (search/discovery) and get_provider (supply-side). The 'UNDERSTANDING' label and pricing context further clarify its role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it: when you need a full demand-side profile for a single company, as opposed to searching for companies (find_company_insights) or getting supply-side provider data (get_provider). It does not explicitly state 'use this instead of X' or list exclusions, but the scope is clear enough for an agent to select it correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_countryARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| view | No | summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity). | summary |
| limit | No | Top members to show. | |
| context | No | 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. | |
| include_next | No | Set false to omit the `next` affordance block. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true. The description adds useful behavioral context about the sampled provider list and the summary/full view distinction, which is not visible from annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, with the core purpose front-loaded and the routing guidance following immediately. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only single-country lookup with a well-documented schema, the description covers what the tool returns, how to get the full ranked list, and how to request the full record. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so the schema carries most parameter meaning. The description adds the 'top sample' and 'total' semantics around limit, but it does not meaningfully enhance the already documented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific resource ('One country') and the exact payload components: metadata, counts, and a top sample of member providers with the total. It also differentiates from the sibling find_providers tool by noting that get_country is not the full ranked list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly directs agents to find_providers?country=slug for the full ranked list and to view=full when wanting the whole record here. This gives clear when-to-use versus alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_country_leadersBRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description reveals that membership is derived and partial, so the ranking should not be treated as a complete national league table. It also discloses pricing and plan inclusion, which helps agents understand call cost. It does not mention data freshness or pagination, but the provided caveat adds meaningful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences convey interpretation, ranking caveat, and pricing without padding. The reference to 'See apis://prices' is slightly redundant after already stating the price, but overall the description is efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and the description does not describe the shape of the ranking or the meaning of its fields. Combined with two undocumented parameters, an agent is left guessing about slug format and limit behavior. The interpretation caveat and read-only hint help, but the description is not complete enough for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%: only the context parameter has inline documentation. The description implies that 'country' maps to the slug parameter, but it does not explain slug format, the effect of limit on the ranking, or acceptable values. With low schema coverage, the description should have compensated but did not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource ('providers in one country') and the output (a ranking of top-rated providers), so the purpose is clear. It does not use an explicit verb like 'get' or 'list' and does not name sibling leader tools, but the meaning is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives interpretation guidance and pricing but no when-to-use or when-not-to-use context. It never explains how to choose between get_country_leaders and related tools like get_region_leaders, get_area_leaders, or get_industry_leaders.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_estateARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| context | No | 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. | |
| include_next | No | Set false to omit the `next` affordance block. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description does not need to establish safety. It adds useful context about the returned payload, but does not disclose any additional behavioral traits such as pagination, rate limits, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The primary return summary is front-loaded, and the sibling-tool routing is placed at the end, earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only get-by-slug tool, the description covers the main return contents and the reverse lookup path. With no output schema, it would benefit from stating the slug parameter explicitly, but the description is otherwise sufficient for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents context and include_next, but the required slug parameter has no property description. The tool description's 'One estate' weakly implies slug refers to an estate, but it does not explicitly state the expected identifier, so the agent must infer it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what is returned: one estate with its owning provider, full member roster with per-member API counts and bands, and estate-wide rating. It also distinguishes itself from get_provider_estate by naming the reverse direction, so an agent can tell the two apart immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly names get_provider_estate(slug) as the alternative for going from a provider to its owning company, making the when-to-use boundary clear. It implies the primary case: given an estate, retrieve its full estate object.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_extensionARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| view | No | summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity). | summary |
| context | No | 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. | |
| include_next | No | Set false to omit the `next` affordance block. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals a safe read operation, and the description adds meaningful context beyond it: some extensions are published by API Evangelist rather than vendors, so keys must not be blindly treated as provider-originated. It also previews the output categories, which is helpful because no output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences carry real content: the first defines the resource and expected output fields, and the second delivers an essential caveat. There is no filler or redundancy, and the warning is front-loaded enough to affect interpretation before use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-entity read tool, the description plus schema covers what is returned, the view modes, and the critical data-interpretation caveat. It lacks an explicit alternative tool mention, but given the read-only annotation and documented parameters, nothing essential is missing for a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75% and the view, context, and include_next parameters are already well documented in the input schema. The description does not add parameter-specific details beyond high-level output categories, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as a single OpenAPI specification extension and enumerates its returned dimensions: publishers, occurrence and document counts, where it appears, and value shapes observed. The singular framing distinguishes it from find_extensions and other get_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for retrieving one extension, but it never explicitly states when to use get_extension versus find_extensions or other get_* tools. The is_api_evangelist warning is a valuable interpretation rule, yet it is not guidance about tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_industryARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| view | No | summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity). | summary |
| limit | No | Top members to show. | |
| context | No | 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. | |
| include_next | No | Set false to omit the `next` affordance block. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, so the safety profile is already known; the description adds meaningful behavioral context: results are ranked, include the total, and carry a computed `next` block with exact sub-resource tool calls. This goes beyond the annotation and helps set expectations about response contents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core purpose and key differentiators, then concise routing and the `next` affordance behavior. Every sentence earns its place; no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only single-entity tool with no output schema, the description covers the main return shape, the ranking/total behavior, the `next` affordance, and how to avoid the full list. It omits no critical detail an agent needs to select or call the tool correctly, though a little more on the summary/full distinction would be even stronger.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so most parameters are already documented. The description adds practical semantics by explaining that view=full is an alternative to find_providers for this entity and that include_next controls the affordance block, giving agents actionable usage tips beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: get one industry's metadata plus a ranked top sample of member providers with counts. It clearly distinguishes itself from find_industries (listing) and find_providers (full provider list) by naming the boundary, so an agent can tell them apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs when to use find_providers?industry=slug instead (for the full list) and when view=full here is appropriate. It also tells the agent how to suppress the `next` block via include_next=false, giving clear routing and conditional guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_industry_leadersCRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers side-effect safety. The description adds only pricing/tier details like 'Priced B1' and does not disclose ranking order, pagination, or response shape, so it contributes little behavioral information beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with the core outcome front-loaded. The pricing clause is extra, but it is concise and points to a source of details, so there is no real redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and most parameters undocumented, the description needed to explain what 'leaders' means, how limit behaves, and what a call returns. It only states the basic purpose and price, so an agent would still be guessing about key operational details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%: only the context parameter is described in the schema. The description partially clarifies that the required slug refers to an industry vertical, but it does not explain limit semantics or otherwise compensate for the missing parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete outcome: 'Top-rated providers in an industry vertical,' and the tool name uses a specific verb and resource. It does not explicitly contrast with sibling leader tools like get_area_leaders or get_country_leaders, but 'industry vertical' provides enough scoping to make the purpose clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool instead of the many find/get leader alternatives. The description only says what it returns and mentions pricing, leaving selection context entirely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_listARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safe-read nature is covered. The description adds behavioral context by noting the list's members are 'resolved' to current values, which implies dynamic lookup rather than raw stored data, and it discloses pricing/plan inclusion. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core action, resource, and output semantics in one sentence. The pricing note is additional but brief and useful for cost-aware selection; it does not clutter the primary purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a simple read-only single-list retrieval with one required parameter and no output schema, the description covers ownership, the main return content, dynamic resolution, and pricing. It omits response envelope and potential pagination details, but those are not critical for a basic get-list call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: the context parameter is well described in the schema, but id has no schema description. The description adds some meaning by implying id identifies a list the caller owns and that the response will enrich members, but it does not explain id format, source, or expected values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Get a list you own,' and specifies the returned member data (current name, band, score). The ownership qualifier and 'resolved' detail distinguish it from siblings like list_lists, which would enumerate lists rather than retrieve one enriched list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for retrieving a single list the caller owns, with resolved member details dropped. However, it does not explicitly state when to prefer it over alternatives such as list_lists, create_list, or add_to_list, nor does it mention any conditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_openapiBRead-onlyInspect
An API's primary OpenAPI reference (url) — the top agent intent; set include=["content"] to inline the spec body.
| Name | Required | Description | Default |
|---|---|---|---|
| aid | Yes | ||
| context | No | 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. | |
| include | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals a safe read, and the description adds that the default result is a URL and that include=['content'] inlines the spec body. It does not mention response structure, errors, or what happens when the OpenAPI reference is unavailable, but the annotation lowers the burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose and the key optional parameter. The phrase 'the top agent intent' is somewhat vague and does not earn its place, but overall the structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only getter, the description states the primary output (URL) and the optional content inlining. However, with no output schema and minimal annotations, it leaves unstated details like the exact response shape and behavior when the API has no OpenAPI reference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, so the description must compensate. It does clarify the include parameter's effect, and 'An API's' implies aid is the API identifier, but it does not explicitly document aid or the context parameter beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'An API's primary OpenAPI reference (url)' clearly identifies the resource and what the tool returns, and the optional include behavior is mentioned. However, there is no explicit verb and no differentiation from sibling tools like find_openapis or get_api.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explain when to choose this tool over alternatives such as find_openapis or get_api. 'The top agent intent' is vague and does not provide concrete selection criteria or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_playground_apisARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Filter by subject tag, e.g. weather, books, energy. | |
| limit | No | ||
| access | No | no-key = callable right now; instant-key = free self-serve key. | |
| context | No | 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. | |
| grouping | No | starter (default) is the good-first-experience set. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint, it discloses that calls need no key or only an instant free key, incur no cost or side effects, and that each entry's example_request URL returned HTTP 200 to an unauthenticated GET as of the shown date. It also states the default grouping, so the agent knows what to expect without invoking the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core safety/value proposition, followed by concrete usage scenarios and the key parameter default. Every sentence earns its place and there is no filler, even though it is richer than a minimal definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, it still tells the agent what to expect from entries (each carries an example_request URL) and how to adjust grouping for different repository types. Optional parameters are covered by the schema or description, and the read-only, no-side-effect behavior is fully disclosed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers most parameters, but the description adds meaning by defining grouping: starter is the default and deep-archive is for institutional/OAI-PMH repositories. It also ties the access semantics to the no-setup promise, reinforcing the parameter's practical significance beyond the enum descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('curated APIs') and the exact purpose: safe, no-cost, no-side-effect experiments for newcomers. It clearly distinguishes this from the many find_/get_ siblings by framing it as the 'start here' playground rather than a general API search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says when to use it: when new to the catalog, learning what an API call feels like, testing a tool-use loop, or needing a harmless endpoint for demonstration. It doesn't name a specific alternative or negative condition, but the context is clear enough for an agent to avoid using this for general API discovery.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pricesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint already declares the tool is read-only; the description adds non-obvious context: the call is free, it returns specific bands and resource keys, and the same price map drives x402 payments and the x-price-usd header. This meaningfully exceeds what annotations alone provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than minimal but front-loads the purpose and then adds a justification, return shape, subscription caveat, and consistency guarantee. The wallet metaphor is vivid and reinforces the urgency, though it could be trimmed without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description properly explains what will be returned: cost bands, priced resource keys, and the map underlying payment headers. It also covers when prices are included in plans. Nothing essential is missing for an optional-parameter read-only lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, context, is already fully documented in the schema with 100% coverage. The description does not add parameter-specific guidance, but none is needed because the schema carries the explanatory burden completely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states exactly what the tool returns: per-call cost bands on the pay-as-you-go plan. It goes further by enumerating the bands and noting that every priced resource key is included, so the resource and scope are unmistakable and distinct from sibling get_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to call this BEFORE budgeting a run of paid tools and explains why it is free. It also clarifies subscription coverage, but it does not name an alternative tool or state when not to use it; the guidance is still clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_providerARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| view | No | summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity). | summary |
| fields | No | Return exactly these top-level keys (slug and name always included); overrides view. | |
| context | No | 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. | |
| include_next | No | Set false to omit the `next` affordance block. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavior beyond the readOnlyHint: heavy sections are omitted by default with counts, absolute URL resolution, and the computed next block with exact tool calls. It also tells how to disable that block. These details are not available in annotations and materially shape the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence carries distinct value: scope, default omissions, field narrowing, URL behavior, and the next affordance. Information is front-loaded with the main purpose before options.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates well by explaining default return shape, counts, field selection, URL resolution, and pagination-style next data. It is complete enough for most calls, though it does not enumerate every possible top-level field or error behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so the schema already documents most parameters. The description adds concrete usage meaning: fields=['score'] for rating only, fields=['common'] for a section, and view=full for the whole document, while the required slug is implicitly the provider identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns full detail for one provider, including profile, rating, and published APIs, which distinguishes it from list/search tools. It does not explicitly name a sibling alternative like get_provider_apis, so the differentiation is implicit rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear within-tool guidance: view and fields configure the response, and include_next removes the next block. However, it does not state when to prefer this tool over siblings such as find_providers or get_provider_apis, leaving alternative selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_provider_apisARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| slug | Yes | ||
| tags | No | 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. | |
| limit | No | ||
| match | No | any | |
| fields | No | Return exactly these top-level keys (overrides view). | |
| context | No | 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. | |
| include | No | ||
| artifact_types | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers safety, so the description's extra context is valuable: it clarifies the scope is provider-specific rather than network-wide, states that meta.total reflects that provider's real count, and notes that include=["content"] inlines artifact bodies. It also hints the endpoint is what the provider page uses, implying a consistent data contract. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense but purposeful sentences. The scope is front-loaded, followed by the alternative and the meta.total behavior, then a concise list of filter options. No filler or repetition of schema content; each clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter tool with no output schemaaine, the description plus schema covers the essential decisions: scope, alternative selection, filtering semantics, and content inclusion. It does not explicitly detail pagination fields (page/limit), but defaults exist in the schema letters and those names are self-evident. The nuanced tags warning and provider-page provenance make this comfortably above the minimum viable definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, but the description compensates for the sparsity by adding real semantics: it explains what tags mean on providers (identity from the provider's apis.yml), how match interacts with tags, that artifact_types can be required, and what include=["content"] does. Sibling guidance for tags also clarifies when not to use this param. The remaining unaddressed params (slug, page, limit) are conventional and mostly covered by types/defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise definition: 'Every API one provider publishes, as a page you can filter — the provider's own catalog rather than the whole network's.' This establishes both the resource (provider APIs) and scope (single provider's catalog), and explicitly contrasts it with find_apis. The title 'Get provider APIs' aligns, and the sibling-aware phrasing leaves no ambiguity about which tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit routing rule: 'Prefer this over find_apis with a providers filter when you already know the company.' It also explains why (the provider page is built from this endpoint, so meta.total is the real count) and enumerates filter options (tags with match, artifact_types, include). This is exactly the kind of when-to-use guidance an agent needs to choose correctly among many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_provider_artifactsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| type | No | Return only artifacts of this type (synonym-aware: MCP matches MCPServer). | |
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes this as a safe read operation. The description adds useful behavioral context: results are grouped by type with counts, by_type_counts is the full summary, and unfiltered responses can be large. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense, front-loaded sentences: the first defines the resource and grouping, the second gives actionable filtering advice and a performance caveat. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only artifact listing tool with no output schema, the description covers the key decision points: grouping, summary field, type filtering, and response size. It does not specify exact artifact fields or pagination, but the guidance is sufficient for an agent to call and interpret the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover type and context but not slug. The description adds value by explaining how type scopes the artifacts list and by warning about the large unfiltered result set. It does not elaborate on slug, but the required parameter is reasonably inferable as the provider identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns every artifact a provider publishes, enumerates provider-level and per-API types, and notes grouping by type with counts. It is specific and unambiguous about the resource, though it does not explicitly contrast itself with siblings like get_api_artifacts or find_artifacts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical usage guidance: by_type_counts is the summary, and passing type scopes the list to one type, with a warning that an unfiltered provider can return 250+ entries. It does not mention alternative tools or when not to use this tool, so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_provider_business_capabilitiesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, but the description adds useful behavioral context: it is a single-entity synthesis, plan-gated, and based on contracts rather than marketing. It does not mention auth, rate limits, or possible failure modes, but the annotation lowers the burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and front-loads the core purpose before moving to sibling differentiation and pricing. It is somewhat heavy with formatting choices like caps and em-dashes, but every sentence contributes useful context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema absent and a key parameter undocumented, the description gives a partial picture: it says results are rolled up by capability with tag-level evidence, but leaves the input contract and return shape underspecified. It is adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: the slug parameter has no schema description, and the description does not explain what slug should contain or how context is used beyond the schema. The description adds no parameter-level guidance, so it fails to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it summarizes what one vendor's published APIs allow a business to do, rolled up by capability with tag-level evidence. It also differentiates itself from get_provider_capabilities by naming what that sibling returns, so an agent can tell them apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says NOT get_provider_capabilities, which is artifact counts and agent-readiness dimensions, giving a direct routing rule versus an alternative. It also clarifies plan and pricing context, which helps an agent decide when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_provider_capabilitiesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true, and the description adds useful non-structural behavior: it clarifies that the result is counts rather than business logic, states the cost model, and notes that the data is about the provider's own public surface. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and the disambiguation note is placed early. The pricing sentence is a bit verbose with plan details, but the 'See apis://prices' link prevents redundancy from becoming a real problem.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only lookup with no output schema, the description covers purpose, scope, cost, and the most likely sibling alternative. It doesn't describe exact output fields, but the artifact-count framing is sufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only 50% of parameters have schema descriptions, and the description does not directly document the slug or context parameters. However, 'one provider' makes it clear slug identifies a provider, and context has a thorough schema description. The description partially compensates but doesn't fully close the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool does: it returns what one provider publishes, counted by artifact type, plus the agent dimensions it satisfies. It also explicitly distinguishes this from business capabilities, making its purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear when-not-to-use instruction: 'this is artifact counts, NOT business capabilities' and names the exact alternative tool, get_provider_business_capabilities. It also gives pricing context that helps decide whether to call it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_provider_estateARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses the HTTP 200 behavior and the crucial semantic that estate:null means a measured absence rather than a missing/errored record. This prevents an agent from misinterpreting a valid empty result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences, front-loaded with the core purpose and immediately followed by the one behavioral caveat that matters. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple read-only lookup, and the description covers the key ambiguity (null result meaning). It does not describe the non-null response shape, but no output schema exists and the intended answer is directly inferable from the purpose; a small note about unknown slugs would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter-level meaning. Schema covers the optional context parameter, but the required slug parameter has no description, and the prose never states that slug identifies the provider. With only 50% schema coverage, the description does not compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the exact relationship being queried ('which corporate estate a provider belongs to'), with the modifier 'if any' setting correct expectations. This is distinct from sibling tools like get_estate (fetch an estate directly) and find_estates (search estates), so an agent can select it based on purpose alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no when-to-use or when-not-to-use guidance and does not point to alternatives among the many sibling tools. The only contextual hint is the null semantics, which is behavioral rather than a selection criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_provider_evidenceARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true in annotations, the safety profile is already covered. The description adds useful behavior beyond this: the operation is free, returns provenance categories, and is positioned as a prerequisite before dispute or quote actions. It does not mention rate limits or auth, but those are less critical for a read-only lookup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with no fluff. The first sentence defines the output semantics; the second provides the usage trigger and rationale. The 'Free' clause earns its place by adding behavioral context rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one required parameter and no output schema, the description conveys what the agent will receive (evidence categories) and when to call it. It omits exact return shape and error behavior, but the described semantics are sufficient for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The context parameter is thoroughly documented in the schema, but slug has no schema description and the tool description only implies its role via 'provider's score.' With 50% schema description coverage and no parameter-level detail in the description, this is adequate but not additive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly explains what the tool does: it returns how a provider's score was established, broken into first-party, verified, and derived evidence. It is specific about the resource and purpose, and the claim/quote context helps separate it from simple score lookups, though it lacks an explicit action verb and named sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit trigger: 'Call this before disputing or quoting a score.' That is clear, practical guidance. However, it does not name alternative tools or explain when not to use it, so it stops short of 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_provider_facetsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description does not contradict that. It adds useful behavioral context: this is a priced Understanding-category synthesis call, costs $0.01 per use, and returns facet-level detail plus regulatory regime. No side-effect or auth concerns are disclosed, but the annotation covers the core safety trait.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four concise sentences with no wasted words. The core purpose and facet list come first, the contrast with the composite score comes second, and pricing is given last. Front-loaded and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden of explaining what the agent will get back. It enumerates the facet dimensions and the regulatory-regime component, and it provides pricing context. Exact response shape is not specified, but the conceptual return value is sufficiently clear for a read-only synthesis tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents the optional context parameter well, but slug has no schema description. The description indirectly clarifies that slug identifies 'one provider,' yet it does not state the expected slug format or how to obtain it. With 50% schema coverage, the description only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description names a specific resource (one provider's score broken into facets), enumerates exactly which facets are included, and explicitly contrasts this with the composite one-number score. This clearly differentiates it from sibling tools 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The contrast between 'the composite is one number' and 'these are the parts a team can actually act on' signals when to use this tool instead of a simple rating lookup. It does not explicitly name an alternative or state exclusion conditions, but the context is reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_provider_onboardingBRead-onlyInspect
A getting-started view for a provider — website, portal, signup, docs, authentication, base URLs, and first steps assembled from its registered links.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already marks this as safe/read-only. The description adds useful context by saying the view is 'assembled from its registered links,' implying aggregation from existing data. It does not cover edge cases such as missing links or whether the assembled view can be empty, but annotations lower the bar.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the main concept and then enumerates the contents. Every word earns its place; no filler or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description names the expected output components and the assembly source, which gives a reasonable idea of the return shape even without an output schema. However, it omits practical invocation details such as what 'slug' refers to and what an agent should do if some registered links are missing. For a simple read-only tool, this is acceptable but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 50% description coverage: the 'context' parameter is fully explained, while 'slug' is left with no description. The description does not add explicit parameter guidance, but 'slug' is intuitive given the tool name and provider focus. The baseline of 3 applies because coverage is not below 50% and the context parameter is already well-documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource ('provider onboarding') and the kind of output: a getting-started view containing website, portal, signup, docs, authentication, base URLs, and first steps. It does not explicitly distinguish itself from sibling tools like get_provider or get_provider_evidence, but the phrase 'assembled from its registered links' conveys a unique aggregation behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance about when to use this tool versus alternatives such as get_provider, get_provider_apis, or get_provider_evidence. An agent must infer usage from the tool name and the phrase 'getting-started view.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_provider_operationsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Substring match on summary, path, or operationId. | |
| api | No | Restrict to one API, by aid or api slug. | |
| page | No | ||
| path | No | Substring match on the operation path. | |
| slug | Yes | ||
| limit | No | ||
| method | No | Restrict to one HTTP method. | |
| context | No | 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. | |
| consequence | No | Agentic consequence, e.g. "read". Only matches operations with agentic-access profiled. | |
| action_class | No | Agentic action class, e.g. "connected". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already include readOnlyHint=true, and the description adds meaningful behavior: it returns a synthesized view across all OpenAPIs, exposes extra fields only when agentic-access is published, and explains that the context parameter is never included in results or used for ranking. This goes beyond the annotation without contradicting it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than average but every clause carries information: the first sentence enumerates output fields and scope, the second explains the agentic-safety filtering use case and the context parameter's behavior. It is front-loaded and structured, though it could be tightened without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by listing the returned fields and explaining the conditional agentic-access fields. It covers the tool's main purpose, filtering options, and safety guidance. Pagination behavior is not described beyond the schema's limit range, but page is standard and the rest is adequately covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 70%, and the description adds semantic value by explaining consequence as 'read vs something that moves money' and action_class as 'agentic action class', which clarifies filtering intent. It also explains the purpose of context more deeply than the schema. Some parameters like slug and page remain minimally described, but the main filtering parameters are clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists every operation a provider exposes across all OpenAPIs, with specific output fields (method, path, operationId, summary, API, deprecation). It positions itself as the shortcut for 'what can I actually call here?', which differentiates it from narrower siblings like deprecated_operations or per-API lookups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly identifies when to use it: when you want the full surface of callable operations across all of a provider's specs without fetching and parsing each one. It also advises filtering by consequence/action_class to find the safe surface before agent use, but it does not name specific sibling tools or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_provider_ratingARead-onlyInspect
One provider's full rating breakdown (composite, band, trend, six facets). Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is known. The description adds pricing details (B1 tier, $0.01 per call, included in plans) which is a useful cost behavior. It does not describe side effects (none expected) or rate limits, but for a read-only operation this is adequate. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences, no fluff. It front-loads the core purpose and includes practical pricing information. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one required parameter, the description covers the main output (rating breakdown) and provides cost context. It lacks a detailed list of the six facets, but with no output schema, it still gives enough for an agent to call correctly. Minor gap: could mention that slug is the provider identifier, but it's implied by the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: slug has no description, context has a description. The tool description does not mention parameters at all, so it fails to compensate for the undocumented slug. While slug is self-explanatory, the description adds no value beyond the schema, leaving the missing parameter description unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: retrieving one provider's full rating breakdown, listing the components (composite, band, trend, six facets). This distinguishes it from siblings like get_provider_facets (which likely returns only facets) and get_rating_history (history-specific). The verb 'get' and resource 'provider rating' are explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for a single provider's full breakdown, but it doesn't explicitly compare it to alternatives such as get_provider_facets or get_rating_history. There is no 'use this when X, otherwise use Y' guidance. The scope is clear enough for an agent to infer, but it's not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_provider_schemaBRead-onlyInspect
Every JSON Schema a provider publishes — the data shapes their API works in, in one list, without walking their artifacts. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Substring match on schema name or slug. | |
| page | No | ||
| slug | Yes | ||
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers safety, and the description adds that the result is aggregated into one list and is free. It does not disclose pagination behavior, error cases, or response structure, so behavior beyond the annotation is only partially transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the core purpose immediately. 'Free.' adds marginal value and reads as filler, but it does not undermine the overall compactness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the response looks like, but it only says schemas come 'in one list.' It also does not clarify how page, limit, and q affect results, or what happens when a provider has no published schemas.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%, and the description does not compensate by explaining the required slug or the page/limit pagination parameters. The required slug must be inferred from the tool name, and q, page, and limit are not given semantic context beyond their schema entries.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly names the resource: every JSON Schema a provider publishes, delivered as a single list. It distinguishes itself from an artifact-walking workflow, though it never uses an explicit verb like 'returns' or 'retrieves'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'without walking their artifacts' implies this tool is the shortcut when you need a provider's schemas directly. However, it does not name sibling alternatives like find_json_schemas or state explicit when-to-use or when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_provider_toolsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| slug | Yes | ||
| limit | No | ||
| context | No | 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. | |
| provenance | No | Restrict by who authored the tool list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses important behavior: derived tools are API Evangelist-generated candidates from OpenAPI rather than provider-published servers, and auth-gated servers are reported in coverage.not_enumerable instead of being silently counted as zero. This is substantive behavioral context that affects how an agent interprets results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded: purpose first, then provenance definitions, then filter advice, then a caveat about non-enumerable servers. Every sentence earns its place and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description does enough to convey what the response contains (tools, operations, auth, provenance, coverage). It could be more explicit about pagination or the required slug parameter, but the core behavior and caveats are covered well.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%, so the description carries some burden for explaining parameters. It adds real meaning to provenance by explaining first-party versus derived and warning about interpretation, but it does not explain slug, page, or limit beyond what their names imply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns every MCP tool a provider ships, along with the wrapped operation and auth, so the agent knows exactly what resource is being fetched. It does not explicitly name siblings like get_provider_operations or find_mcp, but the focus on provider-shipped MCP tools is specific enough to distinguish it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete usage guidance around the provenance filter, explicitly warning that counting derived tools as the provider's own overstates MCP adoption. It does not name alternative tools or state when to prefer them, but the context for using the tool and interpreting results is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rating_historyARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that points are recorded snapshots rather than implied values, describes the exact output structure (composite + agent readiness per date, summary metrics), and includes pricing. This goes beyond the readOnlyHint annotation, though auth requirements and rate limits are not covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately long but front-loaded with the core purpose and each sentence adds meaning. The pricing and plan details are useful, though the 'UNDERSTANDING' prefix and emphatic 'REAL' add minor noise. Overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description does a good job explaining the returned data: per-build composite and agent readiness, plus summary statistics like first/last, net change, direction, and largest jump. It doesn't mention data range or pagination, but for a single-provider series this is likely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description implies slug identifies the provider but never explicitly defines it or explains how to obtain it. The context parameter is well-described in the schema, but the required slug has no schema description and the description only partially compensates for this gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a provider's score time series with one point per scored build and a movement summary. It emphasizes 'provider' and 'time series', which distinguishes it from cohort-level or current-rating tools, though it does not name sibling tools explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when historical rating trends for a single provider are needed, but it does not explicitly state when to prefer this over tools like get_provider_rating or cohort_history, nor does it mention when-not-to-use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rating_rubricARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation already declares readOnlyHint=true, so the description adds value by disclosing that the tool moved behind a paywall on a specific date and is priced per call with plan inclusions. This is useful operational behavior beyond the structured annotation and does not contradict it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core purpose, followed by relevant pricing/access details. Every sentence contributes useful information, though the pricing detail could arguably be trimmed since it points to apis://prices.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional, fully documented parameter and no output schema, the description covers purpose, content, access cost, and plan inclusion. It does not describe the response format, but the rubric contents are named, making it adequately complete for agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents the optional context parameter. The description adds nothing about parameters, but per the baseline for high schema coverage, no additional parameter explanation is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (the rating rubric) and its contents: bands, facet weights, and trend thresholds, with the purpose of interpreting any rating score. It distinguishes this from sibling score-related tools like get_rating_history or get_provider_rating by focusing on the interpretation rubric rather than scores or history, though it does not name alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool — when an agent needs to interpret a score against the rubric — but it does not state when not to use it or name alternative tools. The pricing and plan-inclusion information gives operational context but not explicit decision guidance versus siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_regionARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| view | No | summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity). | summary |
| limit | No | Top members to show. | |
| context | No | 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. | |
| include_next | No | Set false to omit the `next` affordance block. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds substantive non-obvious behavior beyond that: results carry a computed `next` affordance block containing the sub-resources that exist for this entity and the exact tool call that retrieves each, plus the ranked/top-sample semantics and the include_next=false way to disable it. This is richer behavioral disclosure than simply echoing the annotation. It stops short of 5 because it doesn't address failure modes (e.g., unknown slug) or pagination of the sample.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with zero filler. The core scope is front-loaded in the first sentence, the alternative routing sits in the second, and the `next` behavior/override in the third. Each sentence earns its place and the most decision-relevant information comes first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description discloses the key dynamic aspect of the response (`next` with computed sub-resources and exact follow-up tool calls) and points to view=full / find_providers for deeper data. The schema fills in view and limit semantics. Minor gaps remain — the shape of the region metadata object and error behavior for invalid slugs — but an agent has enough to invoke the tool correctly and interpret its result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80% (view, limit, context, include_next all documented in the schema; only slug lacks a description). The description adds marginal context on top: it clarifies that limit selects a 'top sample' that is 'ranked, with the total,' and that include_next controls the `next` block. This is useful but modest enrichment of already-documented parameters, so the baseline-3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific, scoped statement: 'One region: metadata + a top sample of its member providers (ranked, with the total).' This names the resource, the return shape, and the ranking behavior. It also distinguishes itself from siblings by referencing find_providers for the full list and get_api/get_provider for single entities, so an agent can tell get_region apart from find_regions, get_region_leaders, and get_provider 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit routing guidance is present: 'Use find_providers?region=slug for the full list, or view=full here.' This names the alternative tool, the condition that selects it (need the full provider list vs. a top sample), and the in-tool fallback. The view parameter's schema description adds further routing to get_api/get_provider for a single entity. Nothing about when to use the tool is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_region_leadersCRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers safety, and the description is consistent with it, adding context about being an 'UNDERSTANDING' operation and a 'single-entity synthesis.' However, it does not clarify how leaders are ranked, what the response contains, or what limits apply to the results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with purpose. The pricing and plan details add useful context, though they occupy a notable share of a very short description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and the description does not describe the return shape, ranking criteria, or slug format. An agent could guess the basic intent but would still lack enough information to confidently invoke and interpret the tool correctly alongside similar sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, so the description must compensate for undocumented parameters. It only loosely implies the meaning of 'slug' as a region, and it does not explain the 'limit' parameter at all, leaving a required parameter and a common optional parameter under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 'top-rated providers in a region,' which maps directly to the tool name and title. It implicitly distinguishes from sibling tools like get_area_leaders, get_country_leaders, and get_region by naming the entity type as 'region,' though it does not explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to choose this tool over alternatives such as get_region, get_region_leaders, or get_country_leaders. The description focuses on pricing and plan inclusion rather than providing use-case direction or exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_regulationARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description does not contradict this. It usefully discloses that the return includes jurisdiction, scope, a law link, and reaches[] with country/region/industry cohorts, adding behavioral context beyond the annotation. It does not cover missing-regulation behavior, but for a plain read operation with readOnlyHint that is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler; the return content is stated first and the downstream use second. Every clause adds information and the structure is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-record reader with readOnlyHint and only one required string parameter, the description adequately describes the payload: jurisdiction, scope, law link, and reaches[]. It lacks an explicit statement about not-found behavior or how to obtain valid slugs, but those are partially implied by the sibling find_regulations. Overall sufficient but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents context thoroughly but leaves the required slug undocumented, and the tool description never explains what a regulation slug is or where to find one. With 50% schema coverage and no compensation for the required parameter, the agent is left to infer the slug format. This is the clearest weakness of the definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'One regulation,' clearly signaling a single-record retrieval operation rather than a search or list. It enumerates the returned facets (jurisdiction, scope, law link, reaches[]) and defines reaches[] concretely. It does not explicitly name find_regulations as the search sibling, so it misses the last bit of sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage guidance is the downstream instruction to use reaches[] with find_providers, which helps after the call but does not address when to choose get_regulation over find_regulations or other get_* tools. There is no when-not or alternative-selection rule, so usage is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tagARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| view | No | summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity). | summary |
| limit | No | Top members to show per list. | |
| context | No | 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. | |
| include_next | No | Set false to omit the `next` affordance block. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint=true annotation, the description adds non-obvious behavior: provider_count versus api_provider_count are 'disjoint', their different meanings are explained, and the age field is interpreted so the agent understands what high first_page share implies. It also discloses the computed `next` affordance and how to suppress it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every clause earns its place: it front-loads the core purpose, then explains count semantics, age interpretation, alternative full-list tools, and the next affordance. Despite its length, there is no filler or repeated schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the full burden of explaining results, and it does so well: it covers returned sections, count semantics, age meaning, navigation to full lists, and the next affordance. An agent has enough context to decide when to call this tool and how to interpret the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, with view, limit, context, and include_next already described in the schema. The description reinforces view=full and include_next=false but does not add much that is not already in the schema; the required slug parameter is still left to inference, though its meaning is fairly self-evident.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'One tag: its metadata, neighbor tags, and a top sample of its providers and APIs (with totals)', which names a specific resource and the exact pieces of data returned. This clearly distinguishes get_tag from list-oriented siblings like find_tags and find_providers by focusing on the single-entity view.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly routes to alternatives: 'Use find_apis?tags=slug / find_providers?tags=slug for the full ranked list, or view=full here.' It even points to find_providers with sort:"created" when the user wants newest-first listings, giving concrete conditions for choosing another tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tag_groupARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| area | No | Narrow the roster to one or more area slugs (comma-separated). | |
| slug | Yes | Tag group slug, e.g. cards, logistics, wealth-management. | |
| region | No | Narrow the roster to one or more region slugs (comma-separated). | |
| context | No | 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. | |
| country | No | Narrow the roster to one or more country slugs (comma-separated). | |
| industry | No | Narrow the roster to one or more industry slugs (comma-separated). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint, and the description adds behavioral nuances: the distinction between source_provider_count and provider_count (index cap at 1,000 vs live count) and the note that the stats distribution requires 'Understanding'. These are not evident from annotations or schema, adding genuine transparency about data quirks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences and mostly front-loaded with the core output in the first sentence. The second sentence ('Free; the DISTRIBUTION over the roster (stats) needs Understanding') is cryptic and could be clearer, and the third is detailed but earns its place. Overall efficient, but the ambiguous phrasing costs a point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description provides a reasonable high-level summary of the response: member tags, provider roster with Kin Score and readiness, plus filters and the count caveat. It leaves some structural details unspecified, but for a read-only single-resource tool this is adequate. The distinction between the two count fields is a good completeness boost.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value by stating the filters narrow the roster (industry, region, country, area), which clarifies that these parameters apply to the provider list rather than the tag group itself. It does not comment on `slug` or `context`, but schema covers them adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (tag group) and enumerates its contents (member tags, provider roster, Kin Score, readiness), which is specific. It lacks an explicit verb, but the tool name and context make the action clear. It also distinguishes from siblings like get_tag and find_tag_groups by mentioning the roster and filterable dimensions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving a single tag group and filtering its roster, but it does not explicitly say when to choose this over alternatives like find_tag_groups or get_tag. It provides a caveat about the stats distribution needing Understanding, which is a usage prerequisite, but no when-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_vcARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| view | No | summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity). | summary |
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description is not required to prove safety. It adds useful behavioral context beyond that: summary returns lean discovery records plus *_count for dropped sections, full return inlines the whole portfolio, and the call is priced as B1 under Understanding/Influence. There is no contradiction with the read-only annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: it states what the tool returns, then the key view option, then pricing and plan context. Every sentence earns its place, and the 'UNDERSTANDING' label plus pricing link are terse rather than bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get-by-slug tool with read-only annotations, the description covers the main return payload, the full-view option, and commercial context. It omits explicit notes on not-found behavior or slug requirements, but the tool is simple enough that this is a minor gap rather than a blocking ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents view and context well, and the description reinforces view=full behavior. However, the required slug parameter has no schema description, and the main description does not clarify slug format or accepted values. Schema coverage is 67%, and the description only partially compensates for the remaining gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource — 'One VC firm' — and enumerates the returned content: identity, fund facts, and portfolio summary with totals, band distribution, and average rating. It also distinguishes the summary vs full views via 'Pass view=full to inline the whole portfolio,' and the schema further routes full-record needs to get_api / get_provider. This is enough for an agent to know exactly what get_vc does and how it differs from nearby tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear guidance on when to use the tool and how to choose between summary and full views. It also steers users toward get_api / get_provider for single-entity full-record retrieval in the view parameter description. It does not explicitly contrast get_vc with find_vcs, but the by-slug lookup and 'One VC firm' framing make the intended context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
industry_gap_analysisARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| context | No | 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. | |
| min_share | No | Coverage threshold below which a type counts as an industry gap (0–1, default 0.5). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already conveys the safety profile; the description adds context about cross-catalog synthesis and the kind of output expected (missing artifact types). It does not disclose any side effects or edge-case behavior, but for a read-only analysis tool this is acceptable and non-contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose, followed by pricing context. The pricing sentence is useful for selection but not strictly necessary for invocation, so it is concise but not maximally tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema Ring, the description does not explain the return value shape, pagination, or how results are structured. It also leaves required slug semantics implicit and does not distinguish itself operationally from the sibling gap_analysis tool, which is a meaningful completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents context and min_share, and the description's 'whole industry' language implies that slug refers to an industry, but the required slug parameter is left undocumented in the schema and the description does not explicitly clarify how to obtain or format it. The description provides some inferable meaning but does not fully compensate for that gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's resource and scope: it identifies valuable artifact types (MCP, Arazzo, Rules, Skills…) that are commonly missing across an industry. The phrase 'whole industry' differentiates it from company_gaps and generic gap_analysis, though it lacks an explicit action verb like 'find' or 'analyze'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: 'across a whole industry' and 'where the vertical is under-served' signal an industry-level, cross-catalog analysis rather than a company-specific one. It does not explicitly name alternatives or exclusion conditions, but the scope is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
insights_adoptionBRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| type | No | service | |
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds valuable behavioral context: it discloses that this is a paid operation (priced at $0.05 per call, included in certain plans) and that it performs cross-catalog synthesis. This goes beyond annotations and informs the agent of cost implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, with the core purpose front-loaded. Pricing and plan information is appended at the end. It is concise and well-structured without unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with optional parameters and no output schema, the description covers the main aspects: what it returns, the cost, and the plan context. It does not explain pagination details (page/limit) or the meaning of 'profiled set', but these are minor gaps given the simplicity and existing schema hints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% (only 'context' has a description). The description partially compensates by mentioning 'services, tools, or standards' which maps to the 'type' enum, but it does not explain 'page' or 'limit' semantics beyond their names. The agent is left to infer pagination behavior from parameter names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear purpose: 'Services, tools, or standards ranked by how many companies adopt them across the profiled set.' It specifies the resource (services/tools/standards) and the action (ranked by adoption). However, it does not explicitly differentiate itself from sibling insights tools like insights_overview or insights_industries, so it lacks explicit sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description mentions pricing and plan details but does not state conditions for use, exclusions, or alternative tools. The intended usage is only implied from the purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
insights_dimensionsBRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers the safety profile, and the description does not contradict it. The description adds cost/plan context but does not disclose behavioral details such as ordering direction, pagination behavior, or response shape. Since annotations carry the main burden, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in the first sentence, and the pricing/plan information is condensed into the second. It is concise and readable, though the 'Understanding plan.' fragment is slightly abrupt.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must convey what the agent will receive, and it does indicate a ranking by signal count. However, it omits return field details, sort direction, and pagination defaults beyond schema defaults, leaving moderate gaps for a simple listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%: only `context` has a description, while `page` and `limit` rely on type/default constraints. The tool description adds no parameter-level guidance and does not compensate for the low coverage, even though the parameter names are conventional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: a 'cross-section ranking' of '40 tracked investment dimensions' by signal count. It distinguishes itself from the more general insights_overview and insights_industries by focusing on dimensions, but it does not explicitly name or contrast any sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like insights_adoption, insights_industries, or find_company_insights. The pricing and plan information is useful operationally, but it does not help an agent decide between this and sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
insights_industriesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description reveals the exact semantics of the two counts, the cross-catalog synthesis nature, and the B2 pricing tier. It even explains how profiled_count maps to find_company_insights(industry:), giving the agent a clear behavioral model. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded with the core concept ('demand-side industry rollup') and then explains counts, relationship, and pricing in a logical order. It's longer than average but every sentence carries meaningful decision-relevant information; the only minor inefficiency is the 'UNDERSTANDING —' prefix.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, paginated list tool with 3 optional params and no output schema, the description covers what the rows mean, which count to use for cohort sizing, how it differs from the sibling find_industries, and pricing. There's no critical missing information for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (only the context parameter has a description). The tool description doesn't add anything about page or limit semantics, so those two parameters rely entirely on their type/default/min/max constraints. The description does enrich the meaning indirectly by clarifying that rows contain industry and two counts, but not the pagination parameters specifically.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description defines the tool as a demand-side industry rollup with specific counts, and explicitly distinguishes it from find_industries' supply-side purpose. It names the resource (sectors/industries) and explains the aggregation, so an agent can tell it apart from siblings 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use this tool vs find_industries ('counterpart', comparing supply vs demand to find buyers with no sellers) and directs the user to size cohorts on profiled_count. Pricing context is also provided, which helps decide if the call is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
insights_overviewARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true, so the safe read-only behavior is covered. The description adds useful non-obvious context: the pricing tier, per-call cost, plan inclusion, and 'cross-catalog synthesis' behavior. It does not discuss return format or rate limits, but the annotation lowers the burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core purpose, and every clause earns its place: corpus scope, sequencing advice, and pricing. The pricing information is integrated without obscuring the functional purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless overview, the description adequately states the salient outputs and the recommended reading order. The schema handles the one optional parameter, and without an output schema the description gives enough expectation of what the call returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the single optional context parameter with 100% description coverage, including intent and how it is used. The tool description adds no parameter-specific semantics, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource, 'the Insights root', and specifies measurable outputs: number of companies profiled, number of quarters, and top investment dimensions. This clearly separates it from the more granular sibling tools without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says 'Read this FIRST' and frames the tool as the prerequisite before drawing conclusions from any single company, giving strong contextual guidance. It does not name sibling alternatives for deeper insights, so exclusion guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_listsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description is consistent with that. It adds pricing and plan-inclusion details ('$0.01 per call', 'included in Understanding and Influence'), which are not present in annotations and help the agent weigh cost. It does not cover rate limits or data freshness, but the added cost transparency 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action is stated in one short sentence, followed by compact pricing data and a reference link. No wasted words; the purpose is front-loaded and the additional pricing context is relevant and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, no-required-parameter read tool, the description gives enough context to invoke it correctly. It does not specify the return format (e.g., fields, pagination), and no output schema exists, so an agent may not know what each list object contains. However, the low complexity and self-explanatory name make this a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, context, is fully documented in the input schema (100% coverage), so the description need not repeat it. The tool description adds no extra meaning beyond the schema, matching the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb and resource ('List the lists/shortlists you own'), clearly scopes to self-owned lists, and is easily distinguished from siblings such as get_list, create_list, and list_saved_searches. The 'UNDERSTANDING' prefix adds category context without obscuring the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'you own' implies the primary use case (retrieving your own lists), but the description does not explicitly name alternatives or state when not to use this tool. No exclusion criteria or sibling routing is provided, leaving the agent to infer boundaries based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_saved_searchesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes safety, and the description adds value with ownership scope, return fields, and pricing tier. It does not contradict the annotation. It is adequate for a read-only list operation, though it does not discuss pagination or possible absence of results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the core action and output fields. The pricing and plan inclusion sentences add useful context for cost-aware agents, though the 'UNDERSTANDING —' prefix and pricing link are not strictly necessary for invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only listing tool with zero required parameters and no output schema, the description covers what the tool returns, ownership scope, and cost. Missing details like pagination or empty-result behavior are minor given the low complexity and the readOnlyHint annotation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single optional 'context' parameter is fully explained in the schema, including when it is read and that it never affects ranking. With high schema coverage, the description need not repeat that detail, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb and resource: 'List the saved searches you own, with the exact returned metadata ('name, criteria, when last run, how many matches are tracked'). It also distinguishes itself from siblings like save_search, run_saved_search, and delete_saved_search by clearly identifying itself as the listing operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: an agent should call this when the user wants to see their own saved searches and their tracked metadata. It does not explicitly name alternatives or exclude run_saved_search/delete_saved_search, but the listing intent is unambiguous from 'List the saved searches you own.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_watchesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers safety, so the description adds value by stating exactly what the response contains (watched listings, registered events, start time). It also discloses pricing and plan inclusion, which is useful operational context beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core function, followed by a concrete use case and pricing. The 'INFLUENCE —' prefix and 'See apis://prices' are mild extras, but the overall structure is tight and every substantive sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description appropriately states what the call returns: watched listings, per-item events, and start time. It also covers why to call it. Minor omissions like pagination or empty-results behavior are acceptable for a simple read-only tool backed by a readOnlyHint annotation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, context, has full schema coverage with a detailed description of its optional diagnostic purpose. The tool description adds no parameter-level meaning beyond that, so the baseline 3 is appropriate since the schema carries the burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('list') and resource ('the listings you are watching'), and further specifies what's included: events registered for each and when you started. It explicitly positions itself as 'the read half of watch_listing', which distinguishes it from the obvious sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance: call it before registering another watch, to avoid duplicating a watch or assuming one exists. It names the paired write tool (watch_listing) for contrast, making the read/write boundary clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
match_providersCRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true, so the description does not need to state that. It adds the behavioral detail of ranking by rating and the cross-catalog synthesis nature. However, it does not disclose output format, pagination, result limits, or any side effects. Given the annotation covers the safety profile, this is a reasonable but not rich disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, two sentences, and front-loaded with the category label 'UNDERSTANDING'. It includes pricing and a reference to the price catalog. Every sentence serves a purpose, though the pricing detail might be better placed in annotations or a separate field, but it does not detract significantly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two parameters, no output schema, and no parameter descriptions in the schema, the description is incomplete. It does not explain what the output looks like beyond 'ranked by rating', nor does it clarify the input parameter semantics, alternatives, or edge cases. An agent would struggle to invoke this correctly without further investigation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not explain the required 'slug' parameter. It implies a company identifier ('company's adopted stack') but never explicitly maps slug to that. With schema description coverage at only 50% and no description on slug, the description fails to compensate for the gap, leaving the agent to guess what slug represents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific function: matching apis.io providers to a company's adopted stack, ranked by rating. It conveys the core logic (supply↔demand join) and the ranking. However, it does not explicitly distinguish this from sibling tools like find_providers or find_similar_providers, and the title 'Match providers to a need' conflicts slightly with the 'company's adopted stack' framing, leaving some ambiguity about the input slug.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as find_providers, find_similar_providers, or compare_providers. The description does not state prerequisites (e.g., having a company slug), exclusions, or conditions that would select this tool over others. The pricing note is useful but not about usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_checksARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true, and the description adds meaningful behavioral context: authentication is required, anonymous callers have no identity to scope the list, and pricing/plan information is provided. It does not describe the return shape or pagination, but those are minor given the simple listing nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core purpose. The pricing and plan details add some extra length, but they are relevant for tool selection and cost awareness, so they earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no required parameters, a fully documented parameter, and a clear description of scope, auth, and alternative routing, the description is nearly complete for an agent to invoke the tool correctly. The only missing piece is the response format, but no output schema is provided and the tool is a simple list operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, context, is fully documented in the schema with 100% coverage. The description does not add any additional parameter semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource precisely: 'the check requests you filed, newest first.' It distinguishes the tool from the sibling check_status by noting that anonymous callers should use check_status for a single request, though it lacks an explicit verb like 'list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage guidance: it requires a key or logincars, and it explicitly tells anonymous callers to use check_status instead. This clearly states when to use this tool versus the alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_workspaceARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description adds useful behavioral context: this is a 'single-entity synthesis' call with a known pricing tier (B1, $0.01 per call) and is included in Understanding and Influence. It also clarifies that the workspace is not the account, which prevents a common misuse. It does not describe response shape or latency, but the read-only nature is well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: purpose first, then the key negative distinction, then pricing. Each sentence carries distinct information and no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description nevertheless tells the agent what to expect back (plan, counts, locations) and why the call is useful in one shot. It also includes pricing and the account-lookup alternative. It leaves some room for more detail about the actual response structure, but it is complete enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the only parameter, so the schema already fully documents the optional 'context' field. The description adds little about parameter behavior 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as 'the workspace root' and states exactly what it returns: plan, saved search count, list count, and where each lives. It also distinguishes itself from the account endpoint with an explicit URL, so an agent can tell them apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use context ('what do I have here and what can I afford' in one call, so an agent need not probe) and explicitly says when not to use it: for login, API key, usage, or billing, use the /auth/me endpoint. It does not contrast with similarly scoped siblings like list_lists or list_saved_searches, 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.
readiness_gatesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, so the description does not need to repeat that. It adds valuable behavioral details: pricing (B2, $0.05 per call, included in certain plans), the return structure (points gap and unmet gates separately, plus verdict), and a nuance about when the answer differs from points arithmetic. It does not describe error handling or rate limits, but the read-only annotation and pricing info suffice. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-structured, leading with the core purpose ('INFLUENCE — what blocks the next agent-readiness band') and then explaining key examples, return structure, and pricing. It is longer than necessary but every sentence provides substantive detail. The information is logically ordered, though it could be trimmed slightly for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description adequately explains what is returned: points gap, unmet gate requirements, and a verdict. It also covers pricing and a critical nuance about gate-vs-gap closure. However, it does not explain the meaning of the 'slug' parameter, which is required and undocumented in the schema. This is a notable omission for a tool that expects a specific identifier. Overall, it is fairly complete but leaves a parameter semantics gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has two parameters: slug (required, no description) and context (optional, with description). Schema description coverage is 50%, so the description should compensate for the undocumented slug, but it does not explain what slug refers to or how it relates to the gates. The description focuses on outputs and pricing, not parameter meanings. Therefore, it adds little semantic value beyond the schema, leaving a gap for a required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it identifies gates that block progress to the next agent-readiness band, returning gap and gate requirements. It distinguishes itself from point-based arithmetic by emphasizing 'GATES BEFORE POINTS' and the specific case where clearing a gate also closes the gap. However, it does not explicitly name sibling tools like get_agent_readiness or find_agent_readiness, so differentiation is implied rather than direct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool: when you need to know what blocks progress beyond raw points, and when points arithmetic would give a wrong answer. It implies this is for gate analysis, but it does not explicitly state when not to use alternatives or name specific sibling tools. Thus it has clear context without explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommend_stackARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | Optional region slug to prefer, e.g. europe. | |
| context | No | 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. | |
| capabilities | Yes | The capabilities the stack needs, e.g. ["payments","email","identity","observability"]. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide only readOnlyHint: true. The description adds cost per call, the preview vs full answer distinction, per-pick artifact gaps, and exportable APIs.json + Arazzo hint, all useful behavioral context beyond the annotation. No contradiction exists between the read-only hint and the synthesis behavior described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with the main purpose front-loaded, followed by a compact output summary and pricing note. There is no redundant wording; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing return values and does so by explaining the Understanding preview and full answer contents. Pricing and included-plan info are also covered, leaving an agent enough detail to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description supplements the capabilities parameter by instructing the agent to decompose the domain first and noting picks are per capability, but it does not add syntax or format details beyond the schema. The added semantic value is present but limited.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Design an API stack' using 'best-rated catalog provider per capability.' It clearly differentiates from siblings like export_stack (which exports rather than recommends) and compare_providers (which compares rather than assembles). The preview/full answer distinction adds further precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context: 'Decompose the domain into capabilities first, then pass them here.' It also names pricing tier B2 and inclusion in Understanding and Influence, helping an agent decide when this synthesis tool is appropriate. It does not explicitly name exclusions or alternative tools, 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_agentARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| contact | No | Optional: an email for questions about the registration. | |
| context | No | 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. | |
| card_url | Yes | Your agent card URL, or the host that serves it. | |
| operator | No | Optional: who runs the agent. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'register yourself' and '202 queues it for review', which clearly implies a state-changing write operation. However, the annotations declare readOnlyHint: true, which signals the tool is read-only. This is a direct contradiction. The description does not reconcile this, and the agent would be misled about side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph that front-loads the key facts (FREE, no account, register) and then packs the essential procedural details without fluff. Each sentence adds value—prerequisite, call format, checks, response semantics, and the 'card is the evidence' clarification. No waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a registration tool with no output schema, the description covers the full workflow: what to serve, what to call, what checks to pass, what response codes mean, and what to expect (nothing to wait for). It is thorough enough that an agent can call it correctly with no further documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and every parameter already has a description. The main tool description adds context about card requirements but does not add per-parameter 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb and resource: 'register yourself in the A2A agent registry'. It goes beyond a simple label by explaining the exact process (serve a card, call with URL) and the success/failure codes (202/422). It is unambiguous and distinct from the many find_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states the prerequisites (card must be at /.well-known/agent-card.json and pass the three A2A checks) and the expected outcomes (202 queues for review, 422 tells which check failed). It even clarifies there is no form or account. This fully guides when and how to use it.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The provider slug the record is filed under. | |
| field | No | Optional field name: website, image, api_count, tags, score, access_model, apis. | |
| wrong | Yes | What is incorrect. Name the field if you can. | |
| context | No | 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. | |
| correct | No | What it should say instead. | |
| evidence | No | A URL that shows it — your own docs, your own site. This is what makes a correction actionable rather than a claim. | |
| relationship | No | Your relationship to the provider. Never gates the report; it sets priority. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Given the annotations only indicate non-read-only and non-destructive, the description adds useful behavioral context: the report is read by a human, is always free, and the provider relationship does not gate submission but influences how fast the team acts. It does not detail the exact downstream effect or confirmation, but it provides a clear human-review mental model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key scope is front-loaded in the first sentence, and the later sentences about free access, human review, and provider disclosure each add relevant context. It is slightly chatty with the 'Free, always' phrasing, but the description is not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter reporting tool with no output schema, the description leaves the expected return or outcome unstated and never distinguishes itself from sibling tools like correct_facts or dispute_finding. The human-reviewed behavior is helpful, but an agent still lacks a full picture of what happens after submission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description does not need to repeat parameter meanings; the examples of wrong website, logo, APIs, count, and score roughly mirror the documented field values. The only additional parameter guidance is 'If you are the provider, say so,' which mostly reinforces the relationship schema entry rather than adding new semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: 'Report that the catalog has a provider WRONG' and enumerates specific wrong-data cases such as website, logo, APIs, count, and score. It is specific about verb and resource, and the human-read qualifier helps distinguish it from direct-correction tools, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The opening sentence effectively says when to use it: when a provider's catalog data is wrong, with concrete examples. It also says it is free and always available, and that declaring provider status only affects priority, which guides the caller. However, it provides no explicit comparison to closely related siblings such as correct_facts or dispute_finding.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| found | No | ||
| contact | No | Optional email if you want to hear when the catalog can answer this. | |
| context | No | 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. | |
| provider | No | Optional slug, when the gap is about an existing listing. | |
| looked_for | Yes | What you were looking for, in your own words. | |
| needed_for | No | Optional: the task you needed it for. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, destructiveHint=false, which say only what this is not), the description discloses genuinely useful behavioral traits: 'FREE, no account' signals no authentication prerequisite, 'a person reads the queue' tells the agent the submission is human-reviewed rather than immediately fulfilled, and 'One required field' sets low-friction expectations. This adds real context the annotations alone do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key facts are front-loaded ('FREE, no account — tell the catalog what you looked for and could not find'), and the description is compact. However, the internal 'roadmap#166' reference and the slightly cryptic 'consumer door' phrasing add jargon without agent-usable meaning, so not every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a submission tool with one required field, high schema coverage, and no output schema, the description covers the essentials: cost, auth, submission content, required fields, and human processing. It does not describe what the user receives back after submitting, which matters in the absence of an output schema, so a small but real gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 83% schema description coverage, the schema already documents five of six parameters, so the high-coverage baseline of 3 applies. The description adds only 'One required field,' which merely restates what the schema's required array already encodes. The context parameter's nuanced semantics ('never included in the answer and never used to rank') are already well-covered in the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb-resource pair ('tell the catalog what you looked for and could not find') and frames the tool as 'the consumer door' for gap reporting, which distinguishes it from the analysis-oriented siblings like gap_analysis, company_gaps, and industry_gap_analysis. The purpose could be even crisper if it explicitly named those alternatives, but the task is unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'the consumer door (roadmap#166): a gap report is how the catalog learns what to add next' implies this is the submission path for end users reporting missing catalog content, contrasted implicitly with the analysis/reporting siblings. However, it never explicitly states when NOT to use it or names an alternative tool for analyzing existing gaps (e.g., gap_analysis), leaving the routing decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | The company or developer-portal URL — use this when there is no listing yet. Providers only; a url cannot name an industry. | |
| kind | No | recheck an existing listing, profile a new company, or correct a specific fact. | |
| slug | No | The target slug — a provider (e.g. stripe), or an industry/tag/area/estate slug when target_type says so. | |
| notes | No | What is wrong, or what to look at. The more specific, the faster it is worked. | |
| contact | No | Email to notify when the status changes. Optional; without it there is nothing to notify, so keep the id. | |
| context | No | 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. | |
| target_type | No | What `slug` names. Defaults to provider. `estate` is named for the company the estate roots at (e.g. cisco). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes far beyond the sparse annotations (readOnlyHint=false, destructiveHint=false): it reveals that the check is async and manually run against the live surface, returns a request id immediately, never refuses unknown slugs and instead queues an ADD, includes did_you_mean near matches, and may notify a contact email. It also discloses pricing and billing behavior, which an agent would not otherwise know. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but earns its length: it opens with the core action, then gives usage cases, behavioral caveats, return behavior, pricing, and a routing alternative. Some repetition exists around unknown slugs and the 'check' concept, but nothing is filler, and the structure is logical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with no output schema, this description is quite complete: it explains the async response (request id, did_you_mean, optional notification), the human-run pipeline, and the pricing context. The main gap is that it doesn't specify how parameters should be combined (e.g., when url vs slug is appropriate relative to kind), leaving some inference to the agent despite the rich prose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters; the description adds genuine extra meaning by explaining that url is provider-only and cannot name an industry, that unknown slugs are treated as ADD requests for any target_type, and that estate is named after the root company. It does not map every kind/target_type combination, but it significantly enriches the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the action and resource clearly: 'ask APIs.io to (re)check something' and enumerates the target types (provider, industry, tag, area, estate). It also separates itself from related siblings by referencing check_status for polling and report_correction as the free alternative, so an agent can tell this tool 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when-to-use conditions: stale listings, incorrect scores, or unlisted companies to profile, with concrete examples for each target type. It also states when not to use it ('does NOT score anything on the spot') and points to alternatives: poll check_status for the outcome and report_correction for free corrections about your own company.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolveARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | 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. | |
| identifier | Yes | A domain, URL, or github.com/<org>. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, covering the safety profile. The description adds pricing and plan context but little additional behavioral detail such as resolution uniqueness, failure modes, or what happens when no provider is found. The schema's context parameter description does add some transparency, but the tool description itself is thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: purpose, usage rule, then pricing. The pricing/plan sentence is somewhat operational rather than selection-focused, but it is not filler and the whole description remains short and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only resolver with one required, fully documented parameter, the description plus schema gives enough to understand what to pass and what to expect ('the provider it belongs to'). It does not describe output shape or error behavior, but the absence of an output schema makes that a minor gap rather than a blocking one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description's identifier examples (URL, domain, GitHub org) duplicate what the schema already says. The optional context parameter is well documented in the schema, so the description adds no new parameter-level meaning beyond the structured fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Resolve ANY identifier ... to the apis.io provider it belongs to.' It enumerates the accepted input forms (URL, domain, GitHub org) and explicitly contrasts with slug-based lookups, making it easy to distinguish from sibling tools like get_provider or find_providers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear decision rule: 'Use this when you have a URL, not a slug.' This tells the agent when to invoke this tool and implicitly when not to, though it does not name the alternative for slug inputs or discuss other exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_saved_searchARead-onlyInspect
UNDERSTANDING — Re-run one of your saved searches against the live catalog and return current matching providers. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds pricing ($0.01 per call) and the 'live catalog' aspect, which are useful behavioral details beyond the annotation. It does not contradict the read-only hint and provides cost context that an agent would want to know.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the purpose, and a separate sentence for pricing. No fluff, and the pricing reference is useful. The 'UNDERSTANDING' prefix is a category label but doesn't waste space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter read-only tool, the description covers the core purpose and pricing. It doesn't explicitly mention how to obtain the saved search ID, but that is implied and can be inferred from sibling tools. The schema covers 'limit' and 'context' sufficiently, so the description is adequate for the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only 'context' has a description). The tool description does not explain 'id' or 'limit' at all; it relies on the schema for types but the schema lacks descriptions for those fields. An agent would have to infer that 'id' is the saved search identifier, which is a gap given the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action (re-run), the resource (saved searches), and the outcome (return current matching providers). It clearly distinguishes this from sibling tools like save_search, list_saved_searches, and delete_saved_search by focusing on re-execution against the live catalog.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies you need an existing saved search ID to run this tool, which is clear from 're-run one of your saved searches'. It doesn't explicitly point to list_saved_searches for obtaining the ID or mention when not to use it, but the context is strong enough to guide an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
saved_search_net_newARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that it advances a delta cursor and reports only changes since the previous call, which is a critical stateful side effect beyond the readOnlyHint annotation. It also provides pricing details, adding transparency without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single information-dense paragraph that starts with the core purpose, then the delta behavior, then pricing. Every sentence adds value, though it could be slightly more concise by trimming the pricing detail; still, it is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (two parameters, no output schema), the description adequately explains what it returns (newly matching providers) and the crucial delta-cursor behavior. It lacks error handling or prerequisite details, but for a straightforward read tool it is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers only 50% of parameters (context has a description, id has none). The description does not compensate by explaining what 'id' refers to (the saved search ID is implied but not explicit). Since the required parameter lacks documentation in both schema and description, this is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb-resource pair: reports newly matching providers for a saved search since the last check. It differentiates from siblings like run_saved_search and whats_changed by emphasizing the delta behavior and 'agent-native version of the demand report', which gives clear context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains the incremental delta behavior and pricing, which implies when to use it (for checking new matches without full re-runs). However, it does not explicitly name alternative tools or state when not to use it, so it falls short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_searchAInspect
UNDERSTANDING — Persist the current search criteria as a named saved search you own, so you can re-run it and get net-new results later. Criteria use the same filters as apis_io_search. 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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name + description. | |
| area | No | ||
| band | No | Rating bands: exemplar, strong, developing, thin, minimal. | |
| name | Yes | ||
| tags | No | 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. | |
| match | No | any | |
| region | No | ||
| context | No | 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. | |
| industry | No | ||
| min_score | No | ||
| artifact_types | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a non-read, non-destructive operation, and the description adds useful behavioral context: the saved search is owned by the caller, requires an API key, and is metered at a specific price tier. This goes beyond the annotation basics, though it does not describe what happens on duplicate names or overwrite behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action and is compact. It packs purpose, prerequisite, pricing, and filter reference into a short paragraph, though the pricing details could arguably be trimmed without losing the essential decision-making info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, auth, pricing, and filter semantics by reference, but it lacks any mention of the return value, success/failure indicators, or what a saved search entry looks like. Since there is no output schema, the missing return semantics leave a notable gap for agents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 36%, and the description does not directly explain most parameters. It references 'same filters as apis_io_search' to point elsewhere, but it does not even mention the required 'name' parameter explicitly in a way that clarifies its format or uniqueness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb, 'Persist the current search criteria as a named saved search you own,' and explains the follow-on benefit of re-running it for net-new results. It clearly differentiates this from sibling search tools by focusing on saving, not searching or running.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: when current search criteria should be saved for later re-runs. It also adds prerequisites like the apis.io API key and notes that filters mirror apis_io_search, though it does not explicitly exclude alternatives such as run_saved_search or delete_saved_search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_visibilityBIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| reason | No | ||
| contact | No | ||
| context | No | 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. | |
| visibility | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description directly contradicts the annotations: it states the operation 'strips artifacts, pages and rollups across the network' and is 'not something to do irreversibly', implying destructive and irreversible effects, while `destructiveHint` is false. This is a serious inconsistency that undermines the agent's ability to trust either source. Flagged as Annotation Contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but purposeful. Every sentence adds information: the two modes, the 202 response, the human-work aspect, the network-wide effect, and pricing. It is front-loaded with the core purpose. Slightly long but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 params and no output schema, the description covers critical aspects: the return code, the asynchronous human-in-loop nature, the pricing tier, and the irreversibility warning. It does not detail error cases or follow-up steps, but given the tool's simplicity, it is largely complete. However, the contradiction with annotations reduces overall reliability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 20% (only `context` has a description), so the description must compensate. It does explain the meaning of the `visibility` enum (restricted vs delisted) and implies `slug` is the target, but it provides no guidance on `reason` or `contact`. It adds value for the key parameter but leaves others undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear purpose: asking to be shown less or not at all, and it precisely differentiates the two modes (`restricted` vs `delisted`) with concrete effects. This is a specific verb+resource and distinguishes itself from sibling tools like `claim_listing` or `watch_listing` by focusing on visibility control.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides context on when to use the tool (to influence visibility) and warns about irreversibility and human involvement, but it does not explicitly name alternative tools or state when not to use it. The guidance is implicit rather than explicit, leaving some room for interpretation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_fixesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| fixes | Yes | Agent-readiness dimension ids to assume fixed, e.g. ["idempotency","mcp_server"]. what_can_i_fix lists the available ones. | |
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses two non-obvious behaviors: the band gate is re-applied to the projected state, and Kin Score facets are refused rather than estimated. It also surfaces pricing/tier context, which is not available in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but purposeful, front-loading the primary purpose before caveats and pricing. The pricing/tier sentence is useful for invocation decisions, though it could arguably be trimmed or moved to a reference link.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only simulation tool with no output schema, the description gives enough to understand inputs, core behavior, refusal cases, and cost. It does not describe the exact return shape, but the score/band projection and band-gate reapplication are stated, which is sufficient for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents fixes and context well (67% coverage), and the description adds useful nuance about what counts as a claimable fix and where the list of options lives. However, the required 'slug' parameter is left implicit as 'provider', and no additional syntax or examples are provided beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'project a set of fixes onto a provider's agent-readiness score and band before doing the work.' It also clarifies the tool is a simulation/influence action, distinguishing it from read-only readiness getters and from fix-listing siblings like what_can_i_fix.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states when to use it ('before doing the work') and the insight it yields ('when buying points still leaves you demoted'). It does not name sibling alternatives or explicit when-not conditions, so it misses the top tier of explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
story_leadsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | 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. | |
| include | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=true; the description adds the owner-only access restriction, non-purchasability, and the include=['raw'] behavior that appends the underlying demand report. This is useful behavioral context beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences, each carrying distinct information: access, purpose, output shape, and the include option. Minor redundancy exists between the leading 'OWNER' marker and the final owner-only sentence, but nothing is bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only report with no output schema, it specifies the shape of each lead, the signal categories included, and the raw append behavior. It is sufficient for an agent to invoke correctly, though exact field names/format are left unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents context in prose but leaves include as a bare enum; the description explicitly explains that include=['raw'] appends the underlying demand report. This compensates for the 50% schema coverage and clarifies the only meaningful flag.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('story leads') and a concrete outcome: a weekly ranked rollup of story leads, with each lead containing headline, signal, and suggested angle. This differentiates it from generic find/insights siblings by describing the fused data source (demand map + rating movement).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear intended use context: the weekly editorial 'what's worth writing' rollup, and marks the tool as owner-only/not purchasable. However, it does not state when to prefer this over related tools like find_rating_movers or gap_analysis, so exclusions are absent.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| slug | Yes | ||
| type | Yes | e.g. OpenAPI, AsyncAPI, MCP. | |
| contact | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only flag readOnlyHint=false and destructiveHint=false, offering minimal behavioral info. The description compensates well: it discloses asynchronous human processing (returns 202, a person fetches/checks/re-runs), pricing details (B4, $49 one-off, not prepaid), and references apis://prices. This adds significant behavioral context beyond annotations, though it omits details like failure modes or idempotency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then adds return status, tracking, pricing, and an alternative in a logical sequence. While it is dense, each sentence adds distinct value (workflow, cost, fallback), and no sentence is redundant. It could be tighter, but structure is strong.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a submit action with human involvement, the description covers the expected outcome (202, human review), the tracking mechanism (check_status), pricing, and an alternative for free correction. It references apis://prices for further detail. It does not describe error handling or idempotency, but these are less critical given the described flow and no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40% (type and context have descriptions; url, slug, contact do not). The description does not elaborate on the meaning of slug, url, or contact, nor does it clarify required fields beyond what the schema lists. It mentions 'artifact' but doesn't map parameters to fields, so it fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: 'tell us about an artifact you publish' with the intent to influence, contrasting with passive discovery. It explicitly names a sibling alternative (report_correction) and implies the alternative of waiting, so an agent can distinguish it from similar tools like find_artifacts or generate_artifact.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly indicates when to use the tool: when you have an artifact to publish and want influence. It names check_status as the follow-up tracker and report_correction as the free alternative for self-corrections, providing concrete routing guidance. However, it does not enumerate all exclusion cases (e.g., when not to use it), so it's not exhaustive.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tool | No | Optional name of the tool that produced it. | |
| about | No | Optional slug, aid or tag the report concerns. | |
| context | No | 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. | |
| problem | Yes | What was wrong. Be specific — the tool you called, the arguments, and what came back. | |
| expected | No | What you expected instead. | |
| severity | No | wrong = factually incorrect; misleading = correct but reads as something else; unhelpful = right and useless. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false, and the description adds useful behavioral context: the report is free, read by a human, and the fastest way to get a defect fixed. This goes beyond the structured metadata without contradicting it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly written sentences with a clear front-loaded verb and resource. The examples are illustrative rather than redundant, and every sentence contributes to either purpose, usage, or behavioral expectations. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple feedback-submission tool with no output schema, the description is complete: it explains what to report, what counts as a problem, how to make the report actionable, and what the user gets in return (human attention, free, fast). The six parameters are fully documented in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well-documented. The description adds a useful high-level instruction to 'say what you expected as well as what you got,' which loosely reinforces the problem and expected fields, but it does not add meaningful technical detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-plus-resource statement: 'Report something wrong with a result,' and gives concrete examples of what counts as wrong. It is clearly distinguishable in spirit from most siblings, but it does not explicitly contrast itself with similar report-type tools like report_correction or report_gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: whenever a result is wrong, misleading, or useless, with concrete failure examples. It does not explicitly state when not to use it or name alternative tools, so it lacks a full exclusion/alternatives map, but the intended usage is unmistakable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tag_group_tagsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| slug | Yes | ||
| limit | No | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only. The description adds beyond that by disclosing the response composition (each tag joined to its catalog record with specific metrics) and pricing behavior (B1 single-entity synthesis, $0.01 per call). It doesn't cover pagination or error behavior, but there is no contradiction with the readOnlyHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each with a distinct job: define the resource, give the use case, and state pricing/billing context. Information is front-loaded and there is no filler or repetition of schema fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully previews the response fields and gives a real-world usage scenario. It is slightly incomplete around optional parameters like page and limit, and how pagination behaves, but an agent can still make a correct minimal call using only the required slug.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25%, so the description carries most of the burden for parameter meaning. It implies the slug identifies a tag group, but it does not explain page, limit, or their pagination semantics, leaving most parameters undocumented beyond the schema's type constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource — member tags of one tag group — and the exact fields returned (provider count, api count, tag quality band, composite). This clearly distinguishes it from siblings like get_tag_group or find_tags, which address different resources/scopes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a concrete when-to-use rule: before trusting a group as a market, to see what the group is actually made of. There are no explicit exclusions or sibling comparisons, 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.
unwatch_listingAIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark idempotentHint=true and destructiveHint=false; the description adds the immediate effect, the absence of a paused state, and the explicit non-error behavior for unregistered watches. These are useful behavioral details beyond the annotations, though pricing information is peripheral to behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core behavior is front-loaded in the first sentence and the whole description is compact. The pricing sentence is useful for cost awareness but the 'INFLUENCE' prefix and trailing price link are slightly extraneous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-required-parameter, idempotent mutation tool, the description covers what happens, the error semantics, and cost. It does not specify the response/return shape, but with no output schema and a simple effect this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: context is well documented in the schema, but slug has no description. The tool description implies slug identifies a listing, but it does not explain the slug format or how to obtain it. The description adds only modest meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb phrase, 'stop watching a listing,' identifying the exact resource and action. This clearly distinguishes it from the inverse sibling watch_listing and from related list-management tools, so 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear use context: call this when a watch should be removed immediately, and it clarifies that there is no paused intermediate state. It does not name alternatives or state when not to use it, which keeps it just 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.
vc_portfolioBRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| band | No | Rating bands: exemplar, strong, developing, thin, minimal. | |
| page | No | ||
| slug | Yes | ||
| sort | No | ||
| limit | No | ||
| context | No | 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. | |
| min_score | No | ||
| in_network | No | ||
| is_provider | No | Only 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_api | No | Only 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
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, which the description aligns with (it is a query tool). The description adds useful behavioral context about pricing (per-result and per-record costs, caps) and the 'context' parameter, which is read only for diagnostics, not ranking. This goes beyond annotations, but it doesn't disclose other behaviors like pagination or response format, which are not covered by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately concise but includes detailed pricing information that may be better placed elsewhere. It front-loads the filtering and sorting purpose, but the pricing block is long and could be trimmed or moved to a separate pricing note. Overall, it's informative but not tightly structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 10 parameters and no output schema, the description covers filtering/sorting and pricing but lacks details on return format, pagination behavior, or error conditions. The annotations provide readOnlyHint but no other context. It is adequate for basic usage but incomplete for an agent needing full operational details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%, but the description compensates by clarifying key parameters like publishes_api (with a real rate of ~37%) and is_provider (nearly all rows qualify). It also explains the 'context' parameter's purpose and that it never influences results. This adds meaning beyond the schema for several parameters, bridging the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists a VC firm's portfolio companies and provides filtering/sorting options. It distinguishes itself as the demand-side view but does not explicitly name a sibling tool it differs from, though siblings like get_vc and find_vcs exist. The purpose is specific enough for an agent to understand what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on when to use it (e.g., to filter by publishes_api, in_network, etc.) and hints at the demand-side view, but does not explicitly contrast with other tools like get_vc or find_vcs. It lacks clear guidance on when not to use this tool or what alternatives exist for other use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watch_listingAIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| events | No | score, band, agent_band, check. Defaults to all four. | |
| contact | No | Email address for notifications. | |
| context | No | 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. | |
| callback_url | No | HTTPS endpoint for signed webhook delivery. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide only basic flags (readOnlyHint=false, idempotentHint=true, destructiveHint=false). The description adds substantial behavioral detail: the first pass records state and sends nothing, re-registering replaces the event set, and it notes the pricing tier. This goes well beyond what annotations convey and sets correct expectations for a watch operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph but every sentence earns its place: purpose, requirement, behavioral nuance, a strategic tip, management alternatives, and pricing. It is front-loaded with the core purpose and remains focused, not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write operation with 5 parameters and no output schema, the description covers everything an agent needs: what events exist, how to configure destinations, the initial no-op behavior, re-registration semantics, how to manage watches, and pricing. No critical gaps remain for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80% (4 of 5 parameters have descriptions), so the baseline is 3. The description enriches this by explaining the destination requirement (contact/callback_url or both), the meaning of the agent_band event (carries the gate that caused the change), and the effect of re-registering a slug on the events parameter. It adds value beyond the schema without repeating it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb and resource: 'be told when a listing you care about moves', enumerating the exact event types (score, band, agent_band, check closing). It distinguishes itself from sibling tools like list_watches and unwatch_listing, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use the tool (to be notified of listing moves) and names alternatives: 'list_watches shows what you hold; unwatch_listing removes one.' It also gives guidance on choosing events ('agent_band is the one worth having') and clarifies the destination requirement, so an agent knows exactly when to pick this over related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
what_can_i_fixARead-onlyInspect
INFLUENCE — the ranked, costed, 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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description does not contradict this. It adds behavioral context beyond the annotation: mentions the cost model (B2 pricing, $0.05 per call, included in certain plans), explains that results are exact per-check outcomes, and clarifies that the context parameter is never used for ranking and only read when results are wrong. This provides useful transparency for callers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded with the core purpose ('INFLUENCE — the ranked, costed, gated punch list'). Each sentence adds value: ranking logic, cost, alternatives, and context behavior. It is slightly verbose but well-structured, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and minimal annotations, the description covers what it returns (check results and facets), how results are ranked (weight x headroom), the gate preference, cost details, and when to use sibling tools. It gives an agent everything needed to decide whether to call it and what to expect, without relying on an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (only context is described in the schema). The description compensates for the slug parameter by stating 'for one provider you own,' implying slug identifies the provider. It also explains the purpose of the context parameter ('why you are asking') which matches the schema description. This adds meaning beyond the schema, though it doesn't specify slug format or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it provides a ranked, costed, gated punch list of agent-readiness checks for a specific provider the user owns. It uses a specific verb (fix) and resource (provider's readiness), and distinguishes itself from sibling tools like readiness_gates and simulate_fixes by explicitly naming what they do differently.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent when to use alternatives: 'Use readiness_gates for the gate detail and simulate_fixes to price a plan before committing to it.' It also explains the ranking preference (band gate over points) and the context parameter's purpose, giving clear guidance on when to call this tool versus others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whats_changedARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| since | Yes | YYYY-MM-DD. | |
| context | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description richly discloses behavior: how rating movement is computed relative to the first snapshot on/after `since`, the fallback to last-build trend when no snapshot covers the date, and the meaning of `basis`, `was`, and `compared_to`. It also transparently details pricing, capping, and plan inclusion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence serves a purpose: core behavior, row-level semantics, fallback behavior, pricing, and cost estimation. The most important information is front-loaded, and formatting with backticks and dashes makes it scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description explains the key output fields (`was`, `compared_to`, `basis`), the fallback behavior, and the pricing model. An agent has enough information to call the tool correctly and interpret results. Schema covers `limit` and `context` adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful semantics to the required `since` parameter by explaining that comparison is against the first scored snapshot on or after that date. This goes beyond the schema's bare 'YYYY-MM-DD.' It does not add much for `limit` or `context`, but those are adequately covered by schema defaults and descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose: showing what changed in the catalog since a date, including providers added/updated and rating movement. It is specific about the resource and the date-based scope, but it does not explicitly differentiate this tool from related siblings like get_rating_history or 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: when you need catalog changes and rating movement from a specific date. It also includes practical guidance like estimating price first, but it does not state when not to use it or name alternative tools.
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 tool update
- Changed
find_providers4 fields changed- added
Input schema / properties / employees_bandAdded 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" +} - added
Input schema / properties / revenue_bandAdded 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" +} - added
Input schema / properties / size_basisAdded 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" +} - added
Input schema / properties / size_statusAdded 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" +}
2 tool updates
- Added
find_regulations - Added
get_regulation
30 tool updates
- Changed
apis_io_search1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Added
find_agents - Changed
find_apis2 fields changed- added
Input schema / properties / includeAdded 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" +} - changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_apis_json1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_arazzo1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_asyncapis1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_channels1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_collections1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_countries1 field changed- added
Input schema / properties / typeAdded 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" +}
- Changed
find_examples1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_finops1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_graphql1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_json_ld1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_json_schemas1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_json_structures1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_mcp1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_openapis1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_plans1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_postman1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_providers1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_rate_limits1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_regions1 field changed- added
Input schema / properties / typeAdded 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" +}
- Changed
find_rules1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_scopes1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_security1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_skills1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
find_vcs1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Changed
get_provider_apis1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
- Added
register_agent - Changed
save_search1 field changed- changed
Input schema / properties / tags / descriptionPrevious 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."
1 tool update
- Added
get_prices
3 tool updates
- Added
find_estates - Added
get_estate - Added
get_provider_estate
2 tool updates
- Changed
find_ratings1 field changed- changed
Input schema / properties / sort / enumPrevious value: -[ - "composite", - "delta", - "discoverability", - "contract_quality", - "governance", - "operational_transparency", - "developer_ergonomics", - "commercial_clarity" -]New value: +[ + "composite", + "delta", + "discoverability", + "contract_quality", + "contract_governance", + "operational_transparency", + "developer_ergonomics", + "access_clarity", + "governance", + "commercial_clarity" +]
- Changed
watch_listing3 fields changed- added
Input schema / properties / callback_urlAdded value: +{ + "description": "HTTPS endpoint for signed webhook delivery.", + "type": "string" +} - added
Input schema / properties / contactAdded value: +{ + "description": "Email address for notifications.", + "type": "string" +} - changed
Input schema / properties / events / descriptionPrevious value: -"score, band, check. Defaults to all three."New value: +"score, band, agent_band, check. Defaults to all four."
2 tool updates
- Changed
find_apis1 field changed- added
Input schema / properties / resolveAdded value: +{ + "default": "on", + "description": "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`.", + "enum": [ + "on", + "off" + ], + "type": "string" +}
- Changed
find_providers1 field changed- added
Input schema / properties / resolveAdded value: +{ + "default": "on", + "description": "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`.", + "enum": [ + "on", + "off" + ], + "type": "string" +}
1 tool update
- Added
get_country_leaders
3 tool updates
- Added
find_countries - Changed
find_providers1 field changed- added
Input schema / properties / countryAdded value: +{ + "description": "Providers whose derived country membership includes these slugs (e.g. united-kingdom). Membership is partial — a count is a floor.", + "items": { + "type": "string" + }, + "type": "array" +}
- Added
get_country
23 tool updates
- Changed
apis_io_search1 field changed- added
Input schema / properties / returnAdded value: +{ + "description": "Return only this kind of match. Default: every kind.", + "enum": [ + "apis", + "providers", + "tags" + ], + "type": "string" +}
- Changed
find_apis_json1 field changed- added
Input schema / properties / sortAdded value: +{ + "description": "Order: relevance (catalog order), provider, or name.", + "enum": [ + "relevance", + "provider", + "name" + ], + "type": "string" +}
- Changed
find_arazzo1 field changed- added
Input schema / properties / sortAdded value: +{ + "description": "Order: relevance (catalog order), provider, or name.", + "enum": [ + "relevance", + "provider", + "name" + ], + "type": "string" +}
- Changed
find_asyncapis1 field changed- added
Input schema / properties / sortAdded value: +{ + "description": "Order: relevance (catalog order), provider, or name.", + "enum": [ + "relevance", + "provider", + "name" + ], + "type": "string" +}
- Changed
find_channels1 field changed- added
Input schema / properties / sortAdded value: +{ + "description": "Order: relevance (catalog order), provider, or name.", + "enum": [ + "relevance", + "provider", + "name" + ], + "type": "string" +}
- Changed
find_collections2 fields changed- changed
Input schema / properties / sort / descriptionPrevious value: -"Order: name, or item_count (largest first)."New value: +"Order: relevance / provider / name, or item_count (largest first)." - changed
Input schema / properties / sort / enumPrevious value: -[ - "name", - "item_count" -]New value: +[ + "relevance", + "provider", + "name", + "item_count" +]
- Changed
find_examples2 fields changed- changed
Input schema / properties / sort / descriptionPrevious value: -"Order: name, or key_count (largest first)."New value: +"Order: relevance / provider / name, or key_count (largest first)." - changed
Input schema / properties / sort / enumPrevious value: -[ - "name", - "key_count" -]New value: +[ + "relevance", + "provider", + "name", + "key_count" +]
- Changed
find_finops1 field changed- added
Input schema / properties / sortAdded value: +{ + "description": "Order: relevance (catalog order), provider, or name.", + "enum": [ + "relevance", + "provider", + "name" + ], + "type": "string" +}
- Changed
find_graphql1 field changed- added
Input schema / properties / sortAdded value: +{ + "description": "Order: relevance (catalog order), provider, or name.", + "enum": [ + "relevance", + "provider", + "name" + ], + "type": "string" +}
- Changed
find_json_ld2 fields changed- changed
Input schema / properties / sort / descriptionPrevious value: -"Order: name, or class_count / property_count (largest first)."New value: +"Order: relevance / provider / name, or class_count / property_count (largest first)." - changed
Input schema / properties / sort / enumPrevious value: -[ - "name", - "class_count", - "property_count" -]New value: +[ + "relevance", + "provider", + "name", + "class_count", + "property_count" +]
- Changed
find_json_schemas1 field changed- added
Input schema / properties / sortAdded value: +{ + "description": "Order: relevance (catalog order), provider, or name.", + "enum": [ + "relevance", + "provider", + "name" + ], + "type": "string" +}
- Changed
find_json_structures2 fields changed- changed
Input schema / properties / sort / descriptionPrevious value: -"Order: name, or property_count (largest first)."New value: +"Order: relevance / provider / name, or property_count (largest first)." - changed
Input schema / properties / sort / enumPrevious value: -[ - "name", - "property_count" -]New value: +[ + "relevance", + "provider", + "name", + "property_count" +]
- Changed
find_mcp1 field changed- added
Input schema / properties / sortAdded value: +{ + "description": "Order: relevance (catalog order), provider, or name.", + "enum": [ + "relevance", + "provider", + "name" + ], + "type": "string" +}
- Changed
find_openapis1 field changed- added
Input schema / properties / sortAdded value: +{ + "description": "Order: relevance (catalog order), provider, or name.", + "enum": [ + "relevance", + "provider", + "name" + ], + "type": "string" +}
- Changed
find_plans2 fields changed- changed
Input schema / properties / sort / descriptionPrevious value: -"Order: name, or plan_count (largest first)."New value: +"Order: relevance / provider / name, or plan_count (largest first)." - changed
Input schema / properties / sort / enumPrevious value: -[ - "name", - "plan_count" -]New value: +[ + "relevance", + "provider", + "name", + "plan_count" +]
- Changed
find_postman1 field changed- added
Input schema / properties / sortAdded value: +{ + "description": "Order: relevance (catalog order), provider, or name.", + "enum": [ + "relevance", + "provider", + "name" + ], + "type": "string" +}
- Changed
find_providers4 fields changed- added
Input schema / properties / facetAdded value: +{ + "description": "Quality facet to threshold on: discoverability, contract_quality, governance, operational_transparency, developer_ergonomics, commercial_clarity. Needs min_facet.", + "type": "string" +} - added
Input schema / properties / max_scoreAdded value: +{ + "description": "Only providers at or below this composite. Pair with min_score for a band-free range.", + "type": "number" +} - added
Input schema / properties / min_facetAdded value: +{ + "description": "Minimum score on `facet`. Without `facet` this does nothing.", + "type": "number" +} - added
Input schema / properties / trendAdded value: +{ + "description": "up | down | flat — direction of the composite since the previous scoring pass.", + "type": "string" +}
- Changed
find_rate_limits2 fields changed- changed
Input schema / properties / sort / descriptionPrevious value: -"Order: name, or limit_count (largest first)."New value: +"Order: relevance / provider / name, or limit_count (largest first)." - changed
Input schema / properties / sort / enumPrevious value: -[ - "name", - "limit_count" -]New value: +[ + "relevance", + "provider", + "name", + "limit_count" +]
- Changed
find_ratings2 fields changed- added
Input schema / properties / max_scoreAdded value: +{ + "description": "Only ratings at or below this composite. Pair with min_score for a range.", + "type": "number" +} - added
Input schema / properties / providersAdded value: +{ + "description": "Restrict to these provider slugs — the ratings of a named set.", + "items": { + "type": "string" + }, + "type": "array" +}
- Changed
find_rules2 fields changed- changed
Input schema / properties / sort / descriptionPrevious value: -"Order: name, or rule_count (largest first)."New value: +"Order: relevance / provider / name, or rule_count (largest first)." - changed
Input schema / properties / sort / enumPrevious value: -[ - "name", - "rule_count" -]New value: +[ + "relevance", + "provider", + "name", + "rule_count" +]
- Changed
find_scopes2 fields changed- changed
Input schema / properties / sort / descriptionPrevious value: -"Order: name, or scope_count (largest first)."New value: +"Order: relevance / provider / name, or scope_count (largest first)." - changed
Input schema / properties / sort / enumPrevious value: -[ - "name", - "scope_count" -]New value: +[ + "relevance", + "provider", + "name", + "scope_count" +]
- Changed
find_security2 fields changed- changed
Input schema / properties / sort / descriptionPrevious value: -"Order: name, or scheme_count (largest first)."New value: +"Order: relevance / provider / name, or scheme_count (largest first)." - changed
Input schema / properties / sort / enumPrevious value: -[ - "name", - "scheme_count" -]New value: +[ + "relevance", + "provider", + "name", + "scheme_count" +]
- Changed
find_skills1 field changed- added
Input schema / properties / sortAdded value: +{ + "description": "Order: relevance (catalog order), provider, or name.", + "enum": [ + "relevance", + "provider", + "name" + ], + "type": "string" +}
1 tool update
- Changed
find_tags2 fields changed- added
Input schema / properties / bandAdded value: +{ + "description": "canonical | established | emerging | niche | stale | posture.", + "type": "string" +} - added
Input schema / properties / min_api_countAdded value: +{ + "description": "Only tags applied to at least this many APIs.", + "minimum": 0, + "type": "integer" +}
1 tool update
- Changed
find_tags1 field changed- added
Input schema / properties / axisAdded value: +{ + "description": "market | capability | persona | posture. Comma-separated for more than one.", + "type": "string" +}
2 tool updates
- Added
find_extensions - Added
get_extension
1 tool update
- Added
report_gap
8 tool updates
- Changed
find_company_insights1 field changed- added
Input schema / properties / industryAdded value: +{ + "type": "string" +}
- Changed
find_providers2 fields changed- added
Input schema / properties / accepts_writesAdded value: +{ + "description": "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.", + "type": "boolean" +} - added
Input schema / properties / min_actingAdded value: +{ + "description": "Minimum number of acting (non-read) operations. Use to require real write depth rather than a single write endpoint.", + "type": "integer" +}
- Added
get_provider_apis - Added
insights_industries - Added
insights_overview - Added
list_watches - Added
unwatch_listing - Changed
vc_portfolio2 fields changed- changed
Input schema / properties / is_provider / descriptionPrevious value: -"Only portfolio companies that publish an API on the network."New value: +"Only 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." - added
Input schema / properties / publishes_apiAdded value: +{ + "description": "Only 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\".", + "type": "boolean" +}
38 tool updates
- Changed
apis_io_search1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Added
claim_listing - Added
cohort_failures - Added
cohort_history - Added
correct_facts - Added
deprecated_operations - Added
dispute_finding - Changed
find_apis1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Changed
find_apis_json1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Changed
find_arazzo1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Changed
find_asyncapis3 fields changed- added
Input schema / properties / info_versionAdded value: +{ + "description": "The document's OWN version from info.version, set by whoever wrote the spec. Absent on 70% of them.", + "type": "string" +} - changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below." - changed
Input schema / properties / version / descriptionPrevious value: -"AsyncAPI spec version, e.g. 2.6.0 or 3.0.0."New value: +"AsyncAPI spec version — the `asyncapi:` declaration, e.g. 2.6.0 or 3.0.0."
- Changed
find_channels3 fields changed- changed
Input schema / properties / protocol / descriptionPrevious value: -"AsyncAPI version the channel is defined in."New value: +"Transport the channel runs over: ws, http, sse, kafka, mqtt, amqp, nats, grpc… Empty where the document never says, which is most of them." - changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below." - added
Input schema / properties / versionAdded value: +{ + "description": "AsyncAPI spec version the channel is defined in, e.g. 2.6.0 or 3.0.0.", + "type": "string" +}
- Changed
find_collections1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Changed
find_examples1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Changed
find_finops1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Changed
find_graphql1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Changed
find_json_ld1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Changed
find_json_schemas1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Changed
find_json_structures1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Changed
find_mcp1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Changed
find_openapis1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Added
find_operations - Changed
find_plans1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Changed
find_postman1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Changed
find_providers2 fields changed- added
Input schema / properties / api_tagsAdded value: +{ + "description": "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.", + "items": { + "type": "string" + }, + "type": "array" +} - changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Changed
find_rate_limits1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Changed
find_rules1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Changed
find_scopes1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Changed
find_security1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Changed
find_skills1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Changed
find_vcs1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Added
generate_artifact - Added
my_workspace - Changed
request_check3 fields changed- changed
Input schema / properties / slug / descriptionPrevious value: -"apis.io provider slug, if it is already listed (e.g. stripe)."New value: +"The target slug — a provider (e.g. stripe), or an industry/tag/area/estate slug when target_type says so." - added
Input schema / properties / target_typeAdded value: +{ + "description": "What `slug` names. Defaults to provider. `estate` is named for the company the estate roots at (e.g. cisco).", + "enum": [ + "provider", + "industry", + "tag", + "area", + "estate" + ], + "type": "string" +} - changed
Input schema / properties / url / descriptionPrevious value: -"The company or developer-portal URL — use this when there is no listing yet."New value: +"The company or developer-portal URL — use this when there is no listing yet. Providers only; a url cannot name an industry."
- Changed
save_search1 field changed- changed
Input schema / properties / tags / descriptionPrevious value: -"Tag slugs."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 api_tags below."
- Added
set_visibility - Added
submit_artifact - Added
watch_listing
Related MCP Connectors
Discover, pay for, execute, and publish APIs through Apiosk.
Search the JoJ API marketplace, read endpoint docs, and call any API with one key via one gateway.
Search millions of x402 APIs for data, finance, validation, security, inventory, sync and automation
Discover, compare, and monitor 1,400+ APIs directly from your AI coding agent.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables semantic search and discovery of free public APIs from an extensive catalog. Provides embedding-based search over API names and descriptions, plus detailed API information retrieval.29MIT
- AlicenseNot gradedqualityCmaintenanceKeyless directory of 2,500+ public APIs and their OpenAPI specs, enabling AI agents to discover and interact with APIs.4 npmMIT
- AlicenseAqualityCmaintenanceDiscover and evaluate APIs for AI agents with AN Score, then access them through MCP or REST with zero-signup discovery and managed execution paths.163 npm4MIT
- AlicenseAqualityAmaintenanceMCP server for searching and discovering 4,000+ public APIs3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.