agentwebmap
Server Details
Find publisher documentation via llms.txt, with source links, evidence and check dates.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- AgentWebMap/mcp
- GitHub Stars
- 0
- Server Listing
- Agent Web Map MCP server
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 24 tools
Most tools have clearly distinct purposes, especially around validation, discovery, and ownership. Some boundaries are subtle, such as audit_website vs check_llms_txt vs read_llms_txt, and list_sections vs explore_sections, but the descriptions generally help an agent choose correctly.
The tool set uses snake_case throughout and mostly follows a verb_noun pattern such as check_llms_txt, list_domains, and verify_domain. A few names deviate, like resolve, directory_stats, similar_sites, and verification_instructions, but they remain readable and predictable.
With 24 tools, the server is on the heavy side for a directory and validation service. The domain is complex enough to justify many operations, but the surface still feels somewhat large and could likely be consolidated.
The surface covers discovery, lookup, validation, generation, ownership verification, profile updates, recrawling, and stats comprehensively. Minor gaps exist, such as no explicit delete/unregister operation, but the main lifecycle is well covered.
Available Tools
25 toolsaudit_websiteAudit websiteARead-onlyIdempotentInspect
Requires tools:run via a free integration key or OAuth. Read a bounded public snapshot of homepage delivery, llms.txt, robots access for search and training crawlers, and static interface hints. This does not render JavaScript, establish WebMCP tools, confirm indexing, measure AI citations or execute actions.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | A domain name such as example.com (no scheme, no path). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description adds important behavioral context: authentication requirements, that the snapshot is bounded and public, and specific limitations around JavaScript rendering, WebMCP tools, indexing confirmation, citation measurement, and action execution. This gives an agent a clear picture of the tool's capabilities and constraints.
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 focused sentences with no wasted text. The purpose and limitations are clear, though the first sentence leads with an integration-key requirement rather than the primary purpose, which is slightly less front-loaded than ideal.
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 a single required parameter, rich annotations, and an output schema, the description supplies enough context for an agent to understand what the tool does, what it does not do, and what prerequisites apply. No critical calling information appears to be 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?
There is only one parameter, and the schema description coverage is 100%, with the schema itself explaining that it expects a domain name such as example.com with no scheme or path. The description does not add parameter-specific meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb, 'Read', and specifies the bounded public snapshot it returns: homepage delivery, llms.txt, robots access, and static interface hints. It clearly distinguishes this broad audit from narrower checks by listing what it does not do, though it does not explicitly name sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides prerequisites ('Requires tools:run via a free integration key or OAuth') and explicit exclusions ('does not render JavaScript, establish WebMCP tools, confirm indexing...'), which helps avoid misuse. However, it does not state when to choose this tool over alternatives such as check_llms_txt, check_mcp_endpoint, or lookup_domain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
begin_ownership_claimBegin ownership claimAInspect
Start optional ownership management or recovery for a domain you control. Returns an expiring fresh public proof token and a private claim_secret shown once. Keep the secret private; publish only the verification snippet, then call verify_domain with claim_id and claim_secret. Existing keys remain valid until fresh proof succeeds. No backlink is required: DNS, meta tag and well-known file methods are supported.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | A domain name such as example.com (no scheme, no path). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say non-readonly, non-idempotent, non-destructive; the description adds substantial context beyond that: the token expires, the claim_secret is shown only once and must stay private, only the verification snippet is published, and existing keys remain valid until fresh proof succeeds. It also declares that no backlink is required and enumerates the supported proof methods (DNS, meta tag, well-known file), which is real behavioral disclosure for a one-shot mutation.
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 sentences, each carrying a distinct payload: purpose, return values and secrecy rule, next-step call, and the non-requirements. Nothing is repeated from the schema or annotations, and the operational 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 single-parameter mutation with an output schema present, the description supplies everything an agent needs: purpose, the secret-handling obligation, the exact follow-up call with its arguments, and the guarantee that existing keys are unaffected. Return-value structure is left to the output schema, which is the right division of labor.
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?
There is a single required parameter whose schema description is already complete ('A domain name such as example.com (no scheme, no path)'), so the schema carries the parameter semantics. The description only reinforces that the domain must be one you control, adding no further format or constraint detail.
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?
Opens with a specific verb+resource ('Start optional ownership management or recovery for a domain you control'), which is a distinct purpose from sibling reads like lookup_domain or verify_domain. It also positions itself in the workflow by naming verify_domain as the follow-up step, so an agent can tell it apart from the rest of the domain 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 clear context for when to use it (ownership management or recovery on a domain you control) and explicitly directs the agent to the next call: 'call verify_domain with claim_id and claim_secret'. It does not mention exclusions versus siblings such as rotate_owner_key or register_domain, so it stops short of full when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_llms_txtCheck llms txtRead-onlyIdempotentInspect
Requires tools:run via a registered integration or OAuth. Validate a site's llms.txt: reachability, HTML-instead-of-text, redirects to other domains, H1 title, summary, sections, links, link health, llms-full.txt and charset. Uses bounded live scraping without paid AI. Returns each check with what to fix and the file preview. Ownership management is separate.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | A domain name such as example.com (no scheme, no path). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
check_mcp_endpointCheck mcp endpointARead-onlyIdempotentInspect
Requires tools:run via a free account integration key or OAuth. Inspect a public HTTPS MCP endpoint tool inventory and authentication response. No credentials, query strings, private addresses, redirects, schema-reference resolution or service-tool execution. Results describe observed metadata, not security certification.
| Name | Required | Description | Default |
|---|---|---|---|
| endpoint | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, open-world, non-destructive, and the description adds substantial context beyond them: authentication requirements, crawling limits (no redirect following, no schema-reference resolution), and no execution of discovered service tools. The closing caveat that results are observed metadata rather than a security certification sets accurate expectations about the output's trustworthiness.
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 compact sentences, no filler: prerequisite first, then the action, then hard constraints, then the reliability caveat. The negative constraints are compressed into one efficient list rather than repeated prose.
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?
An output schema exists, so return values need no explanation, and annotations plus the description together cover safety, auth, and network-scope behavior well. The only real gap is guidance on the endpoint string's accepted format, which matters for a tool with a single required input.
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 single `endpoint` parameter has 0% schema description coverage, so the schema supplies only type and length bounds. The description partially compensates by implying the value must be a public HTTPS URL, but it says nothing about accepted path forms, trailing slashes, or whether a scheme must be included.
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 and object: inspect a public HTTPS MCP endpoint's tool inventory and authentication response. That is clearly distinct from the site/llms.txt-oriented siblings, though it never explicitly contrasts itself with them. Purpose is unambiguous but sibling differentiation is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a concrete prerequisite (tools:run scope via free integration key or OAuth) and a list of excluded inputs (credentials, query strings, private addresses, redirects), which effectively defines when the tool will not work. It does not point to an alternative tool for those excluded cases, so the when-not guidance is incomplete rather than absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
directory_statsDirectory statsARead-onlyIdempotentInspect
Directory-wide counts for Agent Web Map: domains tracked, valid llms.txt files, listed, verified, pending.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is fully covered. The description adds only the enumeration of counted metrics — no pagination, freshness/caching, or scope caveats. Adequate but not substantive 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?
A single front-loaded sentence listing the counted categories with no filler. Slightly redundant with the title but each word contributes to telling the agent what comes back.
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?
An output schema exists, so return shape needn't be described, and with zero params the input side is trivially complete. The only gap is failing to contrast with site_stats, which would make selection unambiguous.
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?
Zero parameters, so schema carries no semantic burden and the description has nothing to mis-specify. Baseline 4 applies; there are no argument formats to clarify.
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+resource ('Directory-wide counts') and enumerates exactly which metrics are returned (domains tracked, valid llms.txt files, listed, verified, pending). The 'directory-wide' qualifier implicitly separates it from site_stats, but the differentiation is not 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?
Usage is only implied by the word 'counts' — an agent can infer this is for an overview/count retrieval. No explicit when-to-use statement and no mention of the sibling site_stats, which is the most likely confusion point for per-site vs directory-wide stats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explore_sectionsExplore sectionsARead-onlyIdempotentInspect
Explore relationships between publisher headings. Edges count distinct listed sites sharing both labels. Pass section keys to return related labels and a bounded page of publishers; no sections returns aggregate clusters only. Discovery is monitored without automatic usage quotas.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number. Anonymous result window: 250; free registered integrations: 1,000. Each page holds at most 100 records. | |
| action | No | Actions are inferred from publisher content. They can overlap and do not prove a working integration, authorization or task success. Unclassified sites may be missing useful actions. | |
| country | No | Country: owner-declared or site-published address preferred; domain/hosting inference is a labeled fallback. ISO 3166-1 alpha-2 (XK supported), case-insensitive, or unknown. GET /v1/countries / list_countries lists counts. Not verified headquarters or markets served. | |
| per_page | No | ||
| sections | No | Publisher section keys from list_sections; discovered dynamically from indexed headings. | |
| connections | No | Semantic adds inferred heading similarity as separate semantic_edges; original shared-heading counts remain unchanged. | shared |
| include_sites | No | False returns only aggregate connections and counts, without individual publisher records. | |
| section_match | No | all |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower, yet the description adds real value: how edge weights are counted and that discovery traffic is monitored without automatic usage quotas. It doesn't describe result ordering or how the 250/1000 record windows interact with per_page, but that is documented 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?
Four tight sentences, no filler, with the core relationship model stated first before the mode switch. Minor cost: 'bounded page' and 'monitored' are slightly opaque phrasings that force a re-read.
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 an output schema present, return values need not be explained, and 8 mostly optional parameters are well covered by the schema. The description supplies the graph semantics and the with/without-sections contract, leaving only minor gaps such as how 'connections=semantic' changes result shape beyond the separate semantic_edges field.
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 baseline is 3; the description earns an extra point by explaining the effect of supplying sections versus leaving them empty and by implying include_sites behavior ('bounded page of publishers' vs 'aggregate clusters only'). It adds meaning beyond the field-level descriptions for the two most consequential 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?
Names a concrete verb ('explore') and a specific resource ('relationships between publisher headings') and defines what an edge means ('distinct listed sites sharing both labels'), which is genuinely differentiating. It does not explicitly contrast with the closest sibling (list_sections, similar_sites), but the schema reference to section keys from list_sections gives the agent enough to separate 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?
Explicitly states the two operating modes: passing section keys returns related labels plus a bounded publisher page, while omitting sections returns aggregate clusters only. That is clear conditional guidance for the main decision. It stops short of saying when to prefer this over similar_sites or list_sections.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_llms_txtGenerate llms txtARead-onlyIdempotentInspect
Draft an llms.txt from a bounded crawl of a publisher’s public pages, sitemaps and documentation links. Uses observed headings, descriptions and page content, respects robots rules, and reports partial coverage. The owner reviews the editable file before publishing at /llms.txt. Website ownership management is separate.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | A domain name such as example.com (no scheme, no path). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, and the description is consistent with them – the file is only drafted, reviewed by the owner, then published separately. It adds real behavioural context beyond the annotations: crawl is bounded, robots rules are respected, and partial coverage is reported. What's missing is anything about crawl duration, size limits, or what a partial-coverage signal looks like in practice.
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 action and scope, and every clause earns its place – crawl scope, what data is used, robots compliance, coverage reporting, review step, and the ownership exclusion. No repetition of the title or schema.
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?
Output shape is covered by an existing output schema, so the description needn't explain return values; it still communicates the important uncertain outcome (partial coverage). For a single-parameter read-only generation tool, an agent has enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema description coverage is 100% ('A domain name such as example.com (no scheme, no path)'), so the schema carries the parameter burden. The description implies the domain is the crawl target but adds no format or interpretation detail beyond what the schema already states. 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?
Specific verb (draft) plus resource (llms.txt) plus scope (bounded crawl of a publisher's public pages, sitemaps, documentation links). It is clearly distinguishable from the sibling read/check/validate tools because it produces a draft rather than inspecting or publishing one, and it explicitly excludes ownership management.
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 workflow context: the draft is generated for owner review before publishing at /llms.txt, and website ownership is handled elsewhere. It never names the concrete alternatives (check_llms_txt, read_llms_txt, validate_llms_txt) or states when to prefer them, so no explicit exclusion beyond the ownership note.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesList categoriesARead-onlyIdempotentInspect
List topic taxonomy and counts by inferred category and agentic label, unclassified sites and publisher-declared MCP endpoints. Categories describe topics; capabilities are separate explicit publisher declarations. Counts can overlap. Use category or capability filters with resolve, search_llms_registry or list_domains. An MCP declaration does not prove availability.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only and idempotent safety profile, and the description adds meaningful data caveats: counts can overlap, categories and capabilities are distinct, and an MCP declaration does not prove availability. These are useful behavioral details beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: it starts with what is listed, then clarifies taxonomy distinctions, count overlap, related tools, and the MCP availability caveat. Every sentence contributes useful information.
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 zero-parameter, read-only listing with an output schema and rich annotations, the description provides enough semantic context to interpret results correctly. It explains category/capability separation, overlapping counts, and the limitation of MCP declarations.
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 tool has zero parameters and full schema description coverage, so there is no parameter semantics to explain. The description's mention of category or capability filters refers to other tools rather than this tool's inputs.
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 and resource: it lists topic taxonomy and counts, and it names inferred categories, agentic labels, unclassified sites, and publisher-declared MCP endpoints. It also explicitly distinguishes categories from capabilities, so an agent can tell what this tool reports.
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 downstream context by saying category or capability filters should be used with resolve, search_llms_registry, or list_domains. It does not explicitly state when to prefer list_categories over directory_stats or site_stats, but the usage context is still clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_countriesList countriesARead-onlyIdempotentInspect
List country codes and names with valid listed-site counts, plus the unknown count. Use country=FR or country=unknown with resolve, search_llms_registry, list_domains, list_sections and explore_sections. Owner-declared or site-published addresses are preferred; domain/hosting inference is a labeled fallback. Publisher and hosting countries are separate fields; none independently verifies headquarters.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world behaviour, so the safety profile is covered. The description adds substantive data-provenance context beyond that: owner-declared or site-published addresses are preferred, domain/hosting inference is a labeled fallback, publisher and hosting countries are separate fields, and none of them independently verifies headquarters. That is exactly the caveat an agent needs to interpret the counts, though it does not discuss ranking, ordering, or how the unknown bucket is computed.
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 what is returned before the integration guidance, and no filler. The provenance sentence is dense but each clause carries distinct meaning; slightly heavier than a pure list tool needs.
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 an output schema present, the description needn't explain the return structure, and it instead covers the interpretive caveats (inference fallback, publisher vs hosting separation, no HQ verification) that the schema cannot convey. Complete enough to call and interpret correctly; only ordering/completeness of the counts is 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?
The tool takes zero parameters, so the baseline is 4 and nothing in the description is needed to explain input. The description does usefully explain the shape of the produced values (country codes plus unknown) and how they are consumed as arguments elsewhere, which adds a little value on top of that 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?
States a specific verb and resource ('List country codes and names') plus the exact content of the result (valid listed-site counts and an unknown count), which distinguishes it from siblings like list_categories and list_domains that enumerate other dimensions. An agent can tell what it gets without opening the output 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?
Gives concrete downstream usage: feed 'country=FR' or 'country=unknown' into resolve, search_llms_registry, list_domains, list_sections and explore_sections, which is real routing guidance. It stops short of stating when NOT to call it or what to do if the country of interest is absent, so it is clear context rather than a full when/when-not rule set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_domainsList domainsBRead-onlyIdempotentInspect
Ranked listing of the directory (verified first, then authority). Use verified_only to get only owner-verified sites.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number. Anonymous result window: 250; free registered integrations: 1,000. Each page holds at most 100 records. | |
| action | No | Actions are inferred from publisher content. They can overlap and do not prove a working integration, authorization or task success. Unclassified sites may be missing useful actions. | |
| detail | No | Compact consumer fields by default; full adds owner profile, claims and listing metadata. | compact |
| agentic | No | Filter by what an agent can do with the site: interface (API or MCP endpoint to call), transactional (buy or book), documentation (docs to read), informational (for people). | |
| country | No | Country: owner-declared or site-published address preferred; domain/hosting inference is a labeled fallback. ISO 3166-1 alpha-2 (XK supported), case-insensitive, or unknown. GET /v1/countries / list_countries lists counts. Not verified headquarters or markets served. | |
| category | No | Filter by inferred topic ID from list_categories. Topics describe publisher metadata, not capabilities or correctness. | |
| per_page | No | ||
| sections | No | Publisher section keys from list_sections; discovered dynamically from indexed headings. | |
| capability | No | Filter to sites explicitly publishing an MCP endpoint link. Publisher declaration alone does not prove availability. | |
| section_match | No | all | |
| verified_only | No | Only domains whose owner has verified them. | |
| include_unlisted | No | Also return low-authority (unlisted) entries. Requires an operator-approved discovery client key with unlisted permission. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, and closed-world behavior. The description adds the ranking order (verified first, then authority), which is useful behavioral context beyond the annotations, but it does not disclose auth requirements, rate limits, or result-window 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 two short sentences with zero waste. It front-loads the core purpose and ranking behavior, then adds the verified_only hint without unnecessary elaboration.
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 rich input schema, existing output schema, and annotations, the description is largely complete enough for an agent to call the tool correctly. It could mention the available filter families for a 12-parameter tool, but the schema covers those details 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 high at 83%, so the schema already documents most parameters thoroughly. The description only restates the meaning of verified_only and adds no additional parameter semantics 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 states a ranked listing of the directory, which is a clear resource and ordering behavior. It does not explicitly differentiate the tool from siblings like lookup_domain or search_llms_registry, but the purpose is still 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?
The only usage hint is 'Use verified_only to get only owner-verified sites,' which is a parameter hint rather than guidance on when to choose this tool over alternatives. There is no explicit when-to-use or when-not-to-use guidance against siblings such as lookup_domain or search_llms_registry.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sectionsList sectionsARead-onlyIdempotentInspect
Discover publisher section labels across the indexed corpus, distinct-site counts, newly observed labels, conservative emerging signals and seven-day membership changes. Emerging requires ten estimated domain-name families, excludes known templates/duplicates and waits three days; this measures index observations, not adoption. Labels come from headings, not a fixed taxonomy. Heading presence describes content and does not certify a capability. Partial coverage and baseline status are reported.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| page | No | Page number. Anonymous result window: 250; free registered integrations: 1,000. Each page holds at most 100 records. | |
| sort | No | common | |
| action | No | Actions are inferred from publisher content. They can overlap and do not prove a working integration, authorization or task success. Unclassified sites may be missing useful actions. | |
| country | No | Country: owner-declared or site-published address preferred; domain/hosting inference is a labeled fallback. ISO 3166-1 alpha-2 (XK supported), case-insensitive, or unknown. GET /v1/countries / list_countries lists counts. Not verified headquarters or markets served. | |
| per_page | No | ||
| sections | No | Publisher section keys from list_sections; discovered dynamically from indexed headings. | |
| section_match | No | all |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive, and the description goes well beyond them: it defines the emerging qualification bar (ten estimated domain-name families, template/duplicate exclusion, three-day wait), warns that labels derive from headings rather than a taxonomy, and notes that heading presence does not certify capability plus partial/baseline coverage reporting. That is substantive disclosure about result trustworthiness that annotations cannot 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?
Dense but every clause carries information: the leading clause names the resource and payload, then the caveats follow. No filler sentences and no 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?
With annotations, an output schema and eight optional parameters, the caveats about interpretation are the right focus and are present. What is missing is routing context against the near-duplicate sibling explore_sections and any indication of result shape beyond the output schema, leaving the selection decision underspecified.
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%: page, action, country and sections are documented in-schema, while q, sort, per_page and section_match are bare. The description partially compensates by explaining what the "emerging" sort represents and its thresholds, but adds nothing for q, per_page, or section_match semantics. Baseline 3 is appropriate for the half-documented schema plus partial enum explanation.
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: "Discover publisher section labels across the indexed corpus," and enumerates the payload (distinct-site counts, newly observed labels, emerging signals, seven-day membership changes). It never differentiates itself from the sibling explore_sections or list_categories, so an agent cannot tell from the description alone which of the three 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?
Usage is only implied: the description tells you what the results mean ("this measures index observations, not adoption") but never says when to call this versus explore_sections or list_categories. There are no explicit exclusions or alternative routing, just interpretive caveats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_domainLookup domainARead-onlyIdempotentInspect
Look up a domain: source URLs, summary, authority, ownership verification, inferred country, last check and owner-stated terms. Compact by default; detail=full adds profile, nested files, badge and ownership claim instructions.
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | Compact consumer fields by default; full adds owner profile, claims and listing metadata. | compact |
| domain | Yes | A domain name such as example.com (no scheme, no path). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description doesn't need to restate it. It does add useful context about compact-vs-full output content, but says nothing about behavior for unknown/unregistered domains, whether results are cached/stale, or what happens with ownership claims.
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 returned payload before the mode caveat. No filler, no restatement of the title, and the important default ('compact by default') is placed where it is read 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?
With an output schema present, the description needn't explain return values, and annotations cover the safety model plus full parameter documentation. The remaining gap is discoverability — how this relates to verify_domain, audit_website, and register_domain — which matters in a 24-tool sibling set.
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 both parameters are already documented in structured data; baseline 3 applies. The description's 'detail=full adds profile, nested files, badge and ownership claim instructions' only slightly extends the schema's own 'owner profile, claims and listing metadata' wording, adding little genuinely new 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?
States a specific verb and resource ('Look up a domain') and enumerates the payload (source URLs, summary, authority, ownership verification, country, last check, owner terms), which is far more informative than the title. It stops short of naming how it differs from adjacent siblings like verify_domain, audit_website, or resolve, so an agent still has to infer boundaries.
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?
Usage is only implied: the field list suggests 'use this to get a domain snapshot,' and the compact/full note gives a mode-selection hint. There is no explicit when-to-use, when-not-to-use, or pointer to verify_domain / audit_website / read_llms_txt as alternatives, despite a crowded sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_llms_txtRead llms txtARead-onlyIdempotentInspect
Return our validated copy of a listed site's llms.txt as text, with its source URL, check date and content hash. No second fetch needed, and it works when the publisher blocks automated clients. A site not cached yet is fetched once on demand.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | A domain name such as example.com (no scheme, no path). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real behavior beyond the annotations: the response carries source URL, check date and content hash, and a cache-miss triggers a single on-demand fetch (a side effect not obvious from readOnlyHint/idempotentHint). Note a mild tension with openWorldHint=false, since the on-demand fetch reaches an external site, but this reads as a write-through cache detail rather than a direct 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?
Three tight sentences, front-loaded with what is returned before the rationale and the cache-miss edge case. No filler or restatement of the title.
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?
An output schema exists, so return-value details need not be repeated, and the low-complexity single-param read is well covered including the cache-miss path. It stops short of stating behavior for a domain that is not listed at all, which would be the one remaining 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 100% and there is a single `domain` parameter, so the baseline is 3. The description adds the qualifier 'a listed site', signalling the domain must already be registered, which is modest but useful 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?
States a specific verb and resource: it returns the validated, cached llms.txt of a listed site as text plus metadata. An agent understands exactly what comes back. It never names the closely related sibling check_llms_txt, so the boundary between 'read the content' and 'check the file' must be inferred.
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?
'No second fetch needed' and 'works when the publisher blocks automated clients' implicitly tell the agent to prefer this over a direct HTTP fetch, which is genuine context. However, there is no explicit when-not guidance and no routing to alternatives such as check_llms_txt or search_llms_registry for the same domain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recrawl_siteRecrawl siteADestructiveInspect
Verified owner only. Re-validate and update the directory listing now (once per 10 minutes). This crawl can change listing and ownership verification state. Review the result and return to the owner dashboard for activity and history.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | A domain name such as example.com (no scheme, no path). | |
| api_key | Yes | The owner API key issued by verify_domain (awm_key_...). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes meaningfully beyond annotations by disclosing that the crawl can alter both listing and ownership verification state — a non-obvious side effect an agent could not infer from destructiveHint alone — plus the 10-minute throttle and owner-key requirement. Failure behavior and whether the call is synchronous are left unstated.
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?
Short and front-loaded with the gating constraint first, then the action, then the consequence. The closing sentence about returning to the owner dashboard is mildly promotional but still points at where history lives.
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?
Output schema covers return values and annotations cover the safety profile, so the remaining burden is auth, rate limits, and side effects — all addressed. Only asynchronous/blocking behavior and failure handling are absent, a minor gap for a two-parameter 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 coverage is 100%: domain format (no scheme, no path) and the api_key origin (awm_key_ from verify_domain) are already documented in the schema. The description adds no parameter-specific meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action on a specific resource ('Re-validate and update the directory listing now'), which is far clearer than the title 'Recrawl site'. It does not explicitly distinguish itself from nearby siblings like update_site or verify_domain, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete preconditions ('Verified owner only') and a rate constraint ('once per 10 minutes') that tell the agent whether it may call at all. It does not name an alternative tool or say when to prefer update_site or verify_domain instead, so routing is only partially covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
register_domainRegister domainBInspect
Submit a public domain or announce a file update to queue a live crawl, including previously invalid tracked domains. Same-domain requests are coalesced with a ten-minute cooldown. Existing listings stay visible until checked; queueing does not guarantee listing or prove ownership. Returns reason and optional retry_after, plus verification instructions. Verified owners get: See your website in the map: Review your indexed topics, nearby publishers sharing headings, measured listing exposure and map snapshots in a private report for your website.; Control what agents see: Edit your listing description, tags, public contact details and additional llms.txt paths. Publish your terms for automated access, attribution and pricing.; Make your profile eligible for search: A valid, listed, unblocked, verified profile can appear in our publisher sitemap and become eligible for search-engine visibility. Search engines decide what to index and rank.; Appear in our llms-full.txt: Eligible verified publishers are listed by name, with their file links and summaries, in the service overview agents can read.; Review discovery activity: Your private dashboard shows measured web, REST and MCP requests, documentation selections, publisher-link clicks and daily activity. Counts include bots and repeats; they do not identify unique agents or confirm publisher page reads.; Check file health: Review validation results, request a fresh check on demand and follow your directory score history.; Show confirmed ownership: Your listing carries a domain-ownership signal. Default Browse places verified listings first; task searches prioritize relevance. Verification confirms domain control, not content quality or endorsement..
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | A domain name such as example.com (no scheme, no path). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint=false, openWorldHint=true, non-idempotent), the description adds genuinely useful behaviour: requests are coalesced with a ten-minute cooldown, existing listings remain visible until checked, and queueing neither guarantees listing nor proves ownership, plus a reason/retry_after response shape. That is well past what the annotations alone convey. The remainder of the text is a promotional list of verified-owner benefits that describes account features rather than this tool's behaviour, which dilutes but 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 first two sentences are correctly front-loaded, but they are followed by several hundred words of semicolon-joined marketing copy about verified-owner dashboards, sitemaps and file health that has no bearing on invoking register_domain. The block ends in a doubled period, indicating unreviewed paste-in content, and the length badly obscures the operative instructions.
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 invocation behaviour is covered (cooldown, non-guarantee, retry_after), and an output schema exists so return details need not be restated. Still missing is anything about what registration requires of the caller (ownership, key, rate limits beyond the per-domain cooldown) and whether the domain must be previously validated, which matters for a non-idempotent, open-world mutation.
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?
There is exactly one parameter and the schema already documents it fully at 100% coverage, including the 'example.com, no scheme, no path' format. The description adds only the qualifier 'public' and the note about invalid tracked domains; it adds nothing about normalisation or validation that the schema lacks, 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 opening sentence gives a concrete verb and resource: submit a domain (or announce a file update) to queue a live crawl. That is understandable in isolation. However, the 'or announce a file update' branch is never reconciled with the single-parameter schema, and no sibling tool (e.g. recrawl_site, verify_domain) is named to anchor the 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?
It states two meaningful preconditions: previously invalid tracked domains are allowed, and same-domain requests coalesce under a ten-minute cooldown, which implicitly tells the agent not to retry immediately. There is no explicit routing guidance against the many adjacent siblings (recrawl_site, verify_domain, begin_ownership_claim, update_site), so the agent must infer when this is the right entry point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolveResolveRead-onlyIdempotentInspect
Start here to find documentation for a domain or development task. Returns specific page URLs with publisher excerpts, matching evidence, owner-stated terms, freshness and alternatives. A named publisher stays scoped to its valid documentation or known replacement. No usable publisher or insufficient relevance returns no_match with best=null. Strong requires page-purpose evidence and publisher fit, not ownership verification. Weak matches are fallback candidates: refine the query or search elsewhere. Use max_age to mark stale root checks, the registered check_llms_txt tool for live validation, and detail=full for owner metadata. Reads need no key.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of documentation sources. | |
| query | Yes | A domain or development task, e.g. "modelcontextprotocol authorization". | |
| action | No | Actions are inferred from publisher content. They can overlap and do not prove a working integration, authorization or task success. Unclassified sites may be missing useful actions. | |
| detail | No | Compact consumer fields by default; full adds owner profile, claims and listing metadata. | compact |
| agentic | No | Filter by what an agent can do with the site: interface (API or MCP endpoint to call), transactional (buy or book), documentation (docs to read), informational (for people). | |
| country | No | Country: owner-declared or site-published address preferred; domain/hosting inference is a labeled fallback. ISO 3166-1 alpha-2 (XK supported), case-insensitive, or unknown. GET /v1/countries / list_countries lists counts. Not verified headquarters or markets served. | |
| max_age | No | Maximum acceptable age of source health in seconds; stale data is marked, not hidden. | |
| refresh | No | Deprecated. true returns stored_data_only. Use registered check_llms_txt for a live check. | |
| category | No | Filter by inferred topic ID from list_categories. Topics describe publisher metadata, not capabilities or correctness. | |
| capability | No | Filter to sites explicitly publishing an MCP endpoint link. Publisher declaration alone does not prove availability. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
rotate_owner_keyRotate owner keyADestructiveInspect
Owner only. Replace the API key and invalidate all existing browser owner sessions. Keep the new key; it is shown once. Does not require changing the existing ownership proof.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | A domain name such as example.com (no scheme, no path). | |
| api_key | Yes | The owner API key issued by verify_domain (awm_key_...). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=false, but the description goes well beyond them: it names exactly what is destroyed (all existing browser owner sessions), warns that the new key is shown only once and must be retained, and preempts a false assumption about the ownership proof. That is precisely the extra behavioral context a mutation tool needs.
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, each carrying distinct information: authorization scope, mutation effect, key-retention warning, and a non-obvious negative constraint. The permission requirement 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?
With an output schema present, return values need no explanation, and the description covers everything else an agent needs: who may call it, what it destroys, what must be saved, and what it does not require. Nothing material is missing for a two-parameter destructive 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?
Schema description coverage is 100% for both parameters, so the schema already documents 'domain' format and the 'awm_key_...' key format. The description only refers to 'the API key' generically and adds no format, length, or source details beyond the schema. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — replace the API key — plus the immediate consequence, invalidating all existing browser owner sessions. This operation is unmistakably distinct from siblings like verify_domain (issues keys) or register_domain (creates domains). An agent can identify exactly what this tool does 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?
'Owner only' establishes a clear precondition, and 'Does not require changing the existing ownership proof' clarifies an expected side-effect the caller might otherwise assume. However, it never states when to rotate versus other paths (e.g., re-running verify_domain) or any irreversible-consequence warning beyond the session invalidation. Usage is implied rather than explicitly routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_index_previewSearch index previewARead-onlyIdempotentInspect
Fast, non-exhaustive stored keyword preview. At most 500 candidate identities and 20 returned records; no corpus total, paid provider work or documentation hydration. Use full_search_url for complete search and exact totals.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| action | No | Actions are inferred from publisher content. They can overlap and do not prove a working integration, authorization or task success. Unclassified sites may be missing useful actions. | |
| agentic | No | Filter by what an agent can do with the site: interface (API or MCP endpoint to call), transactional (buy or book), documentation (docs to read), informational (for people). | |
| country | No | Country: owner-declared or site-published address preferred; domain/hosting inference is a labeled fallback. ISO 3166-1 alpha-2 (XK supported), case-insensitive, or unknown. GET /v1/countries / list_countries lists counts. Not verified headquarters or markets served. | |
| category | No | Filter by inferred topic ID from list_categories. Topics describe publisher metadata, not capabilities or correctness. | |
| sections | No | Publisher section keys from list_sections; discovered dynamically from indexed headings. | |
| capability | No | Filter to sites explicitly publishing an MCP endpoint link. Publisher declaration alone does not prove availability. | |
| section_match | No | all |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld=false, but the description adds real behavioral facts beyond them: a 500-candidate scan ceiling, a 20-record return ceiling, no corpus totals, no paid provider calls, and no documentation hydration. It stops short of explaining ranking or ordering of the returned preview records, which matters for a capped preview.
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 tight sentences, front-loaded with the fast/preview trade-off, then the numeric ceilings, then the routing advice. No filler or restatement of the title, and each clause carries distinct information.
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?
An output schema exists and the input schema carries rich per-parameter descriptions, so the description's remaining job is setting expectations about exhaustiveness and cost, which it does well. The one gap is that it never clarifies the overlap with search_llms_registry or explains why full_search_url is not exposed as a sibling 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?
With nine parameters at roughly 67% schema coverage, the schema already documents enums, country patterns and section keys in detail, and the description adds nothing parameter-specific. The only connective tissue is the '20 returned records' note, which implicitly maps to the limit maximum of 20. Baseline 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 establishes that this is a keyword search over a stored index run in a 'fast, non-exhaustive preview' mode, with hard caps on candidates (500) and returned records (20). The verb is somewhat implicit ('stored keyword preview' rather than 'search the index'), and the named alternative 'full_search_url' is not one of the sibling tools (search_llms_registry is), so the differentiation is only partly actionable.
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 an explicit when-not-to-use rule: go to full_search_url when you need complete results and exact totals. It also implies when to use this (quick, cheap lookups). The guidance loses a point because the recommended alternative is not in the visible sibling set, leaving the agent unclear whether search_llms_registry serves that role.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_llms_registrySearch llms registryRead-onlyIdempotentInspect
Search stored domains and documentation links by words and indexed evidence. Relevance ranks before authority and ownership verification. No live provider calls or paid query embeddings. Compact results omit owner claims by default; use detail=full for profile metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number. Anonymous result window: 250; free registered integrations: 1,000. Each page holds at most 100 records. | |
| query | Yes | Search terms, e.g. "payments api docs". | |
| action | No | Actions are inferred from publisher content. They can overlap and do not prove a working integration, authorization or task success. Unclassified sites may be missing useful actions. | |
| detail | No | Compact consumer fields by default; full adds owner profile, claims and listing metadata. | compact |
| agentic | No | Filter by what an agent can do with the site: interface (API or MCP endpoint to call), transactional (buy or book), documentation (docs to read), informational (for people). | |
| country | No | Country: owner-declared or site-published address preferred; domain/hosting inference is a labeled fallback. ISO 3166-1 alpha-2 (XK supported), case-insensitive, or unknown. GET /v1/countries / list_countries lists counts. Not verified headquarters or markets served. | |
| category | No | Filter by inferred topic ID from list_categories. Topics describe publisher metadata, not capabilities or correctness. | |
| per_page | No | ||
| sections | No | Publisher section keys from list_sections; discovered dynamically from indexed headings. | |
| capability | No | Filter to sites explicitly publishing an MCP endpoint link. Publisher declaration alone does not prove availability. | |
| section_match | No | all | |
| verified_only | No | Only domains whose owner has verified them. | |
| include_unlisted | No | Also return low-authority (unlisted) entries. Requires an operator-approved discovery client key with unlisted permission. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
similar_sitesSimilar sitesARead-onlyIdempotentInspect
Find related listed publishers by vector similarity to a known domain. Returns compact profiles, cosine similarity and actual shared section keys. Similarity is not affiliation, endorsement or proof of equivalent capabilities. Uses stored vectors without a paid call per request; unavailable or stale embeddings produce an empty result with a reason.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| action | No | Actions are inferred from publisher content. They can overlap and do not prove a working integration, authorization or task success. Unclassified sites may be missing useful actions. | |
| domain | Yes | A domain name such as example.com (no scheme, no path). | |
| country | No | Country: owner-declared or site-published address preferred; domain/hosting inference is a labeled fallback. ISO 3166-1 alpha-2 (XK supported), case-insensitive, or unknown. GET /v1/countries / list_countries lists counts. Not verified headquarters or markets served. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, it discloses the cost model (uses stored vectors, no paid call per request) and the failure mode (unavailable or stale embeddings yield an empty result with a reason). It also frames the semantics of the similarity score, which is exactly the kind of context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no waste: the core operation is first, the interpretation caveat second, the operational/behavioral note last. Every sentence carries information an agent would otherwise have to infer.
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 an output schema present and a well-covered input schema, the description covers purpose, caveats, and failure behavior, so an agent can call it correctly. The only minor gap is that it doesn't allude to how the action/country filters shape results, but the schema handles those.
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%, so most parameters are already documented in the schema, and the description adds no per-parameter detail for limit, action, country, or domain. The baseline 3 applies given the 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?
Names a specific verb ('Find related listed publishers') and the mechanism ('by vector similarity to a known domain'), which cleanly separates it from lookup_domain or search_llms_registry in the sibling list. It also specifies what comes back (compact profiles, cosine similarity, shared section keys), so the agent knows exactly what operation this is.
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 makes clear this is for exploring related sites from a known seed domain and warns that similarity is not affiliation or proof of equivalent capability, which sets the interpretation boundary. It does not, however, name an alternative sibling (e.g., explore_sections or search_llms_registry) or state when the tool is the wrong choice, so the routing guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
site_statsSite statsARead-onlyIdempotentInspect
Verified owner only. Review measured website, REST and MCP requests, daily activity, documentation selections, publisher clicks, file health and the last 30 score snapshots. Counts include bots, tests and repeated requests; they do not identify unique agents or confirm publisher page reads.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | A domain name such as example.com (no scheme, no path). | |
| api_key | Yes | The owner API key issued by verify_domain (awm_key_...). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description earns credit by adding behavioral truth beyond that: owner-key authorization is required, and the counts include bots/tests/repeated requests and do NOT identify unique agents or confirm publisher page reads — substantive caveats about data meaning.
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 the authorization prerequisite front-loaded, then the scope enumeration. It is dense but each clause carries signal; the one-lengthy enumeration sentence is slightly list-heavy 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?
With an output schema present, return values need not be explained, and the description correctly focuses on the auth requirement, what is measured, and data caveats. An agent has enough to call it correctly; only the sibling-routing gap keeps it short of 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 100%, so both domain and api_key are already fully documented in the schema, including the api_key origin (verify_domain) and format. The description adds no parameter-level detail, 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 gives a specific verb (Review) and enumerates the concrete resource contents: website/REST/MCP requests, daily activity, doc selections, publisher clicks, file health, and score snapshots. It is clearly a read-style metrics tool and distinguishable by content from siblings like update_site or register_domain, though it never explicitly contrasts with directory_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?
It states the gating prerequisite ("Verified owner only"), which is useful context for selecting the tool. However, it gives no explicit when-to-use/when-not guidance and never routes the agent to or away from the plausibly overlapping sibling directory_stats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_siteUpdate siteADestructiveInspect
Verified owner only. Control the listing profile (description, agent_summary, tags, nested llms.txt paths, contact, owner-declared publisher_country) and terms for agents (agent_terms: automated_access = one of welcome | limited | ask | not_allowed: may agents use the site automatically?; rate_limit = short text, e.g. "60 requests/minute"; attribution = one of required | appreciated | none; attribution_text = how to credit the site (≤200 chars); pricing = one of free | freemium | paid; pricing_url = where prices are published; terms_url = the full terms for automated use; notes = anything else an agent should know (≤500 chars)). Omit a field to leave it unchanged; pass null to clear it.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Lowercase slugs, e.g. ["developer-tools", "docs"]. | |
| domain | Yes | A domain name such as example.com (no scheme, no path). | |
| api_key | Yes | The owner API key issued by verify_domain (awm_key_...). | |
| contact | No | ||
| agent_terms | No | Terms for automated use, shown to every agent that looks the site up. | |
| description | No | ||
| agent_summary | No | Owner-written description for agents. Labeled verified_owner; retained through recrawls and AI updates. Null restores the generated version. | |
| nested_llms_txt | No | Same-site paths of additional llms.txt files, e.g. ["/docs/llms.txt"]. | |
| publisher_country | No | Owner-declared address country; use null to clear. Does not prove headquarters or markets served. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true but give no reason; the description supplies the reason and the guardrail — omitted fields are preserved, explicit null clears them — so the agent knows exactly how to avoid data loss. It also discloses the auth requirement (verified owner key), which annotations do not cover. It does not discuss reversibility, confirmation requirements, or failure modes for an invalid/unverified domain.
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?
Front-loaded with the auth gate and the partial-update rule, then a dense but organized enumeration of the mutable profile and agent_terms fields. It loses a little by restating length limits (≤200, ≤500 chars) already enforced in the schema, and the parenthetical block is long enough to be hard 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?
Given annotations covering safety flags, a present output schema (so return values need no explanation), and 78% parameter coverage, the description covers the two things an agent genuinely cannot infer: the owner-key prerequisite and the omit-vs-null update contract. Only edge behavior — failure on unverified ownership, interaction with recrawl overwriting agent_summary — is 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?
With 78% schema coverage the baseline is a 3, and the description earns more by explaining the semantics of the agent_terms subfields that the schema only types: what 'automated_access' actually asks, what attribution requires, what pricing means. Remaining gaps are the undocumented-by-anyone params (contact, description) and no added meaning for tags or nested_llms_txt beyond the schema 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?
States a concrete verb ('Control the listing profile ... and terms for agents') over a specifically enumerated set of resources: description, agent_summary, tags, nested llms.txt paths, contact, publisher_country, and agent_terms. An agent can tell unambiguously this is the mutation path for a site's listing metadata. It does not explicitly contrast itself with siblings such as register_domain or recrawl_site, 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?
'Verified owner only' establishes the precondition (owner API key from verify_domain), and 'Omit a field to leave it unchanged; pass null to clear it' gives the exact partial-update protocol an agent needs. It does not say when to prefer this over recrawl_site or register_domain, nor what happens if ownership is unverified beyond the implication that the call fails.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_llms_txtValidate llms txtARead-onlyIdempotentInspect
Check a pasted llms.txt draft in memory. Required format is separate from writing recommendations. No links are fetched, no text is saved and nothing is published.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint=false, idempotentHint and destructiveHint=false, so the safety profile is covered. The description still earns credit by spelling out the practical consequences — no link fetching, no persistence, no publishing — which tells the agent this is a pure, side-effect-free evaluation of input it already holds.
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, front-loaded with the action and scope, followed by two clarifying constraints. 'Required format is separate from writing recommendations' is slightly abstract phrasing, but nothing is padded or redundant.
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 an output schema present, return values need no explanation, and annotations cover the mutability profile; the description fills the remaining gap by establishing the in-memory, no-network, no-persistence contract. The only shortfall is that it does not define what 'required format' validation actually checks, leaving the agent unsure what kinds of errors will be reported.
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 0% for the single 'text' parameter, so the description carries the burden. 'Pasted llms.txt draft' does convey that the parameter is the raw document content rather than a URL or ID, but it says nothing about size limits (524288 chars) or whether the value must be the complete file. Marginal 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?
States a specific verb and resource ('Check a pasted llms.txt draft') plus the scope qualifier 'in memory', which separates it from tools that act on stored or fetched content. It never names check_llms_txt or read_llms_txt explicitly, so the differentiation must be inferred from the 'pasted' and 'no links fetched' phrasing.
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?
'Check a pasted llms.txt draft in memory' and the note that the required format is distinct from writing recommendations imply the use case: validating user-supplied text rather than generating or auditing a live site. However, no sibling is named and there is no explicit 'use X instead when you have a URL' routing, which matters given check_llms_txt and read_llms_txt sit right next to it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verification_instructionsVerification instructionsARead-onlyIdempotentInspect
Describe optional ownership management and its four proof methods. Call begin_ownership_claim to obtain a fresh expiring proof and a private claim secret. No ownership claim is needed for discovery.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | A domain name such as example.com (no scheme, no path). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description usefully adds that ownership claims are optional and that proofs expire, plus that the claim secret is private, which is genuinely behavioral context. It does not say whether the returned instructions vary by domain or whether anything is persisted.
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, front-loading what the tool provides before naming the follow-up call and the discovery exemption. Efficient, though the second sentence about begin_ownership_claim could arguably be left to that tool's own 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?
An output schema exists, so return values need not be described. However, the description never explains the role of the required domain argument in an 'instructions' tool, nor does it enumerate the four proof methods it advertises, leaving a gap for correct invocation 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 100% and the single domain parameter is well documented in the schema (name format, no scheme/path). The description neither mentions the domain parameter nor explains how it affects the returned instructions, which is a notable omission for an instruction-content tool. Baseline 3 applies since the schema carries the load.
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+resource: it describes optional ownership management and its four proof methods, which is clearly distinct from sibling lookup/registry tools. It also names begin_ownership_claim, so an agent can route correctly. It stops short of saying precisely what form the returned instructions take, but the intent is legible.
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 names the concrete alternative (begin_ownership_claim) and the trigger for using it (obtaining a fresh expiring proof and a private claim secret). It also gives an explicit when-not condition: no ownership claim is needed for discovery. No exclusions are stated beyond that, but the routing guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_domainVerify domainADestructiveInspect
Complete the fresh challenge from begin_ownership_claim using its private claim credentials. Checks the published proof and consumes the challenge once, returning the owner API key shown once. Public or legacy proof tokens alone cannot issue keys. Recovery replaces previous credentials and sessions. Rate limited: 10 attempts per domain per hour.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | A domain name such as example.com (no scheme, no path). | |
| claim_id | Yes | ||
| claim_secret | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: discloses that the challenge is consumed once, that the owner API key is returned only a single time, that recovery replaces previous credentials and sessions, and gives an explicit rate limit of 10 attempts per domain per hour. This is the rare description that independently carries real operational risk information.
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?
Five short sentences, each carrying distinct information, front-loaded with the action and its dependency. Slightly dense with caveats, but no sentence is 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 destructive, non-idempotent, rate-limited mutation with a private credential, the description covers the dependency, the single-use semantics, the secret return value, recovery behavior, and rate limits. Output schema exists, so return-format detail is unnecessary.
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 'domain' is documented). The description partly compensates by indicating claim_id/claim_secret are the private credentials issued by begin_ownership_claim, but it does not clarify their format or that passing stale credentials fails, leaving a real 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?
States a specific verb and resource ('Complete the fresh challenge from begin_ownership_claim') and ties it directly to the sibling that produces the inputs, so an agent knows exactly which step of the ownership flow this is.
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 says to use it with the 'fresh challenge' from begin_ownership_claim and rules out 'public or legacy proof tokens alone'. It gives a clear precondition but does not name what an agent should do instead in the legacy/expired-challenge case.
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
- Added
search_index_preview
1 tool update
- Changed
resolve1 field changed- changed
Input schema / properties / refresh / descriptionPrevious value: -"Validate the selected source live with bounded work per call; does not change the directory listing."New value: +"Deprecated. true returns stored_data_only. Use registered check_llms_txt for a live check."
7 tool updates
- Changed
list_domains1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "page": { - "type": "integer" - }, - "per_page": { - "type": "integer" - }, - "query": { - "type": "string" - }, - "results": { - "items": { - "additionalProperties": false, - "properties": { - "agent_summary": { - "type": [ - "string", - "null" - ] - }, - "agent_terms": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "attribution": { - "enum": [ - "required", - "appreciated", - "none" - ], - "type": "string" - }, - "attribution_text": { - "maxLength": 200, - "type": "string" - }, - "automated_access": { - "enum": [ - "welcome", - "limited", - "ask", - "not_allowed" - ], - "type": "string" - }, - "notes": { - "maxLength": 500, - "type": "string" - }, - "pricing": { - "enum": [ - "free", - "freemium", - "paid" - ], - "type": "string" - }, - "pricing_url": { - "type": "string" - }, - "rate_limit": { - "maxLength": 100, - "type": "string" - }, - "terms_url": { - "type": "string" - } - }, - "required": [], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "agent_uses": { - "items": { - "enum": [ - "read_docs", - "call_api", - "buy", - "book", - "search_content", - "download_data", - "contact_support" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "agentic": { - "anyOf": [ - { - "description": "What an agent can do with the site: interface (API or MCP endpoint to call), transactional (buy or book), documentation (docs to read), informational (for people).", - "enum": [ - "interface", - "transactional", - "documentation", - "informational" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "audience": { - "anyOf": [ - { - "enum": [ - "developers", - "consumers", - "business", - "mixed" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "authority": { - "type": [ - "integer", - "null" - ] - }, - "badge": { - "type": "string" - }, - "capabilities": { - "description": "Publisher-declared capabilities. An MCP declaration does not prove availability or protocol compatibility.", - "items": { - "enum": [ - "mcp" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "capability_evidence": { - "items": { - "additionalProperties": false, - "properties": { - "id": { - "const": "mcp" - }, - "source_url": { - "type": "string" - }, - "status": { - "const": "publisher_declared" - }, - "url": { - "type": "string" - } - }, - "required": [ - "id", - "url", - "source_url", - "status" - ], - "type": "object" - }, - "type": "array" - }, - "categories": { - "description": "Inferred topic IDs from publisher metadata; empty means unclassified.", - "items": { - "enum": [ - "ai-ml", - "developer-tools", - "infrastructure", - "data-analytics", - "cybersecurity", - "finance-payments", - "ecommerce", - "productivity", - "marketing", - "education", - "healthcare", - "media", - "design", - "gaming", - "travel", - "community", - "legal", - "recruiting-careers", - "industrial-manufacturing", - "real-estate", - "arts-culture", - "sports-fitness", - "food-dining", - "automotive", - "government-public-services", - "science-research", - "ai-agents-mcp", - "apis-sdks", - "databases", - "auth-identity", - "devops-observability", - "no-code-automation", - "communications", - "crypto-web3", - "saas-business-software", - "open-source", - "documentation-reference", - "fashion-beauty", - "home-garden", - "consumer-electronics", - "pets", - "insurance", - "telecom", - "logistics-shipping", - "energy-utilities", - "construction-architecture", - "agriculture", - "nonprofit", - "events", - "personal-blog", - "entertainment", - "local-business" - ], - "type": "string" - }, - "maxItems": 8, - "type": "array", - "uniqueItems": true - }, - "categorized_at": { - "type": [ - "string", - "null" - ] - }, - "category_evidence": { - "items": { - "additionalProperties": false, - "properties": { - "confidence": { - "description": "Deterministic rule strength, not a calibrated probability.", - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "evidence": { - "items": { - "type": "string" - }, - "type": "array" - }, - "id": { - "enum": [ - "ai-ml", - "developer-tools", - "infrastructure", - "data-analytics", - "cybersecurity", - "finance-payments", - "ecommerce", - "productivity", - "marketing", - "education", - "healthcare", - "media", - "design", - "gaming", - "travel", - "community", - "legal", - "recruiting-careers", - "industrial-manufacturing", - "real-estate", - "arts-culture", - "sports-fitness", - "food-dining", - "automotive", - "government-public-services", - "science-research", - "ai-agents-mcp", - "apis-sdks", - "databases", - "auth-identity", - "devops-observability", - "no-code-automation", - "communications", - "crypto-web3", - "saas-business-software", - "open-source", - "documentation-reference", - "fashion-beauty", - "home-garden", - "consumer-electronics", - "pets", - "insurance", - "telecom", - "logistics-shipping", - "energy-utilities", - "construction-architecture", - "agriculture", - "nonprofit", - "events", - "personal-blog", - "entertainment", - "local-business" - ], - "type": "string" - }, - "source": { - "enum": [ - "publisher_metadata", - "llm" - ] - } - }, - "required": [ - "id", - "confidence", - "evidence", - "source" - ], - "type": "object" - }, - "type": "array" - }, - "category_version": { - "type": [ - "string", - "null" - ] - }, - "claim": { - "additionalProperties": false, - "properties": { - "agent_prompt": { - "type": "string" - }, - "benefits": { - "items": { - "type": "string" - }, - "type": "array" - }, - "docs": { - "type": "string" - }, - "hint": { - "type": "string" - }, - "mcp": { - "type": "string" - }, - "verification": { - "type": "string" - }, - "verify": { - "type": "string" - } - }, - "required": [ - "agent_prompt", - "hint", - "verification", - "verify", - "docs", - "mcp", - "benefits" - ], - "type": "object" - }, - "contact": { - "type": [ - "string", - "null" - ] - }, - "country": { - "description": "Published or declared address country preferred; domain/hosting fallback. Null when unknown. Not independently verified headquarters or markets served.", - "type": [ - "string", - "null" - ] - }, - "country_checked_at": { - "type": [ - "string", - "null" - ] - }, - "country_evidence": { - "items": { - "additionalProperties": false, - "properties": { - "checked_at": { - "type": [ - "string", - "null" - ] - }, - "country": { - "type": "string" - }, - "method": { - "type": "string" - }, - "source": { - "type": "string" - }, - "url": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "country", - "source", - "url", - "checked_at", - "method" - ], - "type": "object" - }, - "type": "array" - }, - "country_source": { - "description": "owner: owner-declared address; structured_data/contact_page: site-published address; tld: domain inference; ip: non-CDN hosting inference; cdn: location withheld. No source independently verifies headquarters.", - "enum": [ - "owner", - "structured_data", - "contact_page", - "tld", - "ip", - "cdn", - null - ], - "type": [ - "string", - "null" - ] - }, - "country_status": { - "type": "string" - }, - "description": { - "type": [ - "string", - "null" - ] - }, - "domain": { - "type": "string" - }, - "domain_country": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "items": { - "additionalProperties": true, - "properties": { - "excerpt": { - "type": [ - "string", - "null" - ] - }, - "source_url": { - "type": [ - "string", - "null" - ] - }, - "title": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url" - ], - "type": "object" - }, - "type": "array" - }, - "first_seen": { - "type": [ - "string", - "null" - ] - }, - "hosting_country": { - "type": [ - "string", - "null" - ] - }, - "inferred_tags": { - "description": "Topic tags inferred by the AI classifier from the site text.", - "items": { - "type": "string" - }, - "type": "array" - }, - "language": { - "type": [ - "string", - "null" - ] - }, - "last_checked": { - "type": [ - "string", - "null" - ] - }, - "links": { - "type": [ - "integer", - "null" - ] - }, - "llms_full_txt": { - "type": [ - "string", - "null" - ] - }, - "llms_txt": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_cached": { - "type": "string" - }, - "match_score": { - "type": "number" - }, - "nested_llms_txt": { - "items": { - "type": "string" - }, - "type": "array" - }, - "platform_generated": { - "type": [ - "boolean", - "null" - ] - }, - "publisher_country": { - "type": [ - "string", - "null" - ] - }, - "publisher_country_source": { - "enum": [ - "owner", - "structured_data", - "contact_page", - null - ], - "type": [ - "string", - "null" - ] - }, - "rank": { - "type": [ - "integer", - "null" - ] - }, - "registered_at": { - "type": [ - "string", - "null" - ] - }, - "section_headings": { - "items": { - "additionalProperties": false, - "properties": { - "format": { - "enum": [ - "markdown", - "loose", - "setext", - "indexed_link" - ] - }, - "key": { - "type": "string" - }, - "label": { - "type": "string" - }, - "level": { - "type": "integer" - }, - "line": { - "type": [ - "integer", - "null" - ] - }, - "path": { - "type": "string" - }, - "source_url": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "key", - "label", - "level", - "path", - "line", - "format" - ], - "type": "object" - }, - "type": "array" - }, - "section_indexed_at": { - "type": [ - "string", - "null" - ] - }, - "section_keys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "section_partial": { - "type": "boolean" - }, - "sections": { - "type": [ - "integer", - "null" - ] - }, - "status": { - "enum": [ - "pending", - "valid", - "invalid", - "unreachable" - ], - "type": "string" - }, - "summary": { - "type": [ - "string", - "null" - ] - }, - "tags": { - "items": { - "type": "string" - }, - "type": "array" - }, - "tier": { - "enum": [ - "featured", - "listed", - "unlisted", - "rejected", - null - ], - "type": [ - "string", - "null" - ] - }, - "title": { - "type": [ - "string", - "null" - ] - }, - "verified": { - "type": "boolean" - }, - "verified_at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "domain", - "status", - "tier", - "authority", - "verified", - "title", - "summary", - "llms_txt", - "llms_full_txt", - "last_checked", - "agent_terms", - "categories", - "capabilities" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "page", - "per_page", - "total", - "results" - ], - "type": "object" - }, - { - "additionalProperties": true, - "properties": { - "detail": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "error": { - "type": "string" - }, - "hint": { - "type": "string" - }, - "retry_after_seconds": { - "type": "integer" - } - }, - "required": [ - "error" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "page": { + "type": "integer" + }, + "per_page": { + "type": "integer" + }, + "query": { + "type": "string" + }, + "results": { + "items": { + "additionalProperties": false, + "properties": { + "agent_summary": { + "type": [ + "string", + "null" + ] + }, + "agent_summary_source": { + "description": "Provenance of the effective agent_summary. Domain ownership does not independently validate the description.", + "enum": [ + "verified_owner", + "ai", + null + ], + "type": [ + "string", + "null" + ] + }, + "agent_terms": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "attribution": { + "enum": [ + "required", + "appreciated", + "none" + ], + "type": "string" + }, + "attribution_text": { + "maxLength": 200, + "type": "string" + }, + "automated_access": { + "enum": [ + "welcome", + "limited", + "ask", + "not_allowed" + ], + "type": "string" + }, + "notes": { + "maxLength": 500, + "type": "string" + }, + "pricing": { + "enum": [ + "free", + "freemium", + "paid" + ], + "type": "string" + }, + "pricing_url": { + "type": "string" + }, + "rate_limit": { + "maxLength": 100, + "type": "string" + }, + "terms_url": { + "type": "string" + } + }, + "required": [], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "agent_uses": { + "items": { + "enum": [ + "read_docs", + "call_api", + "buy", + "book", + "search_content", + "download_data", + "contact_support" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "agentic": { + "anyOf": [ + { + "description": "What an agent can do with the site: interface (API or MCP endpoint to call), transactional (buy or book), documentation (docs to read), informational (for people).", + "enum": [ + "interface", + "transactional", + "documentation", + "informational" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "audience": { + "anyOf": [ + { + "enum": [ + "developers", + "consumers", + "business", + "mixed" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "authority": { + "type": [ + "integer", + "null" + ] + }, + "badge": { + "type": "string" + }, + "capabilities": { + "description": "Publisher-declared capabilities. An MCP declaration does not prove availability or protocol compatibility.", + "items": { + "enum": [ + "mcp" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "capability_evidence": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "const": "mcp" + }, + "source_url": { + "type": "string" + }, + "status": { + "const": "publisher_declared" + }, + "url": { + "type": "string" + } + }, + "required": [ + "id", + "url", + "source_url", + "status" + ], + "type": "object" + }, + "type": "array" + }, + "categories": { + "description": "Inferred topic IDs from publisher metadata; empty means unclassified.", + "items": { + "enum": [ + "ai-ml", + "developer-tools", + "infrastructure", + "data-analytics", + "cybersecurity", + "finance-payments", + "ecommerce", + "productivity", + "marketing", + "education", + "healthcare", + "media", + "design", + "gaming", + "travel", + "community", + "legal", + "recruiting-careers", + "industrial-manufacturing", + "real-estate", + "arts-culture", + "sports-fitness", + "food-dining", + "automotive", + "government-public-services", + "science-research", + "ai-agents-mcp", + "apis-sdks", + "databases", + "auth-identity", + "devops-observability", + "no-code-automation", + "communications", + "crypto-web3", + "saas-business-software", + "open-source", + "documentation-reference", + "fashion-beauty", + "home-garden", + "consumer-electronics", + "pets", + "insurance", + "telecom", + "logistics-shipping", + "energy-utilities", + "construction-architecture", + "agriculture", + "nonprofit", + "events", + "personal-blog", + "entertainment", + "local-business" + ], + "type": "string" + }, + "maxItems": 8, + "type": "array", + "uniqueItems": true + }, + "categorized_at": { + "type": [ + "string", + "null" + ] + }, + "category_evidence": { + "items": { + "additionalProperties": false, + "properties": { + "confidence": { + "description": "Deterministic rule strength, not a calibrated probability.", + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "evidence": { + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "enum": [ + "ai-ml", + "developer-tools", + "infrastructure", + "data-analytics", + "cybersecurity", + "finance-payments", + "ecommerce", + "productivity", + "marketing", + "education", + "healthcare", + "media", + "design", + "gaming", + "travel", + "community", + "legal", + "recruiting-careers", + "industrial-manufacturing", + "real-estate", + "arts-culture", + "sports-fitness", + "food-dining", + "automotive", + "government-public-services", + "science-research", + "ai-agents-mcp", + "apis-sdks", + "databases", + "auth-identity", + "devops-observability", + "no-code-automation", + "communications", + "crypto-web3", + "saas-business-software", + "open-source", + "documentation-reference", + "fashion-beauty", + "home-garden", + "consumer-electronics", + "pets", + "insurance", + "telecom", + "logistics-shipping", + "energy-utilities", + "construction-architecture", + "agriculture", + "nonprofit", + "events", + "personal-blog", + "entertainment", + "local-business" + ], + "type": "string" + }, + "source": { + "enum": [ + "publisher_metadata", + "llm" + ] + } + }, + "required": [ + "id", + "confidence", + "evidence", + "source" + ], + "type": "object" + }, + "type": "array" + }, + "category_version": { + "type": [ + "string", + "null" + ] + }, + "claim": { + "additionalProperties": false, + "properties": { + "agent_prompt": { + "type": "string" + }, + "benefits": { + "items": { + "type": "string" + }, + "type": "array" + }, + "docs": { + "type": "string" + }, + "hint": { + "type": "string" + }, + "mcp": { + "type": "string" + }, + "verification": { + "type": "string" + }, + "verify": { + "type": "string" + } + }, + "required": [ + "agent_prompt", + "hint", + "verification", + "verify", + "docs", + "mcp", + "benefits" + ], + "type": "object" + }, + "contact": { + "type": [ + "string", + "null" + ] + }, + "country": { + "description": "Published or declared address country preferred; domain/hosting fallback. Null when unknown. Not independently verified headquarters or markets served.", + "type": [ + "string", + "null" + ] + }, + "country_checked_at": { + "type": [ + "string", + "null" + ] + }, + "country_evidence": { + "items": { + "additionalProperties": false, + "properties": { + "checked_at": { + "type": [ + "string", + "null" + ] + }, + "country": { + "type": "string" + }, + "method": { + "type": "string" + }, + "source": { + "type": "string" + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "country", + "source", + "url", + "checked_at", + "method" + ], + "type": "object" + }, + "type": "array" + }, + "country_source": { + "description": "owner: owner-declared address; structured_data/contact_page: site-published address; tld: domain inference; ip: non-CDN hosting inference; cdn: location withheld. No source independently verifies headquarters.", + "enum": [ + "owner", + "structured_data", + "contact_page", + "tld", + "ip", + "cdn", + null + ], + "type": [ + "string", + "null" + ] + }, + "country_status": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "domain": { + "type": "string" + }, + "domain_country": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "items": { + "additionalProperties": true, + "properties": { + "excerpt": { + "type": [ + "string", + "null" + ] + }, + "source_url": { + "type": [ + "string", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" + }, + "type": "array" + }, + "first_seen": { + "type": [ + "string", + "null" + ] + }, + "hosting_country": { + "type": [ + "string", + "null" + ] + }, + "inferred_tags": { + "description": "Topic tags inferred by the AI classifier from the site text.", + "items": { + "type": "string" + }, + "type": "array" + }, + "language": { + "type": [ + "string", + "null" + ] + }, + "last_checked": { + "type": [ + "string", + "null" + ] + }, + "links": { + "type": [ + "integer", + "null" + ] + }, + "llms_full_txt": { + "type": [ + "string", + "null" + ] + }, + "llms_txt": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_cached": { + "type": "string" + }, + "match_score": { + "type": "number" + }, + "nested_llms_txt": { + "items": { + "type": "string" + }, + "type": "array" + }, + "platform_generated": { + "type": [ + "boolean", + "null" + ] + }, + "publisher_country": { + "type": [ + "string", + "null" + ] + }, + "publisher_country_source": { + "enum": [ + "owner", + "structured_data", + "contact_page", + null + ], + "type": [ + "string", + "null" + ] + }, + "rank": { + "type": [ + "integer", + "null" + ] + }, + "registered_at": { + "type": [ + "string", + "null" + ] + }, + "section_headings": { + "items": { + "additionalProperties": false, + "properties": { + "format": { + "enum": [ + "markdown", + "loose", + "setext", + "indexed_link" + ] + }, + "key": { + "type": "string" + }, + "label": { + "type": "string" + }, + "level": { + "type": "integer" + }, + "line": { + "type": [ + "integer", + "null" + ] + }, + "path": { + "type": "string" + }, + "source_url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "key", + "label", + "level", + "path", + "line", + "format" + ], + "type": "object" + }, + "type": "array" + }, + "section_indexed_at": { + "type": [ + "string", + "null" + ] + }, + "section_keys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "section_partial": { + "type": "boolean" + }, + "sections": { + "type": [ + "integer", + "null" + ] + }, + "status": { + "enum": [ + "pending", + "valid", + "invalid", + "unreachable" + ], + "type": "string" + }, + "summary": { + "type": [ + "string", + "null" + ] + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tier": { + "enum": [ + "featured", + "listed", + "unlisted", + "rejected", + null + ], + "type": [ + "string", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "verified": { + "type": "boolean" + }, + "verified_at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "domain", + "status", + "tier", + "authority", + "verified", + "title", + "summary", + "llms_txt", + "llms_full_txt", + "last_checked", + "agent_terms", + "categories", + "capabilities" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "page", + "per_page", + "total", + "results" + ], + "type": "object" + }, + { + "additionalProperties": true, + "properties": { + "detail": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "error": { + "type": "string" + }, + "hint": { + "type": "string" + }, + "retry_after_seconds": { + "type": "integer" + } + }, + "required": [ + "error" + ], + "type": "object" + } +]
- Changed
lookup_domain1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "agent_summary": { - "type": [ - "string", - "null" - ] - }, - "agent_terms": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "attribution": { - "enum": [ - "required", - "appreciated", - "none" - ], - "type": "string" - }, - "attribution_text": { - "maxLength": 200, - "type": "string" - }, - "automated_access": { - "enum": [ - "welcome", - "limited", - "ask", - "not_allowed" - ], - "type": "string" - }, - "notes": { - "maxLength": 500, - "type": "string" - }, - "pricing": { - "enum": [ - "free", - "freemium", - "paid" - ], - "type": "string" - }, - "pricing_url": { - "type": "string" - }, - "rate_limit": { - "maxLength": 100, - "type": "string" - }, - "terms_url": { - "type": "string" - } - }, - "required": [], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "agent_uses": { - "items": { - "enum": [ - "read_docs", - "call_api", - "buy", - "book", - "search_content", - "download_data", - "contact_support" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "agentic": { - "anyOf": [ - { - "description": "What an agent can do with the site: interface (API or MCP endpoint to call), transactional (buy or book), documentation (docs to read), informational (for people).", - "enum": [ - "interface", - "transactional", - "documentation", - "informational" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "audience": { - "anyOf": [ - { - "enum": [ - "developers", - "consumers", - "business", - "mixed" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "authority": { - "type": [ - "integer", - "null" - ] - }, - "badge": { - "type": "string" - }, - "capabilities": { - "description": "Publisher-declared capabilities. An MCP declaration does not prove availability or protocol compatibility.", - "items": { - "enum": [ - "mcp" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "capability_evidence": { - "items": { - "additionalProperties": false, - "properties": { - "id": { - "const": "mcp" - }, - "source_url": { - "type": "string" - }, - "status": { - "const": "publisher_declared" - }, - "url": { - "type": "string" - } - }, - "required": [ - "id", - "url", - "source_url", - "status" - ], - "type": "object" - }, - "type": "array" - }, - "categories": { - "description": "Inferred topic IDs from publisher metadata; empty means unclassified.", - "items": { - "enum": [ - "ai-ml", - "developer-tools", - "infrastructure", - "data-analytics", - "cybersecurity", - "finance-payments", - "ecommerce", - "productivity", - "marketing", - "education", - "healthcare", - "media", - "design", - "gaming", - "travel", - "community", - "legal", - "recruiting-careers", - "industrial-manufacturing", - "real-estate", - "arts-culture", - "sports-fitness", - "food-dining", - "automotive", - "government-public-services", - "science-research", - "ai-agents-mcp", - "apis-sdks", - "databases", - "auth-identity", - "devops-observability", - "no-code-automation", - "communications", - "crypto-web3", - "saas-business-software", - "open-source", - "documentation-reference", - "fashion-beauty", - "home-garden", - "consumer-electronics", - "pets", - "insurance", - "telecom", - "logistics-shipping", - "energy-utilities", - "construction-architecture", - "agriculture", - "nonprofit", - "events", - "personal-blog", - "entertainment", - "local-business" - ], - "type": "string" - }, - "maxItems": 8, - "type": "array", - "uniqueItems": true - }, - "categorized_at": { - "type": [ - "string", - "null" - ] - }, - "category_evidence": { - "items": { - "additionalProperties": false, - "properties": { - "confidence": { - "description": "Deterministic rule strength, not a calibrated probability.", - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "evidence": { - "items": { - "type": "string" - }, - "type": "array" - }, - "id": { - "enum": [ - "ai-ml", - "developer-tools", - "infrastructure", - "data-analytics", - "cybersecurity", - "finance-payments", - "ecommerce", - "productivity", - "marketing", - "education", - "healthcare", - "media", - "design", - "gaming", - "travel", - "community", - "legal", - "recruiting-careers", - "industrial-manufacturing", - "real-estate", - "arts-culture", - "sports-fitness", - "food-dining", - "automotive", - "government-public-services", - "science-research", - "ai-agents-mcp", - "apis-sdks", - "databases", - "auth-identity", - "devops-observability", - "no-code-automation", - "communications", - "crypto-web3", - "saas-business-software", - "open-source", - "documentation-reference", - "fashion-beauty", - "home-garden", - "consumer-electronics", - "pets", - "insurance", - "telecom", - "logistics-shipping", - "energy-utilities", - "construction-architecture", - "agriculture", - "nonprofit", - "events", - "personal-blog", - "entertainment", - "local-business" - ], - "type": "string" - }, - "source": { - "enum": [ - "publisher_metadata", - "llm" - ] - } - }, - "required": [ - "id", - "confidence", - "evidence", - "source" - ], - "type": "object" - }, - "type": "array" - }, - "category_version": { - "type": [ - "string", - "null" - ] - }, - "claim": { - "additionalProperties": false, - "properties": { - "agent_prompt": { - "type": "string" - }, - "benefits": { - "items": { - "type": "string" - }, - "type": "array" - }, - "docs": { - "type": "string" - }, - "hint": { - "type": "string" - }, - "mcp": { - "type": "string" - }, - "verification": { - "type": "string" - }, - "verify": { - "type": "string" - } - }, - "required": [ - "agent_prompt", - "hint", - "verification", - "verify", - "docs", - "mcp", - "benefits" - ], - "type": "object" - }, - "contact": { - "type": [ - "string", - "null" - ] - }, - "country": { - "description": "Published or declared address country preferred; domain/hosting fallback. Null when unknown. Not independently verified headquarters or markets served.", - "type": [ - "string", - "null" - ] - }, - "country_checked_at": { - "type": [ - "string", - "null" - ] - }, - "country_evidence": { - "items": { - "additionalProperties": false, - "properties": { - "checked_at": { - "type": [ - "string", - "null" - ] - }, - "country": { - "type": "string" - }, - "method": { - "type": "string" - }, - "source": { - "type": "string" - }, - "url": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "country", - "source", - "url", - "checked_at", - "method" - ], - "type": "object" - }, - "type": "array" - }, - "country_source": { - "description": "owner: owner-declared address; structured_data/contact_page: site-published address; tld: domain inference; ip: non-CDN hosting inference; cdn: location withheld. No source independently verifies headquarters.", - "enum": [ - "owner", - "structured_data", - "contact_page", - "tld", - "ip", - "cdn", - null - ], - "type": [ - "string", - "null" - ] - }, - "country_status": { - "type": "string" - }, - "description": { - "type": [ - "string", - "null" - ] - }, - "domain": { - "type": "string" - }, - "domain_country": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "items": { - "additionalProperties": true, - "properties": { - "excerpt": { - "type": [ - "string", - "null" - ] - }, - "source_url": { - "type": [ - "string", - "null" - ] - }, - "title": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url" - ], - "type": "object" - }, - "type": "array" - }, - "first_seen": { - "type": [ - "string", - "null" - ] - }, - "hosting_country": { - "type": [ - "string", - "null" - ] - }, - "inferred_tags": { - "description": "Topic tags inferred by the AI classifier from the site text.", - "items": { - "type": "string" - }, - "type": "array" - }, - "language": { - "type": [ - "string", - "null" - ] - }, - "last_checked": { - "type": [ - "string", - "null" - ] - }, - "links": { - "type": [ - "integer", - "null" - ] - }, - "llms_full_txt": { - "type": [ - "string", - "null" - ] - }, - "llms_txt": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_cached": { - "type": "string" - }, - "match_score": { - "type": "number" - }, - "nested_llms_txt": { - "items": { - "type": "string" - }, - "type": "array" - }, - "platform_generated": { - "type": [ - "boolean", - "null" - ] - }, - "publisher_country": { - "type": [ - "string", - "null" - ] - }, - "publisher_country_source": { - "enum": [ - "owner", - "structured_data", - "contact_page", - null - ], - "type": [ - "string", - "null" - ] - }, - "rank": { - "type": [ - "integer", - "null" - ] - }, - "registered_at": { - "type": [ - "string", - "null" - ] - }, - "section_headings": { - "items": { - "additionalProperties": false, - "properties": { - "format": { - "enum": [ - "markdown", - "loose", - "setext", - "indexed_link" - ] - }, - "key": { - "type": "string" - }, - "label": { - "type": "string" - }, - "level": { - "type": "integer" - }, - "line": { - "type": [ - "integer", - "null" - ] - }, - "path": { - "type": "string" - }, - "source_url": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "key", - "label", - "level", - "path", - "line", - "format" - ], - "type": "object" - }, - "type": "array" - }, - "section_indexed_at": { - "type": [ - "string", - "null" - ] - }, - "section_keys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "section_partial": { - "type": "boolean" - }, - "sections": { - "type": [ - "integer", - "null" - ] - }, - "status": { - "enum": [ - "pending", - "valid", - "invalid", - "unreachable" - ], - "type": "string" - }, - "summary": { - "type": [ - "string", - "null" - ] - }, - "tags": { - "items": { - "type": "string" - }, - "type": "array" - }, - "tier": { - "enum": [ - "featured", - "listed", - "unlisted", - "rejected", - null - ], - "type": [ - "string", - "null" - ] - }, - "title": { - "type": [ - "string", - "null" - ] - }, - "verified": { - "type": "boolean" - }, - "verified_at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "domain", - "status", - "tier", - "authority", - "verified", - "title", - "summary", - "llms_txt", - "llms_full_txt", - "last_checked", - "agent_terms", - "categories", - "capabilities" - ], - "type": "object" - }, - { - "additionalProperties": true, - "properties": { - "detail": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "error": { - "type": "string" - }, - "hint": { - "type": "string" - }, - "retry_after_seconds": { - "type": "integer" - } - }, - "required": [ - "error" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "agent_summary": { + "type": [ + "string", + "null" + ] + }, + "agent_summary_source": { + "description": "Provenance of the effective agent_summary. Domain ownership does not independently validate the description.", + "enum": [ + "verified_owner", + "ai", + null + ], + "type": [ + "string", + "null" + ] + }, + "agent_terms": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "attribution": { + "enum": [ + "required", + "appreciated", + "none" + ], + "type": "string" + }, + "attribution_text": { + "maxLength": 200, + "type": "string" + }, + "automated_access": { + "enum": [ + "welcome", + "limited", + "ask", + "not_allowed" + ], + "type": "string" + }, + "notes": { + "maxLength": 500, + "type": "string" + }, + "pricing": { + "enum": [ + "free", + "freemium", + "paid" + ], + "type": "string" + }, + "pricing_url": { + "type": "string" + }, + "rate_limit": { + "maxLength": 100, + "type": "string" + }, + "terms_url": { + "type": "string" + } + }, + "required": [], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "agent_uses": { + "items": { + "enum": [ + "read_docs", + "call_api", + "buy", + "book", + "search_content", + "download_data", + "contact_support" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "agentic": { + "anyOf": [ + { + "description": "What an agent can do with the site: interface (API or MCP endpoint to call), transactional (buy or book), documentation (docs to read), informational (for people).", + "enum": [ + "interface", + "transactional", + "documentation", + "informational" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "audience": { + "anyOf": [ + { + "enum": [ + "developers", + "consumers", + "business", + "mixed" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "authority": { + "type": [ + "integer", + "null" + ] + }, + "badge": { + "type": "string" + }, + "capabilities": { + "description": "Publisher-declared capabilities. An MCP declaration does not prove availability or protocol compatibility.", + "items": { + "enum": [ + "mcp" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "capability_evidence": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "const": "mcp" + }, + "source_url": { + "type": "string" + }, + "status": { + "const": "publisher_declared" + }, + "url": { + "type": "string" + } + }, + "required": [ + "id", + "url", + "source_url", + "status" + ], + "type": "object" + }, + "type": "array" + }, + "categories": { + "description": "Inferred topic IDs from publisher metadata; empty means unclassified.", + "items": { + "enum": [ + "ai-ml", + "developer-tools", + "infrastructure", + "data-analytics", + "cybersecurity", + "finance-payments", + "ecommerce", + "productivity", + "marketing", + "education", + "healthcare", + "media", + "design", + "gaming", + "travel", + "community", + "legal", + "recruiting-careers", + "industrial-manufacturing", + "real-estate", + "arts-culture", + "sports-fitness", + "food-dining", + "automotive", + "government-public-services", + "science-research", + "ai-agents-mcp", + "apis-sdks", + "databases", + "auth-identity", + "devops-observability", + "no-code-automation", + "communications", + "crypto-web3", + "saas-business-software", + "open-source", + "documentation-reference", + "fashion-beauty", + "home-garden", + "consumer-electronics", + "pets", + "insurance", + "telecom", + "logistics-shipping", + "energy-utilities", + "construction-architecture", + "agriculture", + "nonprofit", + "events", + "personal-blog", + "entertainment", + "local-business" + ], + "type": "string" + }, + "maxItems": 8, + "type": "array", + "uniqueItems": true + }, + "categorized_at": { + "type": [ + "string", + "null" + ] + }, + "category_evidence": { + "items": { + "additionalProperties": false, + "properties": { + "confidence": { + "description": "Deterministic rule strength, not a calibrated probability.", + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "evidence": { + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "enum": [ + "ai-ml", + "developer-tools", + "infrastructure", + "data-analytics", + "cybersecurity", + "finance-payments", + "ecommerce", + "productivity", + "marketing", + "education", + "healthcare", + "media", + "design", + "gaming", + "travel", + "community", + "legal", + "recruiting-careers", + "industrial-manufacturing", + "real-estate", + "arts-culture", + "sports-fitness", + "food-dining", + "automotive", + "government-public-services", + "science-research", + "ai-agents-mcp", + "apis-sdks", + "databases", + "auth-identity", + "devops-observability", + "no-code-automation", + "communications", + "crypto-web3", + "saas-business-software", + "open-source", + "documentation-reference", + "fashion-beauty", + "home-garden", + "consumer-electronics", + "pets", + "insurance", + "telecom", + "logistics-shipping", + "energy-utilities", + "construction-architecture", + "agriculture", + "nonprofit", + "events", + "personal-blog", + "entertainment", + "local-business" + ], + "type": "string" + }, + "source": { + "enum": [ + "publisher_metadata", + "llm" + ] + } + }, + "required": [ + "id", + "confidence", + "evidence", + "source" + ], + "type": "object" + }, + "type": "array" + }, + "category_version": { + "type": [ + "string", + "null" + ] + }, + "claim": { + "additionalProperties": false, + "properties": { + "agent_prompt": { + "type": "string" + }, + "benefits": { + "items": { + "type": "string" + }, + "type": "array" + }, + "docs": { + "type": "string" + }, + "hint": { + "type": "string" + }, + "mcp": { + "type": "string" + }, + "verification": { + "type": "string" + }, + "verify": { + "type": "string" + } + }, + "required": [ + "agent_prompt", + "hint", + "verification", + "verify", + "docs", + "mcp", + "benefits" + ], + "type": "object" + }, + "contact": { + "type": [ + "string", + "null" + ] + }, + "country": { + "description": "Published or declared address country preferred; domain/hosting fallback. Null when unknown. Not independently verified headquarters or markets served.", + "type": [ + "string", + "null" + ] + }, + "country_checked_at": { + "type": [ + "string", + "null" + ] + }, + "country_evidence": { + "items": { + "additionalProperties": false, + "properties": { + "checked_at": { + "type": [ + "string", + "null" + ] + }, + "country": { + "type": "string" + }, + "method": { + "type": "string" + }, + "source": { + "type": "string" + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "country", + "source", + "url", + "checked_at", + "method" + ], + "type": "object" + }, + "type": "array" + }, + "country_source": { + "description": "owner: owner-declared address; structured_data/contact_page: site-published address; tld: domain inference; ip: non-CDN hosting inference; cdn: location withheld. No source independently verifies headquarters.", + "enum": [ + "owner", + "structured_data", + "contact_page", + "tld", + "ip", + "cdn", + null + ], + "type": [ + "string", + "null" + ] + }, + "country_status": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "domain": { + "type": "string" + }, + "domain_country": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "items": { + "additionalProperties": true, + "properties": { + "excerpt": { + "type": [ + "string", + "null" + ] + }, + "source_url": { + "type": [ + "string", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" + }, + "type": "array" + }, + "first_seen": { + "type": [ + "string", + "null" + ] + }, + "hosting_country": { + "type": [ + "string", + "null" + ] + }, + "inferred_tags": { + "description": "Topic tags inferred by the AI classifier from the site text.", + "items": { + "type": "string" + }, + "type": "array" + }, + "language": { + "type": [ + "string", + "null" + ] + }, + "last_checked": { + "type": [ + "string", + "null" + ] + }, + "links": { + "type": [ + "integer", + "null" + ] + }, + "llms_full_txt": { + "type": [ + "string", + "null" + ] + }, + "llms_txt": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_cached": { + "type": "string" + }, + "match_score": { + "type": "number" + }, + "nested_llms_txt": { + "items": { + "type": "string" + }, + "type": "array" + }, + "platform_generated": { + "type": [ + "boolean", + "null" + ] + }, + "publisher_country": { + "type": [ + "string", + "null" + ] + }, + "publisher_country_source": { + "enum": [ + "owner", + "structured_data", + "contact_page", + null + ], + "type": [ + "string", + "null" + ] + }, + "rank": { + "type": [ + "integer", + "null" + ] + }, + "registered_at": { + "type": [ + "string", + "null" + ] + }, + "section_headings": { + "items": { + "additionalProperties": false, + "properties": { + "format": { + "enum": [ + "markdown", + "loose", + "setext", + "indexed_link" + ] + }, + "key": { + "type": "string" + }, + "label": { + "type": "string" + }, + "level": { + "type": "integer" + }, + "line": { + "type": [ + "integer", + "null" + ] + }, + "path": { + "type": "string" + }, + "source_url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "key", + "label", + "level", + "path", + "line", + "format" + ], + "type": "object" + }, + "type": "array" + }, + "section_indexed_at": { + "type": [ + "string", + "null" + ] + }, + "section_keys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "section_partial": { + "type": "boolean" + }, + "sections": { + "type": [ + "integer", + "null" + ] + }, + "status": { + "enum": [ + "pending", + "valid", + "invalid", + "unreachable" + ], + "type": "string" + }, + "summary": { + "type": [ + "string", + "null" + ] + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tier": { + "enum": [ + "featured", + "listed", + "unlisted", + "rejected", + null + ], + "type": [ + "string", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "verified": { + "type": "boolean" + }, + "verified_at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "domain", + "status", + "tier", + "authority", + "verified", + "title", + "summary", + "llms_txt", + "llms_full_txt", + "last_checked", + "agent_terms", + "categories", + "capabilities" + ], + "type": "object" + }, + { + "additionalProperties": true, + "properties": { + "detail": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "error": { + "type": "string" + }, + "hint": { + "type": "string" + }, + "retry_after_seconds": { + "type": "integer" + } + }, + "required": [ + "error" + ], + "type": "object" + } +]
- Changed
recrawl_site1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "agent_summary": { - "type": [ - "string", - "null" - ] - }, - "agent_terms": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "attribution": { - "enum": [ - "required", - "appreciated", - "none" - ], - "type": "string" - }, - "attribution_text": { - "maxLength": 200, - "type": "string" - }, - "automated_access": { - "enum": [ - "welcome", - "limited", - "ask", - "not_allowed" - ], - "type": "string" - }, - "notes": { - "maxLength": 500, - "type": "string" - }, - "pricing": { - "enum": [ - "free", - "freemium", - "paid" - ], - "type": "string" - }, - "pricing_url": { - "type": "string" - }, - "rate_limit": { - "maxLength": 100, - "type": "string" - }, - "terms_url": { - "type": "string" - } - }, - "required": [], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "agent_uses": { - "items": { - "enum": [ - "read_docs", - "call_api", - "buy", - "book", - "search_content", - "download_data", - "contact_support" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "agentic": { - "anyOf": [ - { - "description": "What an agent can do with the site: interface (API or MCP endpoint to call), transactional (buy or book), documentation (docs to read), informational (for people).", - "enum": [ - "interface", - "transactional", - "documentation", - "informational" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "audience": { - "anyOf": [ - { - "enum": [ - "developers", - "consumers", - "business", - "mixed" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "authority": { - "type": [ - "integer", - "null" - ] - }, - "badge": { - "type": "string" - }, - "capabilities": { - "description": "Publisher-declared capabilities. An MCP declaration does not prove availability or protocol compatibility.", - "items": { - "enum": [ - "mcp" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "capability_evidence": { - "items": { - "additionalProperties": false, - "properties": { - "id": { - "const": "mcp" - }, - "source_url": { - "type": "string" - }, - "status": { - "const": "publisher_declared" - }, - "url": { - "type": "string" - } - }, - "required": [ - "id", - "url", - "source_url", - "status" - ], - "type": "object" - }, - "type": "array" - }, - "categories": { - "description": "Inferred topic IDs from publisher metadata; empty means unclassified.", - "items": { - "enum": [ - "ai-ml", - "developer-tools", - "infrastructure", - "data-analytics", - "cybersecurity", - "finance-payments", - "ecommerce", - "productivity", - "marketing", - "education", - "healthcare", - "media", - "design", - "gaming", - "travel", - "community", - "legal", - "recruiting-careers", - "industrial-manufacturing", - "real-estate", - "arts-culture", - "sports-fitness", - "food-dining", - "automotive", - "government-public-services", - "science-research", - "ai-agents-mcp", - "apis-sdks", - "databases", - "auth-identity", - "devops-observability", - "no-code-automation", - "communications", - "crypto-web3", - "saas-business-software", - "open-source", - "documentation-reference", - "fashion-beauty", - "home-garden", - "consumer-electronics", - "pets", - "insurance", - "telecom", - "logistics-shipping", - "energy-utilities", - "construction-architecture", - "agriculture", - "nonprofit", - "events", - "personal-blog", - "entertainment", - "local-business" - ], - "type": "string" - }, - "maxItems": 8, - "type": "array", - "uniqueItems": true - }, - "categorized_at": { - "type": [ - "string", - "null" - ] - }, - "category_evidence": { - "items": { - "additionalProperties": false, - "properties": { - "confidence": { - "description": "Deterministic rule strength, not a calibrated probability.", - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "evidence": { - "items": { - "type": "string" - }, - "type": "array" - }, - "id": { - "enum": [ - "ai-ml", - "developer-tools", - "infrastructure", - "data-analytics", - "cybersecurity", - "finance-payments", - "ecommerce", - "productivity", - "marketing", - "education", - "healthcare", - "media", - "design", - "gaming", - "travel", - "community", - "legal", - "recruiting-careers", - "industrial-manufacturing", - "real-estate", - "arts-culture", - "sports-fitness", - "food-dining", - "automotive", - "government-public-services", - "science-research", - "ai-agents-mcp", - "apis-sdks", - "databases", - "auth-identity", - "devops-observability", - "no-code-automation", - "communications", - "crypto-web3", - "saas-business-software", - "open-source", - "documentation-reference", - "fashion-beauty", - "home-garden", - "consumer-electronics", - "pets", - "insurance", - "telecom", - "logistics-shipping", - "energy-utilities", - "construction-architecture", - "agriculture", - "nonprofit", - "events", - "personal-blog", - "entertainment", - "local-business" - ], - "type": "string" - }, - "source": { - "enum": [ - "publisher_metadata", - "llm" - ] - } - }, - "required": [ - "id", - "confidence", - "evidence", - "source" - ], - "type": "object" - }, - "type": "array" - }, - "category_version": { - "type": [ - "string", - "null" - ] - }, - "claim": { - "additionalProperties": false, - "properties": { - "agent_prompt": { - "type": "string" - }, - "benefits": { - "items": { - "type": "string" - }, - "type": "array" - }, - "docs": { - "type": "string" - }, - "hint": { - "type": "string" - }, - "mcp": { - "type": "string" - }, - "verification": { - "type": "string" - }, - "verify": { - "type": "string" - } - }, - "required": [ - "agent_prompt", - "hint", - "verification", - "verify", - "docs", - "mcp", - "benefits" - ], - "type": "object" - }, - "contact": { - "type": [ - "string", - "null" - ] - }, - "country": { - "description": "Published or declared address country preferred; domain/hosting fallback. Null when unknown. Not independently verified headquarters or markets served.", - "type": [ - "string", - "null" - ] - }, - "country_checked_at": { - "type": [ - "string", - "null" - ] - }, - "country_evidence": { - "items": { - "additionalProperties": false, - "properties": { - "checked_at": { - "type": [ - "string", - "null" - ] - }, - "country": { - "type": "string" - }, - "method": { - "type": "string" - }, - "source": { - "type": "string" - }, - "url": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "country", - "source", - "url", - "checked_at", - "method" - ], - "type": "object" - }, - "type": "array" - }, - "country_source": { - "description": "owner: owner-declared address; structured_data/contact_page: site-published address; tld: domain inference; ip: non-CDN hosting inference; cdn: location withheld. No source independently verifies headquarters.", - "enum": [ - "owner", - "structured_data", - "contact_page", - "tld", - "ip", - "cdn", - null - ], - "type": [ - "string", - "null" - ] - }, - "country_status": { - "type": "string" - }, - "description": { - "type": [ - "string", - "null" - ] - }, - "domain": { - "type": "string" - }, - "domain_country": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "items": { - "additionalProperties": true, - "properties": { - "excerpt": { - "type": [ - "string", - "null" - ] - }, - "source_url": { - "type": [ - "string", - "null" - ] - }, - "title": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url" - ], - "type": "object" - }, - "type": "array" - }, - "first_seen": { - "type": [ - "string", - "null" - ] - }, - "hosting_country": { - "type": [ - "string", - "null" - ] - }, - "inferred_tags": { - "description": "Topic tags inferred by the AI classifier from the site text.", - "items": { - "type": "string" - }, - "type": "array" - }, - "language": { - "type": [ - "string", - "null" - ] - }, - "last_checked": { - "type": [ - "string", - "null" - ] - }, - "links": { - "type": [ - "integer", - "null" - ] - }, - "llms_full_txt": { - "type": [ - "string", - "null" - ] - }, - "llms_txt": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_cached": { - "type": "string" - }, - "match_score": { - "type": "number" - }, - "nested_llms_txt": { - "items": { - "type": "string" - }, - "type": "array" - }, - "platform_generated": { - "type": [ - "boolean", - "null" - ] - }, - "publisher_country": { - "type": [ - "string", - "null" - ] - }, - "publisher_country_source": { - "enum": [ - "owner", - "structured_data", - "contact_page", - null - ], - "type": [ - "string", - "null" - ] - }, - "rank": { - "type": [ - "integer", - "null" - ] - }, - "registered_at": { - "type": [ - "string", - "null" - ] - }, - "section_headings": { - "items": { - "additionalProperties": false, - "properties": { - "format": { - "enum": [ - "markdown", - "loose", - "setext", - "indexed_link" - ] - }, - "key": { - "type": "string" - }, - "label": { - "type": "string" - }, - "level": { - "type": "integer" - }, - "line": { - "type": [ - "integer", - "null" - ] - }, - "path": { - "type": "string" - }, - "source_url": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "key", - "label", - "level", - "path", - "line", - "format" - ], - "type": "object" - }, - "type": "array" - }, - "section_indexed_at": { - "type": [ - "string", - "null" - ] - }, - "section_keys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "section_partial": { - "type": "boolean" - }, - "sections": { - "type": [ - "integer", - "null" - ] - }, - "status": { - "enum": [ - "pending", - "valid", - "invalid", - "unreachable" - ], - "type": "string" - }, - "summary": { - "type": [ - "string", - "null" - ] - }, - "tags": { - "items": { - "type": "string" - }, - "type": "array" - }, - "tier": { - "enum": [ - "featured", - "listed", - "unlisted", - "rejected", - null - ], - "type": [ - "string", - "null" - ] - }, - "title": { - "type": [ - "string", - "null" - ] - }, - "verified": { - "type": "boolean" - }, - "verified_at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "domain", - "status", - "tier", - "authority", - "verified", - "title", - "summary", - "llms_txt", - "llms_full_txt", - "last_checked", - "agent_terms", - "categories", - "capabilities" - ], - "type": "object" - }, - { - "additionalProperties": true, - "properties": { - "detail": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "error": { - "type": "string" - }, - "hint": { - "type": "string" - }, - "retry_after_seconds": { - "type": "integer" - } - }, - "required": [ - "error" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "agent_summary": { + "type": [ + "string", + "null" + ] + }, + "agent_summary_source": { + "description": "Provenance of the effective agent_summary. Domain ownership does not independently validate the description.", + "enum": [ + "verified_owner", + "ai", + null + ], + "type": [ + "string", + "null" + ] + }, + "agent_terms": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "attribution": { + "enum": [ + "required", + "appreciated", + "none" + ], + "type": "string" + }, + "attribution_text": { + "maxLength": 200, + "type": "string" + }, + "automated_access": { + "enum": [ + "welcome", + "limited", + "ask", + "not_allowed" + ], + "type": "string" + }, + "notes": { + "maxLength": 500, + "type": "string" + }, + "pricing": { + "enum": [ + "free", + "freemium", + "paid" + ], + "type": "string" + }, + "pricing_url": { + "type": "string" + }, + "rate_limit": { + "maxLength": 100, + "type": "string" + }, + "terms_url": { + "type": "string" + } + }, + "required": [], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "agent_uses": { + "items": { + "enum": [ + "read_docs", + "call_api", + "buy", + "book", + "search_content", + "download_data", + "contact_support" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "agentic": { + "anyOf": [ + { + "description": "What an agent can do with the site: interface (API or MCP endpoint to call), transactional (buy or book), documentation (docs to read), informational (for people).", + "enum": [ + "interface", + "transactional", + "documentation", + "informational" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "audience": { + "anyOf": [ + { + "enum": [ + "developers", + "consumers", + "business", + "mixed" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "authority": { + "type": [ + "integer", + "null" + ] + }, + "badge": { + "type": "string" + }, + "capabilities": { + "description": "Publisher-declared capabilities. An MCP declaration does not prove availability or protocol compatibility.", + "items": { + "enum": [ + "mcp" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "capability_evidence": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "const": "mcp" + }, + "source_url": { + "type": "string" + }, + "status": { + "const": "publisher_declared" + }, + "url": { + "type": "string" + } + }, + "required": [ + "id", + "url", + "source_url", + "status" + ], + "type": "object" + }, + "type": "array" + }, + "categories": { + "description": "Inferred topic IDs from publisher metadata; empty means unclassified.", + "items": { + "enum": [ + "ai-ml", + "developer-tools", + "infrastructure", + "data-analytics", + "cybersecurity", + "finance-payments", + "ecommerce", + "productivity", + "marketing", + "education", + "healthcare", + "media", + "design", + "gaming", + "travel", + "community", + "legal", + "recruiting-careers", + "industrial-manufacturing", + "real-estate", + "arts-culture", + "sports-fitness", + "food-dining", + "automotive", + "government-public-services", + "science-research", + "ai-agents-mcp", + "apis-sdks", + "databases", + "auth-identity", + "devops-observability", + "no-code-automation", + "communications", + "crypto-web3", + "saas-business-software", + "open-source", + "documentation-reference", + "fashion-beauty", + "home-garden", + "consumer-electronics", + "pets", + "insurance", + "telecom", + "logistics-shipping", + "energy-utilities", + "construction-architecture", + "agriculture", + "nonprofit", + "events", + "personal-blog", + "entertainment", + "local-business" + ], + "type": "string" + }, + "maxItems": 8, + "type": "array", + "uniqueItems": true + }, + "categorized_at": { + "type": [ + "string", + "null" + ] + }, + "category_evidence": { + "items": { + "additionalProperties": false, + "properties": { + "confidence": { + "description": "Deterministic rule strength, not a calibrated probability.", + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "evidence": { + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "enum": [ + "ai-ml", + "developer-tools", + "infrastructure", + "data-analytics", + "cybersecurity", + "finance-payments", + "ecommerce", + "productivity", + "marketing", + "education", + "healthcare", + "media", + "design", + "gaming", + "travel", + "community", + "legal", + "recruiting-careers", + "industrial-manufacturing", + "real-estate", + "arts-culture", + "sports-fitness", + "food-dining", + "automotive", + "government-public-services", + "science-research", + "ai-agents-mcp", + "apis-sdks", + "databases", + "auth-identity", + "devops-observability", + "no-code-automation", + "communications", + "crypto-web3", + "saas-business-software", + "open-source", + "documentation-reference", + "fashion-beauty", + "home-garden", + "consumer-electronics", + "pets", + "insurance", + "telecom", + "logistics-shipping", + "energy-utilities", + "construction-architecture", + "agriculture", + "nonprofit", + "events", + "personal-blog", + "entertainment", + "local-business" + ], + "type": "string" + }, + "source": { + "enum": [ + "publisher_metadata", + "llm" + ] + } + }, + "required": [ + "id", + "confidence", + "evidence", + "source" + ], + "type": "object" + }, + "type": "array" + }, + "category_version": { + "type": [ + "string", + "null" + ] + }, + "claim": { + "additionalProperties": false, + "properties": { + "agent_prompt": { + "type": "string" + }, + "benefits": { + "items": { + "type": "string" + }, + "type": "array" + }, + "docs": { + "type": "string" + }, + "hint": { + "type": "string" + }, + "mcp": { + "type": "string" + }, + "verification": { + "type": "string" + }, + "verify": { + "type": "string" + } + }, + "required": [ + "agent_prompt", + "hint", + "verification", + "verify", + "docs", + "mcp", + "benefits" + ], + "type": "object" + }, + "contact": { + "type": [ + "string", + "null" + ] + }, + "country": { + "description": "Published or declared address country preferred; domain/hosting fallback. Null when unknown. Not independently verified headquarters or markets served.", + "type": [ + "string", + "null" + ] + }, + "country_checked_at": { + "type": [ + "string", + "null" + ] + }, + "country_evidence": { + "items": { + "additionalProperties": false, + "properties": { + "checked_at": { + "type": [ + "string", + "null" + ] + }, + "country": { + "type": "string" + }, + "method": { + "type": "string" + }, + "source": { + "type": "string" + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "country", + "source", + "url", + "checked_at", + "method" + ], + "type": "object" + }, + "type": "array" + }, + "country_source": { + "description": "owner: owner-declared address; structured_data/contact_page: site-published address; tld: domain inference; ip: non-CDN hosting inference; cdn: location withheld. No source independently verifies headquarters.", + "enum": [ + "owner", + "structured_data", + "contact_page", + "tld", + "ip", + "cdn", + null + ], + "type": [ + "string", + "null" + ] + }, + "country_status": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "domain": { + "type": "string" + }, + "domain_country": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "items": { + "additionalProperties": true, + "properties": { + "excerpt": { + "type": [ + "string", + "null" + ] + }, + "source_url": { + "type": [ + "string", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" + }, + "type": "array" + }, + "first_seen": { + "type": [ + "string", + "null" + ] + }, + "hosting_country": { + "type": [ + "string", + "null" + ] + }, + "inferred_tags": { + "description": "Topic tags inferred by the AI classifier from the site text.", + "items": { + "type": "string" + }, + "type": "array" + }, + "language": { + "type": [ + "string", + "null" + ] + }, + "last_checked": { + "type": [ + "string", + "null" + ] + }, + "links": { + "type": [ + "integer", + "null" + ] + }, + "llms_full_txt": { + "type": [ + "string", + "null" + ] + }, + "llms_txt": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_cached": { + "type": "string" + }, + "match_score": { + "type": "number" + }, + "nested_llms_txt": { + "items": { + "type": "string" + }, + "type": "array" + }, + "platform_generated": { + "type": [ + "boolean", + "null" + ] + }, + "publisher_country": { + "type": [ + "string", + "null" + ] + }, + "publisher_country_source": { + "enum": [ + "owner", + "structured_data", + "contact_page", + null + ], + "type": [ + "string", + "null" + ] + }, + "rank": { + "type": [ + "integer", + "null" + ] + }, + "registered_at": { + "type": [ + "string", + "null" + ] + }, + "section_headings": { + "items": { + "additionalProperties": false, + "properties": { + "format": { + "enum": [ + "markdown", + "loose", + "setext", + "indexed_link" + ] + }, + "key": { + "type": "string" + }, + "label": { + "type": "string" + }, + "level": { + "type": "integer" + }, + "line": { + "type": [ + "integer", + "null" + ] + }, + "path": { + "type": "string" + }, + "source_url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "key", + "label", + "level", + "path", + "line", + "format" + ], + "type": "object" + }, + "type": "array" + }, + "section_indexed_at": { + "type": [ + "string", + "null" + ] + }, + "section_keys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "section_partial": { + "type": "boolean" + }, + "sections": { + "type": [ + "integer", + "null" + ] + }, + "status": { + "enum": [ + "pending", + "valid", + "invalid", + "unreachable" + ], + "type": "string" + }, + "summary": { + "type": [ + "string", + "null" + ] + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tier": { + "enum": [ + "featured", + "listed", + "unlisted", + "rejected", + null + ], + "type": [ + "string", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "verified": { + "type": "boolean" + }, + "verified_at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "domain", + "status", + "tier", + "authority", + "verified", + "title", + "summary", + "llms_txt", + "llms_full_txt", + "last_checked", + "agent_terms", + "categories", + "capabilities" + ], + "type": "object" + }, + { + "additionalProperties": true, + "properties": { + "detail": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "error": { + "type": "string" + }, + "hint": { + "type": "string" + }, + "retry_after_seconds": { + "type": "integer" + } + }, + "required": [ + "error" + ], + "type": "object" + } +]
- Changed
resolve1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "alternatives": { - "items": { - "additionalProperties": false, - "properties": { - "authority": { - "type": [ - "integer", - "null" - ] - }, - "domain": { - "type": "string" - }, - "llms_txt": { - "type": [ - "string", - "null" - ] - }, - "match_score": { - "type": "number" - }, - "tier": { - "enum": [ - "featured", - "listed", - "unlisted", - "rejected", - null - ], - "type": [ - "string", - "null" - ] - }, - "title": { - "type": [ - "string", - "null" - ] - }, - "verified": { - "type": "boolean" - } - }, - "required": [ - "domain", - "title", - "authority", - "tier", - "verified", - "llms_txt" - ], - "type": "object" - }, - "type": "array" - }, - "best": { - "additionalProperties": false, - "properties": { - "agent_summary": { - "type": [ - "string", - "null" - ] - }, - "agent_terms": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "attribution": { - "enum": [ - "required", - "appreciated", - "none" - ], - "type": "string" - }, - "attribution_text": { - "maxLength": 200, - "type": "string" - }, - "automated_access": { - "enum": [ - "welcome", - "limited", - "ask", - "not_allowed" - ], - "type": "string" - }, - "notes": { - "maxLength": 500, - "type": "string" - }, - "pricing": { - "enum": [ - "free", - "freemium", - "paid" - ], - "type": "string" - }, - "pricing_url": { - "type": "string" - }, - "rate_limit": { - "maxLength": 100, - "type": "string" - }, - "terms_url": { - "type": "string" - } - }, - "required": [], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "agent_uses": { - "items": { - "enum": [ - "read_docs", - "call_api", - "buy", - "book", - "search_content", - "download_data", - "contact_support" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "agentic": { - "anyOf": [ - { - "description": "What an agent can do with the site: interface (API or MCP endpoint to call), transactional (buy or book), documentation (docs to read), informational (for people).", - "enum": [ - "interface", - "transactional", - "documentation", - "informational" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "audience": { - "anyOf": [ - { - "enum": [ - "developers", - "consumers", - "business", - "mixed" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "authority": { - "type": [ - "integer", - "null" - ] - }, - "badge": { - "type": "string" - }, - "capabilities": { - "description": "Publisher-declared capabilities. An MCP declaration does not prove availability or protocol compatibility.", - "items": { - "enum": [ - "mcp" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "capability_evidence": { - "items": { - "additionalProperties": false, - "properties": { - "id": { - "const": "mcp" - }, - "source_url": { - "type": "string" - }, - "status": { - "const": "publisher_declared" - }, - "url": { - "type": "string" - } - }, - "required": [ - "id", - "url", - "source_url", - "status" - ], - "type": "object" - }, - "type": "array" - }, - "categories": { - "description": "Inferred topic IDs from publisher metadata; empty means unclassified.", - "items": { - "enum": [ - "ai-ml", - "developer-tools", - "infrastructure", - "data-analytics", - "cybersecurity", - "finance-payments", - "ecommerce", - "productivity", - "marketing", - "education", - "healthcare", - "media", - "design", - "gaming", - "travel", - "community", - "legal", - "recruiting-careers", - "industrial-manufacturing", - "real-estate", - "arts-culture", - "sports-fitness", - "food-dining", - "automotive", - "government-public-services", - "science-research", - "ai-agents-mcp", - "apis-sdks", - "databases", - "auth-identity", - "devops-observability", - "no-code-automation", - "communications", - "crypto-web3", - "saas-business-software", - "open-source", - "documentation-reference", - "fashion-beauty", - "home-garden", - "consumer-electronics", - "pets", - "insurance", - "telecom", - "logistics-shipping", - "energy-utilities", - "construction-architecture", - "agriculture", - "nonprofit", - "events", - "personal-blog", - "entertainment", - "local-business" - ], - "type": "string" - }, - "maxItems": 8, - "type": "array", - "uniqueItems": true - }, - "categorized_at": { - "type": [ - "string", - "null" - ] - }, - "category_evidence": { - "items": { - "additionalProperties": false, - "properties": { - "confidence": { - "description": "Deterministic rule strength, not a calibrated probability.", - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "evidence": { - "items": { - "type": "string" - }, - "type": "array" - }, - "id": { - "enum": [ - "ai-ml", - "developer-tools", - "infrastructure", - "data-analytics", - "cybersecurity", - "finance-payments", - "ecommerce", - "productivity", - "marketing", - "education", - "healthcare", - "media", - "design", - "gaming", - "travel", - "community", - "legal", - "recruiting-careers", - "industrial-manufacturing", - "real-estate", - "arts-culture", - "sports-fitness", - "food-dining", - "automotive", - "government-public-services", - "science-research", - "ai-agents-mcp", - "apis-sdks", - "databases", - "auth-identity", - "devops-observability", - "no-code-automation", - "communications", - "crypto-web3", - "saas-business-software", - "open-source", - "documentation-reference", - "fashion-beauty", - "home-garden", - "consumer-electronics", - "pets", - "insurance", - "telecom", - "logistics-shipping", - "energy-utilities", - "construction-architecture", - "agriculture", - "nonprofit", - "events", - "personal-blog", - "entertainment", - "local-business" - ], - "type": "string" - }, - "source": { - "enum": [ - "publisher_metadata", - "llm" - ] - } - }, - "required": [ - "id", - "confidence", - "evidence", - "source" - ], - "type": "object" - }, - "type": "array" - }, - "category_version": { - "type": [ - "string", - "null" - ] - }, - "claim": { - "additionalProperties": false, - "properties": { - "agent_prompt": { - "type": "string" - }, - "benefits": { - "items": { - "type": "string" - }, - "type": "array" - }, - "docs": { - "type": "string" - }, - "hint": { - "type": "string" - }, - "mcp": { - "type": "string" - }, - "verification": { - "type": "string" - }, - "verify": { - "type": "string" - } - }, - "required": [ - "agent_prompt", - "hint", - "verification", - "verify", - "docs", - "mcp", - "benefits" - ], - "type": "object" - }, - "contact": { - "type": [ - "string", - "null" - ] - }, - "country": { - "description": "Published or declared address country preferred; domain/hosting fallback. Null when unknown. Not independently verified headquarters or markets served.", - "type": [ - "string", - "null" - ] - }, - "country_checked_at": { - "type": [ - "string", - "null" - ] - }, - "country_evidence": { - "items": { - "additionalProperties": false, - "properties": { - "checked_at": { - "type": [ - "string", - "null" - ] - }, - "country": { - "type": "string" - }, - "method": { - "type": "string" - }, - "source": { - "type": "string" - }, - "url": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "country", - "source", - "url", - "checked_at", - "method" - ], - "type": "object" - }, - "type": "array" - }, - "country_source": { - "description": "owner: owner-declared address; structured_data/contact_page: site-published address; tld: domain inference; ip: non-CDN hosting inference; cdn: location withheld. No source independently verifies headquarters.", - "enum": [ - "owner", - "structured_data", - "contact_page", - "tld", - "ip", - "cdn", - null - ], - "type": [ - "string", - "null" - ] - }, - "country_status": { - "type": "string" - }, - "description": { - "type": [ - "string", - "null" - ] - }, - "domain": { - "type": "string" - }, - "domain_country": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "items": { - "additionalProperties": true, - "properties": { - "excerpt": { - "type": [ - "string", - "null" - ] - }, - "source_url": { - "type": [ - "string", - "null" - ] - }, - "title": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url" - ], - "type": "object" - }, - "type": "array" - }, - "first_seen": { - "type": [ - "string", - "null" - ] - }, - "hosting_country": { - "type": [ - "string", - "null" - ] - }, - "inferred_tags": { - "description": "Topic tags inferred by the AI classifier from the site text.", - "items": { - "type": "string" - }, - "type": "array" - }, - "language": { - "type": [ - "string", - "null" - ] - }, - "last_checked": { - "type": [ - "string", - "null" - ] - }, - "links": { - "type": [ - "integer", - "null" - ] - }, - "llms_full_txt": { - "type": [ - "string", - "null" - ] - }, - "llms_txt": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_cached": { - "type": "string" - }, - "match_score": { - "type": "number" - }, - "nested_llms_txt": { - "items": { - "type": "string" - }, - "type": "array" - }, - "platform_generated": { - "type": [ - "boolean", - "null" - ] - }, - "publisher_country": { - "type": [ - "string", - "null" - ] - }, - "publisher_country_source": { - "enum": [ - "owner", - "structured_data", - "contact_page", - null - ], - "type": [ - "string", - "null" - ] - }, - "rank": { - "type": [ - "integer", - "null" - ] - }, - "registered_at": { - "type": [ - "string", - "null" - ] - }, - "section_headings": { - "items": { - "additionalProperties": false, - "properties": { - "format": { - "enum": [ - "markdown", - "loose", - "setext", - "indexed_link" - ] - }, - "key": { - "type": "string" - }, - "label": { - "type": "string" - }, - "level": { - "type": "integer" - }, - "line": { - "type": [ - "integer", - "null" - ] - }, - "path": { - "type": "string" - }, - "source_url": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "key", - "label", - "level", - "path", - "line", - "format" - ], - "type": "object" - }, - "type": "array" - }, - "section_indexed_at": { - "type": [ - "string", - "null" - ] - }, - "section_keys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "section_partial": { - "type": "boolean" - }, - "sections": { - "type": [ - "integer", - "null" - ] - }, - "status": { - "enum": [ - "pending", - "valid", - "invalid", - "unreachable" - ], - "type": "string" - }, - "summary": { - "type": [ - "string", - "null" - ] - }, - "tags": { - "items": { - "type": "string" - }, - "type": "array" - }, - "tier": { - "enum": [ - "featured", - "listed", - "unlisted", - "rejected", - null - ], - "type": [ - "string", - "null" - ] - }, - "title": { - "type": [ - "string", - "null" - ] - }, - "verified": { - "type": "boolean" - }, - "verified_at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "domain", - "status", - "tier", - "authority", - "verified", - "title", - "summary", - "llms_txt", - "llms_full_txt", - "last_checked", - "agent_terms", - "categories", - "capabilities" - ], - "type": "object" - }, - "health": { - "additionalProperties": false, - "properties": { - "authority": { - "type": [ - "integer", - "null" - ] - }, - "checked_minutes_ago": { - "type": [ - "integer", - "null" - ] - }, - "content_hash": { - "type": [ - "string", - "null" - ] - }, - "documentation_indexed_at": { - "type": [ - "string", - "null" - ] - }, - "http_status": { - "type": [ - "integer", - "null" - ] - }, - "last_checked": { - "type": [ - "string", - "null" - ] - }, - "last_valid": { - "type": [ - "string", - "null" - ] - }, - "live_checked": { - "type": "boolean" - }, - "max_age_seconds": { - "minimum": 0, - "type": "integer" - }, - "ok": { - "type": "boolean" - }, - "recheck_queued": { - "type": "boolean" - }, - "stale": { - "type": "boolean" - }, - "status": { - "enum": [ - "pending", - "valid", - "invalid", - "unreachable" - ], - "type": "string" - }, - "tier": { - "enum": [ - "featured", - "listed", - "unlisted", - "rejected", - null - ], - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "ok", - "status", - "tier", - "authority", - "last_checked", - "checked_minutes_ago", - "stale", - "max_age_seconds", - "live_checked", - "http_status", - "last_valid", - "content_hash" - ], - "type": "object" - }, - "match": { - "additionalProperties": false, - "properties": { - "reason": { - "type": "string" - }, - "strength": { - "enum": [ - "domain", - "strong", - "weak" - ], - "type": "string" - } - }, - "required": [ - "strength", - "reason" - ], - "type": "object" - }, - "mode": { - "enum": [ - "domain", - "topic" - ], - "type": "string" - }, - "provenance": { - "additionalProperties": false, - "properties": { - "excerpts": { - "const": "publisher_link_metadata" - }, - "health": { - "enum": [ - "live_check", - "stored_crawl" - ], - "type": "string" - }, - "reranked": { - "type": "boolean" - }, - "selection": { - "enum": [ - "directory", - "directory+semantic" - ] - }, - "terms": { - "enum": [ - "owner_stated", - "unknown" - ], - "type": "string" - }, - "verification": { - "const": "domain_ownership" - } - }, - "required": [ - "selection", - "verification", - "terms", - "excerpts", - "health" - ], - "type": "object" - }, - "query": { - "type": "string" - }, - "read": { - "additionalProperties": false, - "properties": { - "llms_full_txt": { - "type": [ - "string", - "null" - ] - }, - "llms_txt": { - "type": [ - "string", - "null" - ] - }, - "nested_llms_txt": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "llms_txt", - "llms_full_txt", - "nested_llms_txt" - ], - "type": "object" - }, - "sources": { - "items": { - "additionalProperties": false, - "properties": { - "checked_at": { - "type": [ - "string", - "null" - ] - }, - "content_hash": { - "type": [ - "string", - "null" - ] - }, - "excerpt": { - "type": [ - "string", - "null" - ] - }, - "match_score": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "section": { - "type": [ - "string", - "null" - ] - }, - "source_url": { - "type": "string" - }, - "title": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "title", - "excerpt", - "section", - "source_url", - "match_score", - "checked_at", - "content_hash" - ], - "type": "object" - }, - "type": "array" - }, - "terms": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "attribution": { - "enum": [ - "required", - "appreciated", - "none" - ], - "type": "string" - }, - "attribution_text": { - "maxLength": 200, - "type": "string" - }, - "automated_access": { - "enum": [ - "welcome", - "limited", - "ask", - "not_allowed" - ], - "type": "string" - }, - "notes": { - "maxLength": 500, - "type": "string" - }, - "pricing": { - "enum": [ - "free", - "freemium", - "paid" - ], - "type": "string" - }, - "pricing_url": { - "type": "string" - }, - "rate_limit": { - "maxLength": 100, - "type": "string" - }, - "terms_url": { - "type": "string" - } - }, - "required": [], - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "query", - "mode", - "best", - "read", - "terms", - "health", - "sources", - "match", - "provenance", - "alternatives" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "best": { - "type": "null" - }, - "error": { - "type": "string" - }, - "health": { - "additionalProperties": false, - "properties": { - "authority": { - "type": [ - "integer", - "null" - ] - }, - "checked_minutes_ago": { - "type": [ - "integer", - "null" - ] - }, - "content_hash": { - "type": [ - "string", - "null" - ] - }, - "documentation_indexed_at": { - "type": [ - "string", - "null" - ] - }, - "http_status": { - "type": [ - "integer", - "null" - ] - }, - "last_checked": { - "type": [ - "string", - "null" - ] - }, - "last_valid": { - "type": [ - "string", - "null" - ] - }, - "live_checked": { - "type": "boolean" - }, - "max_age_seconds": { - "minimum": 0, - "type": "integer" - }, - "ok": { - "type": "boolean" - }, - "recheck_queued": { - "type": "boolean" - }, - "stale": { - "type": "boolean" - }, - "status": { - "enum": [ - "pending", - "valid", - "invalid", - "unreachable" - ], - "type": "string" - }, - "tier": { - "enum": [ - "featured", - "listed", - "unlisted", - "rejected", - null - ], - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "ok", - "status", - "tier", - "authority", - "last_checked", - "checked_minutes_ago", - "stale", - "max_age_seconds", - "live_checked", - "http_status", - "last_valid", - "content_hash" - ], - "type": "object" - }, - "match": { - "additionalProperties": false, - "properties": { - "reason": { - "type": "string" - }, - "strength": { - "enum": [ - "domain", - "strong", - "weak" - ], - "type": "string" - } - }, - "required": [ - "strength", - "reason" - ], - "type": "object" - }, - "mode": { - "enum": [ - "domain", - "topic" - ], - "type": "string" - }, - "query": { - "type": "string" - }, - "sources": { - "items": { - "additionalProperties": false, - "properties": { - "checked_at": { - "type": [ - "string", - "null" - ] - }, - "content_hash": { - "type": [ - "string", - "null" - ] - }, - "excerpt": { - "type": [ - "string", - "null" - ] - }, - "match_score": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "section": { - "type": [ - "string", - "null" - ] - }, - "source_url": { - "type": "string" - }, - "title": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "title", - "excerpt", - "section", - "source_url", - "match_score", - "checked_at", - "content_hash" - ], - "type": "object" - }, - "type": "array" - }, - "suggest": { - "additionalProperties": false, - "properties": { - "browse": { - "type": "string" - }, - "check": { - "type": "string" - }, - "hint": { - "type": "string" - }, - "register": { - "type": "string" - }, - "search": { - "type": "string" - } - }, - "required": [ - "hint" - ], - "type": "object" - } - }, - "required": [ - "query", - "mode", - "best", - "suggest" - ], - "type": "object" - }, - { - "additionalProperties": true, - "properties": { - "detail": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "error": { - "type": "string" - }, - "hint": { - "type": "string" - }, - "retry_after_seconds": { - "type": "integer" - } - }, - "required": [ - "error" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "alternatives": { + "items": { + "additionalProperties": false, + "properties": { + "authority": { + "type": [ + "integer", + "null" + ] + }, + "domain": { + "type": "string" + }, + "llms_txt": { + "type": [ + "string", + "null" + ] + }, + "match_score": { + "type": "number" + }, + "tier": { + "enum": [ + "featured", + "listed", + "unlisted", + "rejected", + null + ], + "type": [ + "string", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "verified": { + "type": "boolean" + } + }, + "required": [ + "domain", + "title", + "authority", + "tier", + "verified", + "llms_txt" + ], + "type": "object" + }, + "type": "array" + }, + "best": { + "additionalProperties": false, + "properties": { + "agent_summary": { + "type": [ + "string", + "null" + ] + }, + "agent_summary_source": { + "description": "Provenance of the effective agent_summary. Domain ownership does not independently validate the description.", + "enum": [ + "verified_owner", + "ai", + null + ], + "type": [ + "string", + "null" + ] + }, + "agent_terms": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "attribution": { + "enum": [ + "required", + "appreciated", + "none" + ], + "type": "string" + }, + "attribution_text": { + "maxLength": 200, + "type": "string" + }, + "automated_access": { + "enum": [ + "welcome", + "limited", + "ask", + "not_allowed" + ], + "type": "string" + }, + "notes": { + "maxLength": 500, + "type": "string" + }, + "pricing": { + "enum": [ + "free", + "freemium", + "paid" + ], + "type": "string" + }, + "pricing_url": { + "type": "string" + }, + "rate_limit": { + "maxLength": 100, + "type": "string" + }, + "terms_url": { + "type": "string" + } + }, + "required": [], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "agent_uses": { + "items": { + "enum": [ + "read_docs", + "call_api", + "buy", + "book", + "search_content", + "download_data", + "contact_support" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "agentic": { + "anyOf": [ + { + "description": "What an agent can do with the site: interface (API or MCP endpoint to call), transactional (buy or book), documentation (docs to read), informational (for people).", + "enum": [ + "interface", + "transactional", + "documentation", + "informational" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "audience": { + "anyOf": [ + { + "enum": [ + "developers", + "consumers", + "business", + "mixed" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "authority": { + "type": [ + "integer", + "null" + ] + }, + "badge": { + "type": "string" + }, + "capabilities": { + "description": "Publisher-declared capabilities. An MCP declaration does not prove availability or protocol compatibility.", + "items": { + "enum": [ + "mcp" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "capability_evidence": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "const": "mcp" + }, + "source_url": { + "type": "string" + }, + "status": { + "const": "publisher_declared" + }, + "url": { + "type": "string" + } + }, + "required": [ + "id", + "url", + "source_url", + "status" + ], + "type": "object" + }, + "type": "array" + }, + "categories": { + "description": "Inferred topic IDs from publisher metadata; empty means unclassified.", + "items": { + "enum": [ + "ai-ml", + "developer-tools", + "infrastructure", + "data-analytics", + "cybersecurity", + "finance-payments", + "ecommerce", + "productivity", + "marketing", + "education", + "healthcare", + "media", + "design", + "gaming", + "travel", + "community", + "legal", + "recruiting-careers", + "industrial-manufacturing", + "real-estate", + "arts-culture", + "sports-fitness", + "food-dining", + "automotive", + "government-public-services", + "science-research", + "ai-agents-mcp", + "apis-sdks", + "databases", + "auth-identity", + "devops-observability", + "no-code-automation", + "communications", + "crypto-web3", + "saas-business-software", + "open-source", + "documentation-reference", + "fashion-beauty", + "home-garden", + "consumer-electronics", + "pets", + "insurance", + "telecom", + "logistics-shipping", + "energy-utilities", + "construction-architecture", + "agriculture", + "nonprofit", + "events", + "personal-blog", + "entertainment", + "local-business" + ], + "type": "string" + }, + "maxItems": 8, + "type": "array", + "uniqueItems": true + }, + "categorized_at": { + "type": [ + "string", + "null" + ] + }, + "category_evidence": { + "items": { + "additionalProperties": false, + "properties": { + "confidence": { + "description": "Deterministic rule strength, not a calibrated probability.", + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "evidence": { + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "enum": [ + "ai-ml", + "developer-tools", + "infrastructure", + "data-analytics", + "cybersecurity", + "finance-payments", + "ecommerce", + "productivity", + "marketing", + "education", + "healthcare", + "media", + "design", + "gaming", + "travel", + "community", + "legal", + "recruiting-careers", + "industrial-manufacturing", + "real-estate", + "arts-culture", + "sports-fitness", + "food-dining", + "automotive", + "government-public-services", + "science-research", + "ai-agents-mcp", + "apis-sdks", + "databases", + "auth-identity", + "devops-observability", + "no-code-automation", + "communications", + "crypto-web3", + "saas-business-software", + "open-source", + "documentation-reference", + "fashion-beauty", + "home-garden", + "consumer-electronics", + "pets", + "insurance", + "telecom", + "logistics-shipping", + "energy-utilities", + "construction-architecture", + "agriculture", + "nonprofit", + "events", + "personal-blog", + "entertainment", + "local-business" + ], + "type": "string" + }, + "source": { + "enum": [ + "publisher_metadata", + "llm" + ] + } + }, + "required": [ + "id", + "confidence", + "evidence", + "source" + ], + "type": "object" + }, + "type": "array" + }, + "category_version": { + "type": [ + "string", + "null" + ] + }, + "claim": { + "additionalProperties": false, + "properties": { + "agent_prompt": { + "type": "string" + }, + "benefits": { + "items": { + "type": "string" + }, + "type": "array" + }, + "docs": { + "type": "string" + }, + "hint": { + "type": "string" + }, + "mcp": { + "type": "string" + }, + "verification": { + "type": "string" + }, + "verify": { + "type": "string" + } + }, + "required": [ + "agent_prompt", + "hint", + "verification", + "verify", + "docs", + "mcp", + "benefits" + ], + "type": "object" + }, + "contact": { + "type": [ + "string", + "null" + ] + }, + "country": { + "description": "Published or declared address country preferred; domain/hosting fallback. Null when unknown. Not independently verified headquarters or markets served.", + "type": [ + "string", + "null" + ] + }, + "country_checked_at": { + "type": [ + "string", + "null" + ] + }, + "country_evidence": { + "items": { + "additionalProperties": false, + "properties": { + "checked_at": { + "type": [ + "string", + "null" + ] + }, + "country": { + "type": "string" + }, + "method": { + "type": "string" + }, + "source": { + "type": "string" + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "country", + "source", + "url", + "checked_at", + "method" + ], + "type": "object" + }, + "type": "array" + }, + "country_source": { + "description": "owner: owner-declared address; structured_data/contact_page: site-published address; tld: domain inference; ip: non-CDN hosting inference; cdn: location withheld. No source independently verifies headquarters.", + "enum": [ + "owner", + "structured_data", + "contact_page", + "tld", + "ip", + "cdn", + null + ], + "type": [ + "string", + "null" + ] + }, + "country_status": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "domain": { + "type": "string" + }, + "domain_country": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "items": { + "additionalProperties": true, + "properties": { + "excerpt": { + "type": [ + "string", + "null" + ] + }, + "source_url": { + "type": [ + "string", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" + }, + "type": "array" + }, + "first_seen": { + "type": [ + "string", + "null" + ] + }, + "hosting_country": { + "type": [ + "string", + "null" + ] + }, + "inferred_tags": { + "description": "Topic tags inferred by the AI classifier from the site text.", + "items": { + "type": "string" + }, + "type": "array" + }, + "language": { + "type": [ + "string", + "null" + ] + }, + "last_checked": { + "type": [ + "string", + "null" + ] + }, + "links": { + "type": [ + "integer", + "null" + ] + }, + "llms_full_txt": { + "type": [ + "string", + "null" + ] + }, + "llms_txt": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_cached": { + "type": "string" + }, + "match_score": { + "type": "number" + }, + "nested_llms_txt": { + "items": { + "type": "string" + }, + "type": "array" + }, + "platform_generated": { + "type": [ + "boolean", + "null" + ] + }, + "publisher_country": { + "type": [ + "string", + "null" + ] + }, + "publisher_country_source": { + "enum": [ + "owner", + "structured_data", + "contact_page", + null + ], + "type": [ + "string", + "null" + ] + }, + "rank": { + "type": [ + "integer", + "null" + ] + }, + "registered_at": { + "type": [ + "string", + "null" + ] + }, + "section_headings": { + "items": { + "additionalProperties": false, + "properties": { + "format": { + "enum": [ + "markdown", + "loose", + "setext", + "indexed_link" + ] + }, + "key": { + "type": "string" + }, + "label": { + "type": "string" + }, + "level": { + "type": "integer" + }, + "line": { + "type": [ + "integer", + "null" + ] + }, + "path": { + "type": "string" + }, + "source_url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "key", + "label", + "level", + "path", + "line", + "format" + ], + "type": "object" + }, + "type": "array" + }, + "section_indexed_at": { + "type": [ + "string", + "null" + ] + }, + "section_keys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "section_partial": { + "type": "boolean" + }, + "sections": { + "type": [ + "integer", + "null" + ] + }, + "status": { + "enum": [ + "pending", + "valid", + "invalid", + "unreachable" + ], + "type": "string" + }, + "summary": { + "type": [ + "string", + "null" + ] + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tier": { + "enum": [ + "featured", + "listed", + "unlisted", + "rejected", + null + ], + "type": [ + "string", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "verified": { + "type": "boolean" + }, + "verified_at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "domain", + "status", + "tier", + "authority", + "verified", + "title", + "summary", + "llms_txt", + "llms_full_txt", + "last_checked", + "agent_terms", + "categories", + "capabilities" + ], + "type": "object" + }, + "health": { + "additionalProperties": false, + "properties": { + "authority": { + "type": [ + "integer", + "null" + ] + }, + "checked_minutes_ago": { + "type": [ + "integer", + "null" + ] + }, + "content_hash": { + "type": [ + "string", + "null" + ] + }, + "documentation_indexed_at": { + "type": [ + "string", + "null" + ] + }, + "http_status": { + "type": [ + "integer", + "null" + ] + }, + "last_checked": { + "type": [ + "string", + "null" + ] + }, + "last_valid": { + "type": [ + "string", + "null" + ] + }, + "live_checked": { + "type": "boolean" + }, + "max_age_seconds": { + "minimum": 0, + "type": "integer" + }, + "ok": { + "type": "boolean" + }, + "recheck_queued": { + "type": "boolean" + }, + "stale": { + "type": "boolean" + }, + "status": { + "enum": [ + "pending", + "valid", + "invalid", + "unreachable" + ], + "type": "string" + }, + "tier": { + "enum": [ + "featured", + "listed", + "unlisted", + "rejected", + null + ], + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "ok", + "status", + "tier", + "authority", + "last_checked", + "checked_minutes_ago", + "stale", + "max_age_seconds", + "live_checked", + "http_status", + "last_valid", + "content_hash" + ], + "type": "object" + }, + "match": { + "additionalProperties": false, + "properties": { + "reason": { + "type": "string" + }, + "strength": { + "enum": [ + "domain", + "strong", + "weak" + ], + "type": "string" + } + }, + "required": [ + "strength", + "reason" + ], + "type": "object" + }, + "mode": { + "enum": [ + "domain", + "topic" + ], + "type": "string" + }, + "provenance": { + "additionalProperties": false, + "properties": { + "excerpts": { + "const": "publisher_link_metadata" + }, + "health": { + "enum": [ + "live_check", + "stored_crawl" + ], + "type": "string" + }, + "reranked": { + "type": "boolean" + }, + "selection": { + "enum": [ + "directory", + "directory+semantic" + ] + }, + "terms": { + "enum": [ + "owner_stated", + "unknown" + ], + "type": "string" + }, + "verification": { + "const": "domain_ownership" + } + }, + "required": [ + "selection", + "verification", + "terms", + "excerpts", + "health" + ], + "type": "object" + }, + "query": { + "type": "string" + }, + "read": { + "additionalProperties": false, + "properties": { + "llms_full_txt": { + "type": [ + "string", + "null" + ] + }, + "llms_txt": { + "type": [ + "string", + "null" + ] + }, + "nested_llms_txt": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "llms_txt", + "llms_full_txt", + "nested_llms_txt" + ], + "type": "object" + }, + "sources": { + "items": { + "additionalProperties": false, + "properties": { + "checked_at": { + "type": [ + "string", + "null" + ] + }, + "content_hash": { + "type": [ + "string", + "null" + ] + }, + "excerpt": { + "type": [ + "string", + "null" + ] + }, + "match_score": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "section": { + "type": [ + "string", + "null" + ] + }, + "source_url": { + "type": "string" + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "title", + "excerpt", + "section", + "source_url", + "match_score", + "checked_at", + "content_hash" + ], + "type": "object" + }, + "type": "array" + }, + "terms": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "attribution": { + "enum": [ + "required", + "appreciated", + "none" + ], + "type": "string" + }, + "attribution_text": { + "maxLength": 200, + "type": "string" + }, + "automated_access": { + "enum": [ + "welcome", + "limited", + "ask", + "not_allowed" + ], + "type": "string" + }, + "notes": { + "maxLength": 500, + "type": "string" + }, + "pricing": { + "enum": [ + "free", + "freemium", + "paid" + ], + "type": "string" + }, + "pricing_url": { + "type": "string" + }, + "rate_limit": { + "maxLength": 100, + "type": "string" + }, + "terms_url": { + "type": "string" + } + }, + "required": [], + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "query", + "mode", + "best", + "read", + "terms", + "health", + "sources", + "match", + "provenance", + "alternatives" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "best": { + "type": "null" + }, + "error": { + "type": "string" + }, + "health": { + "additionalProperties": false, + "properties": { + "authority": { + "type": [ + "integer", + "null" + ] + }, + "checked_minutes_ago": { + "type": [ + "integer", + "null" + ] + }, + "content_hash": { + "type": [ + "string", + "null" + ] + }, + "documentation_indexed_at": { + "type": [ + "string", + "null" + ] + }, + "http_status": { + "type": [ + "integer", + "null" + ] + }, + "last_checked": { + "type": [ + "string", + "null" + ] + }, + "last_valid": { + "type": [ + "string", + "null" + ] + }, + "live_checked": { + "type": "boolean" + }, + "max_age_seconds": { + "minimum": 0, + "type": "integer" + }, + "ok": { + "type": "boolean" + }, + "recheck_queued": { + "type": "boolean" + }, + "stale": { + "type": "boolean" + }, + "status": { + "enum": [ + "pending", + "valid", + "invalid", + "unreachable" + ], + "type": "string" + }, + "tier": { + "enum": [ + "featured", + "listed", + "unlisted", + "rejected", + null + ], + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "ok", + "status", + "tier", + "authority", + "last_checked", + "checked_minutes_ago", + "stale", + "max_age_seconds", + "live_checked", + "http_status", + "last_valid", + "content_hash" + ], + "type": "object" + }, + "match": { + "additionalProperties": false, + "properties": { + "reason": { + "type": "string" + }, + "strength": { + "enum": [ + "domain", + "strong", + "weak" + ], + "type": "string" + } + }, + "required": [ + "strength", + "reason" + ], + "type": "object" + }, + "mode": { + "enum": [ + "domain", + "topic" + ], + "type": "string" + }, + "query": { + "type": "string" + }, + "sources": { + "items": { + "additionalProperties": false, + "properties": { + "checked_at": { + "type": [ + "string", + "null" + ] + }, + "content_hash": { + "type": [ + "string", + "null" + ] + }, + "excerpt": { + "type": [ + "string", + "null" + ] + }, + "match_score": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "section": { + "type": [ + "string", + "null" + ] + }, + "source_url": { + "type": "string" + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "title", + "excerpt", + "section", + "source_url", + "match_score", + "checked_at", + "content_hash" + ], + "type": "object" + }, + "type": "array" + }, + "suggest": { + "additionalProperties": false, + "properties": { + "browse": { + "type": "string" + }, + "check": { + "type": "string" + }, + "hint": { + "type": "string" + }, + "register": { + "type": "string" + }, + "search": { + "type": "string" + } + }, + "required": [ + "hint" + ], + "type": "object" + } + }, + "required": [ + "query", + "mode", + "best", + "suggest" + ], + "type": "object" + }, + { + "additionalProperties": true, + "properties": { + "detail": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "error": { + "type": "string" + }, + "hint": { + "type": "string" + }, + "retry_after_seconds": { + "type": "integer" + } + }, + "required": [ + "error" + ], + "type": "object" + } +]
- Changed
search_llms_registry1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "page": { - "type": "integer" - }, - "per_page": { - "type": "integer" - }, - "query": { - "type": "string" - }, - "results": { - "items": { - "additionalProperties": false, - "properties": { - "agent_summary": { - "type": [ - "string", - "null" - ] - }, - "agent_terms": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "attribution": { - "enum": [ - "required", - "appreciated", - "none" - ], - "type": "string" - }, - "attribution_text": { - "maxLength": 200, - "type": "string" - }, - "automated_access": { - "enum": [ - "welcome", - "limited", - "ask", - "not_allowed" - ], - "type": "string" - }, - "notes": { - "maxLength": 500, - "type": "string" - }, - "pricing": { - "enum": [ - "free", - "freemium", - "paid" - ], - "type": "string" - }, - "pricing_url": { - "type": "string" - }, - "rate_limit": { - "maxLength": 100, - "type": "string" - }, - "terms_url": { - "type": "string" - } - }, - "required": [], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "agent_uses": { - "items": { - "enum": [ - "read_docs", - "call_api", - "buy", - "book", - "search_content", - "download_data", - "contact_support" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "agentic": { - "anyOf": [ - { - "description": "What an agent can do with the site: interface (API or MCP endpoint to call), transactional (buy or book), documentation (docs to read), informational (for people).", - "enum": [ - "interface", - "transactional", - "documentation", - "informational" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "audience": { - "anyOf": [ - { - "enum": [ - "developers", - "consumers", - "business", - "mixed" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "authority": { - "type": [ - "integer", - "null" - ] - }, - "badge": { - "type": "string" - }, - "capabilities": { - "description": "Publisher-declared capabilities. An MCP declaration does not prove availability or protocol compatibility.", - "items": { - "enum": [ - "mcp" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "capability_evidence": { - "items": { - "additionalProperties": false, - "properties": { - "id": { - "const": "mcp" - }, - "source_url": { - "type": "string" - }, - "status": { - "const": "publisher_declared" - }, - "url": { - "type": "string" - } - }, - "required": [ - "id", - "url", - "source_url", - "status" - ], - "type": "object" - }, - "type": "array" - }, - "categories": { - "description": "Inferred topic IDs from publisher metadata; empty means unclassified.", - "items": { - "enum": [ - "ai-ml", - "developer-tools", - "infrastructure", - "data-analytics", - "cybersecurity", - "finance-payments", - "ecommerce", - "productivity", - "marketing", - "education", - "healthcare", - "media", - "design", - "gaming", - "travel", - "community", - "legal", - "recruiting-careers", - "industrial-manufacturing", - "real-estate", - "arts-culture", - "sports-fitness", - "food-dining", - "automotive", - "government-public-services", - "science-research", - "ai-agents-mcp", - "apis-sdks", - "databases", - "auth-identity", - "devops-observability", - "no-code-automation", - "communications", - "crypto-web3", - "saas-business-software", - "open-source", - "documentation-reference", - "fashion-beauty", - "home-garden", - "consumer-electronics", - "pets", - "insurance", - "telecom", - "logistics-shipping", - "energy-utilities", - "construction-architecture", - "agriculture", - "nonprofit", - "events", - "personal-blog", - "entertainment", - "local-business" - ], - "type": "string" - }, - "maxItems": 8, - "type": "array", - "uniqueItems": true - }, - "categorized_at": { - "type": [ - "string", - "null" - ] - }, - "category_evidence": { - "items": { - "additionalProperties": false, - "properties": { - "confidence": { - "description": "Deterministic rule strength, not a calibrated probability.", - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "evidence": { - "items": { - "type": "string" - }, - "type": "array" - }, - "id": { - "enum": [ - "ai-ml", - "developer-tools", - "infrastructure", - "data-analytics", - "cybersecurity", - "finance-payments", - "ecommerce", - "productivity", - "marketing", - "education", - "healthcare", - "media", - "design", - "gaming", - "travel", - "community", - "legal", - "recruiting-careers", - "industrial-manufacturing", - "real-estate", - "arts-culture", - "sports-fitness", - "food-dining", - "automotive", - "government-public-services", - "science-research", - "ai-agents-mcp", - "apis-sdks", - "databases", - "auth-identity", - "devops-observability", - "no-code-automation", - "communications", - "crypto-web3", - "saas-business-software", - "open-source", - "documentation-reference", - "fashion-beauty", - "home-garden", - "consumer-electronics", - "pets", - "insurance", - "telecom", - "logistics-shipping", - "energy-utilities", - "construction-architecture", - "agriculture", - "nonprofit", - "events", - "personal-blog", - "entertainment", - "local-business" - ], - "type": "string" - }, - "source": { - "enum": [ - "publisher_metadata", - "llm" - ] - } - }, - "required": [ - "id", - "confidence", - "evidence", - "source" - ], - "type": "object" - }, - "type": "array" - }, - "category_version": { - "type": [ - "string", - "null" - ] - }, - "claim": { - "additionalProperties": false, - "properties": { - "agent_prompt": { - "type": "string" - }, - "benefits": { - "items": { - "type": "string" - }, - "type": "array" - }, - "docs": { - "type": "string" - }, - "hint": { - "type": "string" - }, - "mcp": { - "type": "string" - }, - "verification": { - "type": "string" - }, - "verify": { - "type": "string" - } - }, - "required": [ - "agent_prompt", - "hint", - "verification", - "verify", - "docs", - "mcp", - "benefits" - ], - "type": "object" - }, - "contact": { - "type": [ - "string", - "null" - ] - }, - "country": { - "description": "Published or declared address country preferred; domain/hosting fallback. Null when unknown. Not independently verified headquarters or markets served.", - "type": [ - "string", - "null" - ] - }, - "country_checked_at": { - "type": [ - "string", - "null" - ] - }, - "country_evidence": { - "items": { - "additionalProperties": false, - "properties": { - "checked_at": { - "type": [ - "string", - "null" - ] - }, - "country": { - "type": "string" - }, - "method": { - "type": "string" - }, - "source": { - "type": "string" - }, - "url": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "country", - "source", - "url", - "checked_at", - "method" - ], - "type": "object" - }, - "type": "array" - }, - "country_source": { - "description": "owner: owner-declared address; structured_data/contact_page: site-published address; tld: domain inference; ip: non-CDN hosting inference; cdn: location withheld. No source independently verifies headquarters.", - "enum": [ - "owner", - "structured_data", - "contact_page", - "tld", - "ip", - "cdn", - null - ], - "type": [ - "string", - "null" - ] - }, - "country_status": { - "type": "string" - }, - "description": { - "type": [ - "string", - "null" - ] - }, - "domain": { - "type": "string" - }, - "domain_country": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "items": { - "additionalProperties": true, - "properties": { - "excerpt": { - "type": [ - "string", - "null" - ] - }, - "source_url": { - "type": [ - "string", - "null" - ] - }, - "title": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url" - ], - "type": "object" - }, - "type": "array" - }, - "first_seen": { - "type": [ - "string", - "null" - ] - }, - "hosting_country": { - "type": [ - "string", - "null" - ] - }, - "inferred_tags": { - "description": "Topic tags inferred by the AI classifier from the site text.", - "items": { - "type": "string" - }, - "type": "array" - }, - "language": { - "type": [ - "string", - "null" - ] - }, - "last_checked": { - "type": [ - "string", - "null" - ] - }, - "links": { - "type": [ - "integer", - "null" - ] - }, - "llms_full_txt": { - "type": [ - "string", - "null" - ] - }, - "llms_txt": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_cached": { - "type": "string" - }, - "match_score": { - "type": "number" - }, - "nested_llms_txt": { - "items": { - "type": "string" - }, - "type": "array" - }, - "platform_generated": { - "type": [ - "boolean", - "null" - ] - }, - "publisher_country": { - "type": [ - "string", - "null" - ] - }, - "publisher_country_source": { - "enum": [ - "owner", - "structured_data", - "contact_page", - null - ], - "type": [ - "string", - "null" - ] - }, - "rank": { - "type": [ - "integer", - "null" - ] - }, - "registered_at": { - "type": [ - "string", - "null" - ] - }, - "section_headings": { - "items": { - "additionalProperties": false, - "properties": { - "format": { - "enum": [ - "markdown", - "loose", - "setext", - "indexed_link" - ] - }, - "key": { - "type": "string" - }, - "label": { - "type": "string" - }, - "level": { - "type": "integer" - }, - "line": { - "type": [ - "integer", - "null" - ] - }, - "path": { - "type": "string" - }, - "source_url": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "key", - "label", - "level", - "path", - "line", - "format" - ], - "type": "object" - }, - "type": "array" - }, - "section_indexed_at": { - "type": [ - "string", - "null" - ] - }, - "section_keys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "section_partial": { - "type": "boolean" - }, - "sections": { - "type": [ - "integer", - "null" - ] - }, - "status": { - "enum": [ - "pending", - "valid", - "invalid", - "unreachable" - ], - "type": "string" - }, - "summary": { - "type": [ - "string", - "null" - ] - }, - "tags": { - "items": { - "type": "string" - }, - "type": "array" - }, - "tier": { - "enum": [ - "featured", - "listed", - "unlisted", - "rejected", - null - ], - "type": [ - "string", - "null" - ] - }, - "title": { - "type": [ - "string", - "null" - ] - }, - "verified": { - "type": "boolean" - }, - "verified_at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "domain", - "status", - "tier", - "authority", - "verified", - "title", - "summary", - "llms_txt", - "llms_full_txt", - "last_checked", - "agent_terms", - "categories", - "capabilities" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "page", - "per_page", - "total", - "results" - ], - "type": "object" - }, - { - "additionalProperties": true, - "properties": { - "detail": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "error": { - "type": "string" - }, - "hint": { - "type": "string" - }, - "retry_after_seconds": { - "type": "integer" - } - }, - "required": [ - "error" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "page": { + "type": "integer" + }, + "per_page": { + "type": "integer" + }, + "query": { + "type": "string" + }, + "results": { + "items": { + "additionalProperties": false, + "properties": { + "agent_summary": { + "type": [ + "string", + "null" + ] + }, + "agent_summary_source": { + "description": "Provenance of the effective agent_summary. Domain ownership does not independently validate the description.", + "enum": [ + "verified_owner", + "ai", + null + ], + "type": [ + "string", + "null" + ] + }, + "agent_terms": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "attribution": { + "enum": [ + "required", + "appreciated", + "none" + ], + "type": "string" + }, + "attribution_text": { + "maxLength": 200, + "type": "string" + }, + "automated_access": { + "enum": [ + "welcome", + "limited", + "ask", + "not_allowed" + ], + "type": "string" + }, + "notes": { + "maxLength": 500, + "type": "string" + }, + "pricing": { + "enum": [ + "free", + "freemium", + "paid" + ], + "type": "string" + }, + "pricing_url": { + "type": "string" + }, + "rate_limit": { + "maxLength": 100, + "type": "string" + }, + "terms_url": { + "type": "string" + } + }, + "required": [], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "agent_uses": { + "items": { + "enum": [ + "read_docs", + "call_api", + "buy", + "book", + "search_content", + "download_data", + "contact_support" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "agentic": { + "anyOf": [ + { + "description": "What an agent can do with the site: interface (API or MCP endpoint to call), transactional (buy or book), documentation (docs to read), informational (for people).", + "enum": [ + "interface", + "transactional", + "documentation", + "informational" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "audience": { + "anyOf": [ + { + "enum": [ + "developers", + "consumers", + "business", + "mixed" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "authority": { + "type": [ + "integer", + "null" + ] + }, + "badge": { + "type": "string" + }, + "capabilities": { + "description": "Publisher-declared capabilities. An MCP declaration does not prove availability or protocol compatibility.", + "items": { + "enum": [ + "mcp" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "capability_evidence": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "const": "mcp" + }, + "source_url": { + "type": "string" + }, + "status": { + "const": "publisher_declared" + }, + "url": { + "type": "string" + } + }, + "required": [ + "id", + "url", + "source_url", + "status" + ], + "type": "object" + }, + "type": "array" + }, + "categories": { + "description": "Inferred topic IDs from publisher metadata; empty means unclassified.", + "items": { + "enum": [ + "ai-ml", + "developer-tools", + "infrastructure", + "data-analytics", + "cybersecurity", + "finance-payments", + "ecommerce", + "productivity", + "marketing", + "education", + "healthcare", + "media", + "design", + "gaming", + "travel", + "community", + "legal", + "recruiting-careers", + "industrial-manufacturing", + "real-estate", + "arts-culture", + "sports-fitness", + "food-dining", + "automotive", + "government-public-services", + "science-research", + "ai-agents-mcp", + "apis-sdks", + "databases", + "auth-identity", + "devops-observability", + "no-code-automation", + "communications", + "crypto-web3", + "saas-business-software", + "open-source", + "documentation-reference", + "fashion-beauty", + "home-garden", + "consumer-electronics", + "pets", + "insurance", + "telecom", + "logistics-shipping", + "energy-utilities", + "construction-architecture", + "agriculture", + "nonprofit", + "events", + "personal-blog", + "entertainment", + "local-business" + ], + "type": "string" + }, + "maxItems": 8, + "type": "array", + "uniqueItems": true + }, + "categorized_at": { + "type": [ + "string", + "null" + ] + }, + "category_evidence": { + "items": { + "additionalProperties": false, + "properties": { + "confidence": { + "description": "Deterministic rule strength, not a calibrated probability.", + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "evidence": { + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "enum": [ + "ai-ml", + "developer-tools", + "infrastructure", + "data-analytics", + "cybersecurity", + "finance-payments", + "ecommerce", + "productivity", + "marketing", + "education", + "healthcare", + "media", + "design", + "gaming", + "travel", + "community", + "legal", + "recruiting-careers", + "industrial-manufacturing", + "real-estate", + "arts-culture", + "sports-fitness", + "food-dining", + "automotive", + "government-public-services", + "science-research", + "ai-agents-mcp", + "apis-sdks", + "databases", + "auth-identity", + "devops-observability", + "no-code-automation", + "communications", + "crypto-web3", + "saas-business-software", + "open-source", + "documentation-reference", + "fashion-beauty", + "home-garden", + "consumer-electronics", + "pets", + "insurance", + "telecom", + "logistics-shipping", + "energy-utilities", + "construction-architecture", + "agriculture", + "nonprofit", + "events", + "personal-blog", + "entertainment", + "local-business" + ], + "type": "string" + }, + "source": { + "enum": [ + "publisher_metadata", + "llm" + ] + } + }, + "required": [ + "id", + "confidence", + "evidence", + "source" + ], + "type": "object" + }, + "type": "array" + }, + "category_version": { + "type": [ + "string", + "null" + ] + }, + "claim": { + "additionalProperties": false, + "properties": { + "agent_prompt": { + "type": "string" + }, + "benefits": { + "items": { + "type": "string" + }, + "type": "array" + }, + "docs": { + "type": "string" + }, + "hint": { + "type": "string" + }, + "mcp": { + "type": "string" + }, + "verification": { + "type": "string" + }, + "verify": { + "type": "string" + } + }, + "required": [ + "agent_prompt", + "hint", + "verification", + "verify", + "docs", + "mcp", + "benefits" + ], + "type": "object" + }, + "contact": { + "type": [ + "string", + "null" + ] + }, + "country": { + "description": "Published or declared address country preferred; domain/hosting fallback. Null when unknown. Not independently verified headquarters or markets served.", + "type": [ + "string", + "null" + ] + }, + "country_checked_at": { + "type": [ + "string", + "null" + ] + }, + "country_evidence": { + "items": { + "additionalProperties": false, + "properties": { + "checked_at": { + "type": [ + "string", + "null" + ] + }, + "country": { + "type": "string" + }, + "method": { + "type": "string" + }, + "source": { + "type": "string" + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "country", + "source", + "url", + "checked_at", + "method" + ], + "type": "object" + }, + "type": "array" + }, + "country_source": { + "description": "owner: owner-declared address; structured_data/contact_page: site-published address; tld: domain inference; ip: non-CDN hosting inference; cdn: location withheld. No source independently verifies headquarters.", + "enum": [ + "owner", + "structured_data", + "contact_page", + "tld", + "ip", + "cdn", + null + ], + "type": [ + "string", + "null" + ] + }, + "country_status": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "domain": { + "type": "string" + }, + "domain_country": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "items": { + "additionalProperties": true, + "properties": { + "excerpt": { + "type": [ + "string", + "null" + ] + }, + "source_url": { + "type": [ + "string", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" + }, + "type": "array" + }, + "first_seen": { + "type": [ + "string", + "null" + ] + }, + "hosting_country": { + "type": [ + "string", + "null" + ] + }, + "inferred_tags": { + "description": "Topic tags inferred by the AI classifier from the site text.", + "items": { + "type": "string" + }, + "type": "array" + }, + "language": { + "type": [ + "string", + "null" + ] + }, + "last_checked": { + "type": [ + "string", + "null" + ] + }, + "links": { + "type": [ + "integer", + "null" + ] + }, + "llms_full_txt": { + "type": [ + "string", + "null" + ] + }, + "llms_txt": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_cached": { + "type": "string" + }, + "match_score": { + "type": "number" + }, + "nested_llms_txt": { + "items": { + "type": "string" + }, + "type": "array" + }, + "platform_generated": { + "type": [ + "boolean", + "null" + ] + }, + "publisher_country": { + "type": [ + "string", + "null" + ] + }, + "publisher_country_source": { + "enum": [ + "owner", + "structured_data", + "contact_page", + null + ], + "type": [ + "string", + "null" + ] + }, + "rank": { + "type": [ + "integer", + "null" + ] + }, + "registered_at": { + "type": [ + "string", + "null" + ] + }, + "section_headings": { + "items": { + "additionalProperties": false, + "properties": { + "format": { + "enum": [ + "markdown", + "loose", + "setext", + "indexed_link" + ] + }, + "key": { + "type": "string" + }, + "label": { + "type": "string" + }, + "level": { + "type": "integer" + }, + "line": { + "type": [ + "integer", + "null" + ] + }, + "path": { + "type": "string" + }, + "source_url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "key", + "label", + "level", + "path", + "line", + "format" + ], + "type": "object" + }, + "type": "array" + }, + "section_indexed_at": { + "type": [ + "string", + "null" + ] + }, + "section_keys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "section_partial": { + "type": "boolean" + }, + "sections": { + "type": [ + "integer", + "null" + ] + }, + "status": { + "enum": [ + "pending", + "valid", + "invalid", + "unreachable" + ], + "type": "string" + }, + "summary": { + "type": [ + "string", + "null" + ] + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tier": { + "enum": [ + "featured", + "listed", + "unlisted", + "rejected", + null + ], + "type": [ + "string", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "verified": { + "type": "boolean" + }, + "verified_at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "domain", + "status", + "tier", + "authority", + "verified", + "title", + "summary", + "llms_txt", + "llms_full_txt", + "last_checked", + "agent_terms", + "categories", + "capabilities" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "page", + "per_page", + "total", + "results" + ], + "type": "object" + }, + { + "additionalProperties": true, + "properties": { + "detail": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "error": { + "type": "string" + }, + "hint": { + "type": "string" + }, + "retry_after_seconds": { + "type": "integer" + } + }, + "required": [ + "error" + ], + "type": "object" + } +]
- Changed
similar_sites1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "domain": { - "type": "string" - }, - "filters": { - "additionalProperties": false, - "properties": { - "action": { - "type": [ - "string", - "null" - ] - }, - "country": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "country", - "action" - ], - "type": "object" - }, - "meaning": { - "type": "string" - }, - "model": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "results": { - "items": { - "additionalProperties": false, - "properties": { - "agent_summary": { - "type": [ - "string", - "null" - ] - }, - "agent_terms": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "attribution": { - "enum": [ - "required", - "appreciated", - "none" - ], - "type": "string" - }, - "attribution_text": { - "maxLength": 200, - "type": "string" - }, - "automated_access": { - "enum": [ - "welcome", - "limited", - "ask", - "not_allowed" - ], - "type": "string" - }, - "notes": { - "maxLength": 500, - "type": "string" - }, - "pricing": { - "enum": [ - "free", - "freemium", - "paid" - ], - "type": "string" - }, - "pricing_url": { - "type": "string" - }, - "rate_limit": { - "maxLength": 100, - "type": "string" - }, - "terms_url": { - "type": "string" - } - }, - "required": [], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "agent_uses": { - "items": { - "enum": [ - "read_docs", - "call_api", - "buy", - "book", - "search_content", - "download_data", - "contact_support" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "agentic": { - "anyOf": [ - { - "description": "What an agent can do with the site: interface (API or MCP endpoint to call), transactional (buy or book), documentation (docs to read), informational (for people).", - "enum": [ - "interface", - "transactional", - "documentation", - "informational" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "audience": { - "anyOf": [ - { - "enum": [ - "developers", - "consumers", - "business", - "mixed" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "authority": { - "type": [ - "integer", - "null" - ] - }, - "capabilities": { - "description": "Publisher-declared capabilities. An MCP declaration does not prove availability or protocol compatibility.", - "items": { - "enum": [ - "mcp" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "categories": { - "description": "Inferred topic IDs from publisher metadata; empty means unclassified.", - "items": { - "enum": [ - "ai-ml", - "developer-tools", - "infrastructure", - "data-analytics", - "cybersecurity", - "finance-payments", - "ecommerce", - "productivity", - "marketing", - "education", - "healthcare", - "media", - "design", - "gaming", - "travel", - "community", - "legal", - "recruiting-careers", - "industrial-manufacturing", - "real-estate", - "arts-culture", - "sports-fitness", - "food-dining", - "automotive", - "government-public-services", - "science-research", - "ai-agents-mcp", - "apis-sdks", - "databases", - "auth-identity", - "devops-observability", - "no-code-automation", - "communications", - "crypto-web3", - "saas-business-software", - "open-source", - "documentation-reference", - "fashion-beauty", - "home-garden", - "consumer-electronics", - "pets", - "insurance", - "telecom", - "logistics-shipping", - "energy-utilities", - "construction-architecture", - "agriculture", - "nonprofit", - "events", - "personal-blog", - "entertainment", - "local-business" - ], - "type": "string" - }, - "maxItems": 8, - "type": "array", - "uniqueItems": true - }, - "country": { - "description": "Published or declared address country preferred; domain/hosting fallback. Null when unknown. Not independently verified headquarters or markets served.", - "type": [ - "string", - "null" - ] - }, - "country_source": { - "description": "owner: owner-declared address; structured_data/contact_page: site-published address; tld: domain inference; ip: non-CDN hosting inference; cdn: location withheld. No source independently verifies headquarters.", - "enum": [ - "owner", - "structured_data", - "contact_page", - "tld", - "ip", - "cdn", - null - ], - "type": [ - "string", - "null" - ] - }, - "domain": { - "type": "string" - }, - "hosting_country": { - "type": [ - "string", - "null" - ] - }, - "inferred_tags": { - "description": "Topic tags inferred by the AI classifier from the site text.", - "items": { - "type": "string" - }, - "type": "array" - }, - "language": { - "type": [ - "string", - "null" - ] - }, - "last_checked": { - "type": [ - "string", - "null" - ] - }, - "llms_full_txt": { - "type": [ - "string", - "null" - ] - }, - "llms_txt": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_cached": { - "type": "string" - }, - "platform_generated": { - "type": [ - "boolean", - "null" - ] - }, - "publisher_country": { - "type": [ - "string", - "null" - ] - }, - "publisher_country_source": { - "enum": [ - "owner", - "structured_data", - "contact_page", - null - ], - "type": [ - "string", - "null" - ] - }, - "section_indexed_at": { - "type": [ - "string", - "null" - ] - }, - "section_keys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "section_partial": { - "type": "boolean" - }, - "shared_sections": { - "items": { - "type": "string" - }, - "type": "array" - }, - "similarity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "status": { - "enum": [ - "pending", - "valid", - "invalid", - "unreachable" - ], - "type": "string" - }, - "summary": { - "type": [ - "string", - "null" - ] - }, - "tier": { - "enum": [ - "featured", - "listed", - "unlisted", - "rejected", - null - ], - "type": [ - "string", - "null" - ] - }, - "title": { - "type": [ - "string", - "null" - ] - }, - "verified": { - "type": "boolean" - } - }, - "required": [ - "domain", - "status", - "tier", - "authority", - "verified", - "title", - "summary", - "llms_txt", - "llms_full_txt", - "last_checked", - "agent_terms", - "categories", - "inferred_tags", - "audience", - "agent_uses", - "language", - "country", - "country_source", - "publisher_country", - "publisher_country_source", - "hosting_country", - "platform_generated", - "agent_summary", - "llms_txt_cached", - "agentic", - "section_keys", - "section_partial", - "section_indexed_at", - "capabilities", - "similarity", - "shared_sections" - ], - "type": "object" - }, - "type": "array" - }, - "title": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "domain", - "title", - "available", - "model", - "meaning", - "results" - ], - "type": "object" - }, - { - "additionalProperties": true, - "properties": { - "detail": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "error": { - "type": "string" - }, - "hint": { - "type": "string" - }, - "retry_after_seconds": { - "type": "integer" - } - }, - "required": [ - "error" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "available": { + "type": "boolean" + }, + "domain": { + "type": "string" + }, + "filters": { + "additionalProperties": false, + "properties": { + "action": { + "type": [ + "string", + "null" + ] + }, + "country": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "country", + "action" + ], + "type": "object" + }, + "meaning": { + "type": "string" + }, + "model": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "results": { + "items": { + "additionalProperties": false, + "properties": { + "agent_summary": { + "type": [ + "string", + "null" + ] + }, + "agent_summary_source": { + "description": "Provenance of the effective agent_summary. Domain ownership does not independently validate the description.", + "enum": [ + "verified_owner", + "ai", + null + ], + "type": [ + "string", + "null" + ] + }, + "agent_terms": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "attribution": { + "enum": [ + "required", + "appreciated", + "none" + ], + "type": "string" + }, + "attribution_text": { + "maxLength": 200, + "type": "string" + }, + "automated_access": { + "enum": [ + "welcome", + "limited", + "ask", + "not_allowed" + ], + "type": "string" + }, + "notes": { + "maxLength": 500, + "type": "string" + }, + "pricing": { + "enum": [ + "free", + "freemium", + "paid" + ], + "type": "string" + }, + "pricing_url": { + "type": "string" + }, + "rate_limit": { + "maxLength": 100, + "type": "string" + }, + "terms_url": { + "type": "string" + } + }, + "required": [], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "agent_uses": { + "items": { + "enum": [ + "read_docs", + "call_api", + "buy", + "book", + "search_content", + "download_data", + "contact_support" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "agentic": { + "anyOf": [ + { + "description": "What an agent can do with the site: interface (API or MCP endpoint to call), transactional (buy or book), documentation (docs to read), informational (for people).", + "enum": [ + "interface", + "transactional", + "documentation", + "informational" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "audience": { + "anyOf": [ + { + "enum": [ + "developers", + "consumers", + "business", + "mixed" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "authority": { + "type": [ + "integer", + "null" + ] + }, + "capabilities": { + "description": "Publisher-declared capabilities. An MCP declaration does not prove availability or protocol compatibility.", + "items": { + "enum": [ + "mcp" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "categories": { + "description": "Inferred topic IDs from publisher metadata; empty means unclassified.", + "items": { + "enum": [ + "ai-ml", + "developer-tools", + "infrastructure", + "data-analytics", + "cybersecurity", + "finance-payments", + "ecommerce", + "productivity", + "marketing", + "education", + "healthcare", + "media", + "design", + "gaming", + "travel", + "community", + "legal", + "recruiting-careers", + "industrial-manufacturing", + "real-estate", + "arts-culture", + "sports-fitness", + "food-dining", + "automotive", + "government-public-services", + "science-research", + "ai-agents-mcp", + "apis-sdks", + "databases", + "auth-identity", + "devops-observability", + "no-code-automation", + "communications", + "crypto-web3", + "saas-business-software", + "open-source", + "documentation-reference", + "fashion-beauty", + "home-garden", + "consumer-electronics", + "pets", + "insurance", + "telecom", + "logistics-shipping", + "energy-utilities", + "construction-architecture", + "agriculture", + "nonprofit", + "events", + "personal-blog", + "entertainment", + "local-business" + ], + "type": "string" + }, + "maxItems": 8, + "type": "array", + "uniqueItems": true + }, + "country": { + "description": "Published or declared address country preferred; domain/hosting fallback. Null when unknown. Not independently verified headquarters or markets served.", + "type": [ + "string", + "null" + ] + }, + "country_source": { + "description": "owner: owner-declared address; structured_data/contact_page: site-published address; tld: domain inference; ip: non-CDN hosting inference; cdn: location withheld. No source independently verifies headquarters.", + "enum": [ + "owner", + "structured_data", + "contact_page", + "tld", + "ip", + "cdn", + null + ], + "type": [ + "string", + "null" + ] + }, + "domain": { + "type": "string" + }, + "hosting_country": { + "type": [ + "string", + "null" + ] + }, + "inferred_tags": { + "description": "Topic tags inferred by the AI classifier from the site text.", + "items": { + "type": "string" + }, + "type": "array" + }, + "language": { + "type": [ + "string", + "null" + ] + }, + "last_checked": { + "type": [ + "string", + "null" + ] + }, + "llms_full_txt": { + "type": [ + "string", + "null" + ] + }, + "llms_txt": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_cached": { + "type": "string" + }, + "platform_generated": { + "type": [ + "boolean", + "null" + ] + }, + "publisher_country": { + "type": [ + "string", + "null" + ] + }, + "publisher_country_source": { + "enum": [ + "owner", + "structured_data", + "contact_page", + null + ], + "type": [ + "string", + "null" + ] + }, + "section_indexed_at": { + "type": [ + "string", + "null" + ] + }, + "section_keys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "section_partial": { + "type": "boolean" + }, + "shared_sections": { + "items": { + "type": "string" + }, + "type": "array" + }, + "similarity": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "status": { + "enum": [ + "pending", + "valid", + "invalid", + "unreachable" + ], + "type": "string" + }, + "summary": { + "type": [ + "string", + "null" + ] + }, + "tier": { + "enum": [ + "featured", + "listed", + "unlisted", + "rejected", + null + ], + "type": [ + "string", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "verified": { + "type": "boolean" + } + }, + "required": [ + "domain", + "status", + "tier", + "authority", + "verified", + "title", + "summary", + "llms_txt", + "llms_full_txt", + "last_checked", + "agent_terms", + "categories", + "inferred_tags", + "audience", + "agent_uses", + "language", + "country", + "country_source", + "publisher_country", + "publisher_country_source", + "hosting_country", + "platform_generated", + "agent_summary", + "agent_summary_source", + "llms_txt_cached", + "agentic", + "section_keys", + "section_partial", + "section_indexed_at", + "capabilities", + "similarity", + "shared_sections" + ], + "type": "object" + }, + "type": "array" + }, + "title": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "domain", + "title", + "available", + "model", + "meaning", + "results" + ], + "type": "object" + }, + { + "additionalProperties": true, + "properties": { + "detail": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "error": { + "type": "string" + }, + "hint": { + "type": "string" + }, + "retry_after_seconds": { + "type": "integer" + } + }, + "required": [ + "error" + ], + "type": "object" + } +]
- Changed
update_site2 fields changed- added
Input schema / properties / agent_summaryAdded value: +{ + "description": "Owner-written description for agents. Labeled verified_owner; retained through recrawls and AI updates. Null restores the generated version.", + "maxLength": 300, + "type": [ + "string", + "null" + ] +} - changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "agent_summary": { - "type": [ - "string", - "null" - ] - }, - "agent_terms": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "attribution": { - "enum": [ - "required", - "appreciated", - "none" - ], - "type": "string" - }, - "attribution_text": { - "maxLength": 200, - "type": "string" - }, - "automated_access": { - "enum": [ - "welcome", - "limited", - "ask", - "not_allowed" - ], - "type": "string" - }, - "notes": { - "maxLength": 500, - "type": "string" - }, - "pricing": { - "enum": [ - "free", - "freemium", - "paid" - ], - "type": "string" - }, - "pricing_url": { - "type": "string" - }, - "rate_limit": { - "maxLength": 100, - "type": "string" - }, - "terms_url": { - "type": "string" - } - }, - "required": [], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "agent_uses": { - "items": { - "enum": [ - "read_docs", - "call_api", - "buy", - "book", - "search_content", - "download_data", - "contact_support" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "agentic": { - "anyOf": [ - { - "description": "What an agent can do with the site: interface (API or MCP endpoint to call), transactional (buy or book), documentation (docs to read), informational (for people).", - "enum": [ - "interface", - "transactional", - "documentation", - "informational" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "audience": { - "anyOf": [ - { - "enum": [ - "developers", - "consumers", - "business", - "mixed" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "authority": { - "type": [ - "integer", - "null" - ] - }, - "badge": { - "type": "string" - }, - "capabilities": { - "description": "Publisher-declared capabilities. An MCP declaration does not prove availability or protocol compatibility.", - "items": { - "enum": [ - "mcp" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "capability_evidence": { - "items": { - "additionalProperties": false, - "properties": { - "id": { - "const": "mcp" - }, - "source_url": { - "type": "string" - }, - "status": { - "const": "publisher_declared" - }, - "url": { - "type": "string" - } - }, - "required": [ - "id", - "url", - "source_url", - "status" - ], - "type": "object" - }, - "type": "array" - }, - "categories": { - "description": "Inferred topic IDs from publisher metadata; empty means unclassified.", - "items": { - "enum": [ - "ai-ml", - "developer-tools", - "infrastructure", - "data-analytics", - "cybersecurity", - "finance-payments", - "ecommerce", - "productivity", - "marketing", - "education", - "healthcare", - "media", - "design", - "gaming", - "travel", - "community", - "legal", - "recruiting-careers", - "industrial-manufacturing", - "real-estate", - "arts-culture", - "sports-fitness", - "food-dining", - "automotive", - "government-public-services", - "science-research", - "ai-agents-mcp", - "apis-sdks", - "databases", - "auth-identity", - "devops-observability", - "no-code-automation", - "communications", - "crypto-web3", - "saas-business-software", - "open-source", - "documentation-reference", - "fashion-beauty", - "home-garden", - "consumer-electronics", - "pets", - "insurance", - "telecom", - "logistics-shipping", - "energy-utilities", - "construction-architecture", - "agriculture", - "nonprofit", - "events", - "personal-blog", - "entertainment", - "local-business" - ], - "type": "string" - }, - "maxItems": 8, - "type": "array", - "uniqueItems": true - }, - "categorized_at": { - "type": [ - "string", - "null" - ] - }, - "category_evidence": { - "items": { - "additionalProperties": false, - "properties": { - "confidence": { - "description": "Deterministic rule strength, not a calibrated probability.", - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "evidence": { - "items": { - "type": "string" - }, - "type": "array" - }, - "id": { - "enum": [ - "ai-ml", - "developer-tools", - "infrastructure", - "data-analytics", - "cybersecurity", - "finance-payments", - "ecommerce", - "productivity", - "marketing", - "education", - "healthcare", - "media", - "design", - "gaming", - "travel", - "community", - "legal", - "recruiting-careers", - "industrial-manufacturing", - "real-estate", - "arts-culture", - "sports-fitness", - "food-dining", - "automotive", - "government-public-services", - "science-research", - "ai-agents-mcp", - "apis-sdks", - "databases", - "auth-identity", - "devops-observability", - "no-code-automation", - "communications", - "crypto-web3", - "saas-business-software", - "open-source", - "documentation-reference", - "fashion-beauty", - "home-garden", - "consumer-electronics", - "pets", - "insurance", - "telecom", - "logistics-shipping", - "energy-utilities", - "construction-architecture", - "agriculture", - "nonprofit", - "events", - "personal-blog", - "entertainment", - "local-business" - ], - "type": "string" - }, - "source": { - "enum": [ - "publisher_metadata", - "llm" - ] - } - }, - "required": [ - "id", - "confidence", - "evidence", - "source" - ], - "type": "object" - }, - "type": "array" - }, - "category_version": { - "type": [ - "string", - "null" - ] - }, - "claim": { - "additionalProperties": false, - "properties": { - "agent_prompt": { - "type": "string" - }, - "benefits": { - "items": { - "type": "string" - }, - "type": "array" - }, - "docs": { - "type": "string" - }, - "hint": { - "type": "string" - }, - "mcp": { - "type": "string" - }, - "verification": { - "type": "string" - }, - "verify": { - "type": "string" - } - }, - "required": [ - "agent_prompt", - "hint", - "verification", - "verify", - "docs", - "mcp", - "benefits" - ], - "type": "object" - }, - "contact": { - "type": [ - "string", - "null" - ] - }, - "country": { - "description": "Published or declared address country preferred; domain/hosting fallback. Null when unknown. Not independently verified headquarters or markets served.", - "type": [ - "string", - "null" - ] - }, - "country_checked_at": { - "type": [ - "string", - "null" - ] - }, - "country_evidence": { - "items": { - "additionalProperties": false, - "properties": { - "checked_at": { - "type": [ - "string", - "null" - ] - }, - "country": { - "type": "string" - }, - "method": { - "type": "string" - }, - "source": { - "type": "string" - }, - "url": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "country", - "source", - "url", - "checked_at", - "method" - ], - "type": "object" - }, - "type": "array" - }, - "country_source": { - "description": "owner: owner-declared address; structured_data/contact_page: site-published address; tld: domain inference; ip: non-CDN hosting inference; cdn: location withheld. No source independently verifies headquarters.", - "enum": [ - "owner", - "structured_data", - "contact_page", - "tld", - "ip", - "cdn", - null - ], - "type": [ - "string", - "null" - ] - }, - "country_status": { - "type": "string" - }, - "description": { - "type": [ - "string", - "null" - ] - }, - "domain": { - "type": "string" - }, - "domain_country": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "items": { - "additionalProperties": true, - "properties": { - "excerpt": { - "type": [ - "string", - "null" - ] - }, - "source_url": { - "type": [ - "string", - "null" - ] - }, - "title": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url" - ], - "type": "object" - }, - "type": "array" - }, - "first_seen": { - "type": [ - "string", - "null" - ] - }, - "hosting_country": { - "type": [ - "string", - "null" - ] - }, - "inferred_tags": { - "description": "Topic tags inferred by the AI classifier from the site text.", - "items": { - "type": "string" - }, - "type": "array" - }, - "language": { - "type": [ - "string", - "null" - ] - }, - "last_checked": { - "type": [ - "string", - "null" - ] - }, - "links": { - "type": [ - "integer", - "null" - ] - }, - "llms_full_txt": { - "type": [ - "string", - "null" - ] - }, - "llms_txt": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_cached": { - "type": "string" - }, - "match_score": { - "type": "number" - }, - "nested_llms_txt": { - "items": { - "type": "string" - }, - "type": "array" - }, - "platform_generated": { - "type": [ - "boolean", - "null" - ] - }, - "publisher_country": { - "type": [ - "string", - "null" - ] - }, - "publisher_country_source": { - "enum": [ - "owner", - "structured_data", - "contact_page", - null - ], - "type": [ - "string", - "null" - ] - }, - "rank": { - "type": [ - "integer", - "null" - ] - }, - "registered_at": { - "type": [ - "string", - "null" - ] - }, - "section_headings": { - "items": { - "additionalProperties": false, - "properties": { - "format": { - "enum": [ - "markdown", - "loose", - "setext", - "indexed_link" - ] - }, - "key": { - "type": "string" - }, - "label": { - "type": "string" - }, - "level": { - "type": "integer" - }, - "line": { - "type": [ - "integer", - "null" - ] - }, - "path": { - "type": "string" - }, - "source_url": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "key", - "label", - "level", - "path", - "line", - "format" - ], - "type": "object" - }, - "type": "array" - }, - "section_indexed_at": { - "type": [ - "string", - "null" - ] - }, - "section_keys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "section_partial": { - "type": "boolean" - }, - "sections": { - "type": [ - "integer", - "null" - ] - }, - "status": { - "enum": [ - "pending", - "valid", - "invalid", - "unreachable" - ], - "type": "string" - }, - "summary": { - "type": [ - "string", - "null" - ] - }, - "tags": { - "items": { - "type": "string" - }, - "type": "array" - }, - "tier": { - "enum": [ - "featured", - "listed", - "unlisted", - "rejected", - null - ], - "type": [ - "string", - "null" - ] - }, - "title": { - "type": [ - "string", - "null" - ] - }, - "verified": { - "type": "boolean" - }, - "verified_at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "domain", - "status", - "tier", - "authority", - "verified", - "title", - "summary", - "llms_txt", - "llms_full_txt", - "last_checked", - "agent_terms", - "categories", - "capabilities" - ], - "type": "object" - }, - { - "additionalProperties": true, - "properties": { - "detail": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "error": { - "type": "string" - }, - "hint": { - "type": "string" - }, - "retry_after_seconds": { - "type": "integer" - } - }, - "required": [ - "error" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "agent_summary": { + "type": [ + "string", + "null" + ] + }, + "agent_summary_source": { + "description": "Provenance of the effective agent_summary. Domain ownership does not independently validate the description.", + "enum": [ + "verified_owner", + "ai", + null + ], + "type": [ + "string", + "null" + ] + }, + "agent_terms": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "attribution": { + "enum": [ + "required", + "appreciated", + "none" + ], + "type": "string" + }, + "attribution_text": { + "maxLength": 200, + "type": "string" + }, + "automated_access": { + "enum": [ + "welcome", + "limited", + "ask", + "not_allowed" + ], + "type": "string" + }, + "notes": { + "maxLength": 500, + "type": "string" + }, + "pricing": { + "enum": [ + "free", + "freemium", + "paid" + ], + "type": "string" + }, + "pricing_url": { + "type": "string" + }, + "rate_limit": { + "maxLength": 100, + "type": "string" + }, + "terms_url": { + "type": "string" + } + }, + "required": [], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "agent_uses": { + "items": { + "enum": [ + "read_docs", + "call_api", + "buy", + "book", + "search_content", + "download_data", + "contact_support" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "agentic": { + "anyOf": [ + { + "description": "What an agent can do with the site: interface (API or MCP endpoint to call), transactional (buy or book), documentation (docs to read), informational (for people).", + "enum": [ + "interface", + "transactional", + "documentation", + "informational" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "audience": { + "anyOf": [ + { + "enum": [ + "developers", + "consumers", + "business", + "mixed" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "authority": { + "type": [ + "integer", + "null" + ] + }, + "badge": { + "type": "string" + }, + "capabilities": { + "description": "Publisher-declared capabilities. An MCP declaration does not prove availability or protocol compatibility.", + "items": { + "enum": [ + "mcp" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "capability_evidence": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "const": "mcp" + }, + "source_url": { + "type": "string" + }, + "status": { + "const": "publisher_declared" + }, + "url": { + "type": "string" + } + }, + "required": [ + "id", + "url", + "source_url", + "status" + ], + "type": "object" + }, + "type": "array" + }, + "categories": { + "description": "Inferred topic IDs from publisher metadata; empty means unclassified.", + "items": { + "enum": [ + "ai-ml", + "developer-tools", + "infrastructure", + "data-analytics", + "cybersecurity", + "finance-payments", + "ecommerce", + "productivity", + "marketing", + "education", + "healthcare", + "media", + "design", + "gaming", + "travel", + "community", + "legal", + "recruiting-careers", + "industrial-manufacturing", + "real-estate", + "arts-culture", + "sports-fitness", + "food-dining", + "automotive", + "government-public-services", + "science-research", + "ai-agents-mcp", + "apis-sdks", + "databases", + "auth-identity", + "devops-observability", + "no-code-automation", + "communications", + "crypto-web3", + "saas-business-software", + "open-source", + "documentation-reference", + "fashion-beauty", + "home-garden", + "consumer-electronics", + "pets", + "insurance", + "telecom", + "logistics-shipping", + "energy-utilities", + "construction-architecture", + "agriculture", + "nonprofit", + "events", + "personal-blog", + "entertainment", + "local-business" + ], + "type": "string" + }, + "maxItems": 8, + "type": "array", + "uniqueItems": true + }, + "categorized_at": { + "type": [ + "string", + "null" + ] + }, + "category_evidence": { + "items": { + "additionalProperties": false, + "properties": { + "confidence": { + "description": "Deterministic rule strength, not a calibrated probability.", + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "evidence": { + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "enum": [ + "ai-ml", + "developer-tools", + "infrastructure", + "data-analytics", + "cybersecurity", + "finance-payments", + "ecommerce", + "productivity", + "marketing", + "education", + "healthcare", + "media", + "design", + "gaming", + "travel", + "community", + "legal", + "recruiting-careers", + "industrial-manufacturing", + "real-estate", + "arts-culture", + "sports-fitness", + "food-dining", + "automotive", + "government-public-services", + "science-research", + "ai-agents-mcp", + "apis-sdks", + "databases", + "auth-identity", + "devops-observability", + "no-code-automation", + "communications", + "crypto-web3", + "saas-business-software", + "open-source", + "documentation-reference", + "fashion-beauty", + "home-garden", + "consumer-electronics", + "pets", + "insurance", + "telecom", + "logistics-shipping", + "energy-utilities", + "construction-architecture", + "agriculture", + "nonprofit", + "events", + "personal-blog", + "entertainment", + "local-business" + ], + "type": "string" + }, + "source": { + "enum": [ + "publisher_metadata", + "llm" + ] + } + }, + "required": [ + "id", + "confidence", + "evidence", + "source" + ], + "type": "object" + }, + "type": "array" + }, + "category_version": { + "type": [ + "string", + "null" + ] + }, + "claim": { + "additionalProperties": false, + "properties": { + "agent_prompt": { + "type": "string" + }, + "benefits": { + "items": { + "type": "string" + }, + "type": "array" + }, + "docs": { + "type": "string" + }, + "hint": { + "type": "string" + }, + "mcp": { + "type": "string" + }, + "verification": { + "type": "string" + }, + "verify": { + "type": "string" + } + }, + "required": [ + "agent_prompt", + "hint", + "verification", + "verify", + "docs", + "mcp", + "benefits" + ], + "type": "object" + }, + "contact": { + "type": [ + "string", + "null" + ] + }, + "country": { + "description": "Published or declared address country preferred; domain/hosting fallback. Null when unknown. Not independently verified headquarters or markets served.", + "type": [ + "string", + "null" + ] + }, + "country_checked_at": { + "type": [ + "string", + "null" + ] + }, + "country_evidence": { + "items": { + "additionalProperties": false, + "properties": { + "checked_at": { + "type": [ + "string", + "null" + ] + }, + "country": { + "type": "string" + }, + "method": { + "type": "string" + }, + "source": { + "type": "string" + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "country", + "source", + "url", + "checked_at", + "method" + ], + "type": "object" + }, + "type": "array" + }, + "country_source": { + "description": "owner: owner-declared address; structured_data/contact_page: site-published address; tld: domain inference; ip: non-CDN hosting inference; cdn: location withheld. No source independently verifies headquarters.", + "enum": [ + "owner", + "structured_data", + "contact_page", + "tld", + "ip", + "cdn", + null + ], + "type": [ + "string", + "null" + ] + }, + "country_status": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "domain": { + "type": "string" + }, + "domain_country": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "items": { + "additionalProperties": true, + "properties": { + "excerpt": { + "type": [ + "string", + "null" + ] + }, + "source_url": { + "type": [ + "string", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" + }, + "type": "array" + }, + "first_seen": { + "type": [ + "string", + "null" + ] + }, + "hosting_country": { + "type": [ + "string", + "null" + ] + }, + "inferred_tags": { + "description": "Topic tags inferred by the AI classifier from the site text.", + "items": { + "type": "string" + }, + "type": "array" + }, + "language": { + "type": [ + "string", + "null" + ] + }, + "last_checked": { + "type": [ + "string", + "null" + ] + }, + "links": { + "type": [ + "integer", + "null" + ] + }, + "llms_full_txt": { + "type": [ + "string", + "null" + ] + }, + "llms_txt": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_cached": { + "type": "string" + }, + "match_score": { + "type": "number" + }, + "nested_llms_txt": { + "items": { + "type": "string" + }, + "type": "array" + }, + "platform_generated": { + "type": [ + "boolean", + "null" + ] + }, + "publisher_country": { + "type": [ + "string", + "null" + ] + }, + "publisher_country_source": { + "enum": [ + "owner", + "structured_data", + "contact_page", + null + ], + "type": [ + "string", + "null" + ] + }, + "rank": { + "type": [ + "integer", + "null" + ] + }, + "registered_at": { + "type": [ + "string", + "null" + ] + }, + "section_headings": { + "items": { + "additionalProperties": false, + "properties": { + "format": { + "enum": [ + "markdown", + "loose", + "setext", + "indexed_link" + ] + }, + "key": { + "type": "string" + }, + "label": { + "type": "string" + }, + "level": { + "type": "integer" + }, + "line": { + "type": [ + "integer", + "null" + ] + }, + "path": { + "type": "string" + }, + "source_url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "key", + "label", + "level", + "path", + "line", + "format" + ], + "type": "object" + }, + "type": "array" + }, + "section_indexed_at": { + "type": [ + "string", + "null" + ] + }, + "section_keys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "section_partial": { + "type": "boolean" + }, + "sections": { + "type": [ + "integer", + "null" + ] + }, + "status": { + "enum": [ + "pending", + "valid", + "invalid", + "unreachable" + ], + "type": "string" + }, + "summary": { + "type": [ + "string", + "null" + ] + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tier": { + "enum": [ + "featured", + "listed", + "unlisted", + "rejected", + null + ], + "type": [ + "string", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "verified": { + "type": "boolean" + }, + "verified_at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "domain", + "status", + "tier", + "authority", + "verified", + "title", + "summary", + "llms_txt", + "llms_full_txt", + "last_checked", + "agent_terms", + "categories", + "capabilities" + ], + "type": "object" + }, + { + "additionalProperties": true, + "properties": { + "detail": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "error": { + "type": "string" + }, + "hint": { + "type": "string" + }, + "retry_after_seconds": { + "type": "integer" + } + }, + "required": [ + "error" + ], + "type": "object" + } +]
1 tool update
- Changed
generate_llms_txt1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "description": { - "type": [ - "string", - "null" - ] - }, - "domain": { - "type": "string" - }, - "generated_at": { - "type": "string" - }, - "llms_full_txt_url": { - "type": [ - "string", - "null" - ] - }, - "notes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ok": { - "const": true - }, - "pages": { - "type": "integer" - }, - "sampled": { - "type": "integer" - }, - "source": { - "type": "string" - }, - "sources": { - "items": { - "additionalProperties": false, - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "title" - ], - "type": "object" - }, - "type": "array" - }, - "text": { - "type": "string" - }, - "title": { - "type": "string" - }, - "validation": { - "additionalProperties": false, - "properties": { - "bytes": { - "type": "integer" - }, - "checked_at": { - "type": "string" - }, - "checks": { - "items": { - "additionalProperties": false, - "properties": { - "code": { - "type": "string" - }, - "detail": { - "type": "string" - }, - "fix": { - "type": [ - "string", - "null" - ] - }, - "label": { - "type": "string" - }, - "ok": { - "type": "boolean" - }, - "optional": { - "type": "boolean" - }, - "required": { - "type": "boolean" - }, - "severity": { - "enum": [ - "pass", - "error", - "warning", - "info" - ] - } - }, - "required": [ - "code", - "ok", - "label", - "detail", - "required", - "optional", - "severity", - "fix" - ], - "type": "object" - }, - "type": "array" - }, - "max": { - "type": "integer" - }, - "meaning": { - "type": "string" - }, - "ok": { - "const": true - }, - "parsed": { - "additionalProperties": false, - "properties": { - "linkCount": { - "type": "integer" - }, - "sectionCount": { - "type": "integer" - }, - "summary": { - "type": [ - "string", - "null" - ] - }, - "title": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "title", - "summary", - "sectionCount", - "linkCount" - ], - "type": "object" - }, - "recommendations": { - "items": { - "additionalProperties": false, - "properties": { - "code": { - "type": "string" - }, - "fix": { - "type": "string" - }, - "severity": { - "type": "string" - } - }, - "required": [ - "code", - "severity", - "fix" - ], - "type": "object" - }, - "type": "array" - }, - "score": { - "type": "integer" - }, - "url": { - "type": [ - "string", - "null" - ] - }, - "valid": { - "type": "boolean" - }, - "verdict": { - "enum": [ - "valid", - "needs work" - ] - } - }, - "required": [ - "ok", - "valid", - "verdict", - "checked_at", - "url", - "bytes", - "parsed", - "checks", - "score", - "max", - "recommendations", - "meaning" - ], - "type": "object" - } - }, - "required": [ - "ok", - "domain", - "title", - "description", - "pages", - "source", - "sampled", - "text" - ], - "type": "object" - }, - { - "additionalProperties": true, - "properties": { - "detail": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "error": { - "type": "string" - }, - "hint": { - "type": "string" - }, - "retry_after_seconds": { - "type": "integer" - } - }, - "required": [ - "error" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "crawl": { + "additionalProperties": false, + "properties": { + "duplicates_skipped": { + "type": "integer" + }, + "failed_pages": { + "type": "integer" + }, + "noindex_skipped": { + "type": "integer" + }, + "page_limit": { + "type": "integer" + }, + "pages_attempted": { + "type": "integer" + }, + "partial": { + "type": "boolean" + }, + "request_limit": { + "type": "integer" + }, + "requests": { + "type": "integer" + }, + "robots_skipped": { + "type": "integer" + } + }, + "required": [ + "page_limit", + "request_limit", + "requests", + "pages_attempted", + "robots_skipped", + "duplicates_skipped", + "failed_pages", + "noindex_skipped", + "partial" + ], + "type": "object" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "domain": { + "type": "string" + }, + "generated_at": { + "type": "string" + }, + "llms_full_txt_url": { + "type": [ + "string", + "null" + ] + }, + "notes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ok": { + "const": true + }, + "pages": { + "type": "integer" + }, + "sampled": { + "type": "integer" + }, + "source": { + "type": "string" + }, + "sources": { + "items": { + "additionalProperties": false, + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "title" + ], + "type": "object" + }, + "type": "array" + }, + "text": { + "type": "string" + }, + "title": { + "type": "string" + }, + "validation": { + "additionalProperties": false, + "properties": { + "bytes": { + "type": "integer" + }, + "checked_at": { + "type": "string" + }, + "checks": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "detail": { + "type": "string" + }, + "fix": { + "type": [ + "string", + "null" + ] + }, + "label": { + "type": "string" + }, + "ok": { + "type": "boolean" + }, + "optional": { + "type": "boolean" + }, + "required": { + "type": "boolean" + }, + "severity": { + "enum": [ + "pass", + "error", + "warning", + "info" + ] + } + }, + "required": [ + "code", + "ok", + "label", + "detail", + "required", + "optional", + "severity", + "fix" + ], + "type": "object" + }, + "type": "array" + }, + "max": { + "type": "integer" + }, + "meaning": { + "type": "string" + }, + "ok": { + "const": true + }, + "parsed": { + "additionalProperties": false, + "properties": { + "linkCount": { + "type": "integer" + }, + "sectionCount": { + "type": "integer" + }, + "summary": { + "type": [ + "string", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "title", + "summary", + "sectionCount", + "linkCount" + ], + "type": "object" + }, + "recommendations": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "severity": { + "type": "string" + } + }, + "required": [ + "code", + "severity", + "fix" + ], + "type": "object" + }, + "type": "array" + }, + "score": { + "type": "integer" + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "valid": { + "type": "boolean" + }, + "verdict": { + "enum": [ + "valid", + "needs work" + ] + } + }, + "required": [ + "ok", + "valid", + "verdict", + "checked_at", + "url", + "bytes", + "parsed", + "checks", + "score", + "max", + "recommendations", + "meaning" + ], + "type": "object" + } + }, + "required": [ + "ok", + "domain", + "title", + "description", + "pages", + "source", + "sampled", + "text" + ], + "type": "object" + }, + { + "additionalProperties": true, + "properties": { + "detail": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "error": { + "type": "string" + }, + "hint": { + "type": "string" + }, + "retry_after_seconds": { + "type": "integer" + } + }, + "required": [ + "error" + ], + "type": "object" + } +]
2 tool updates
- Changed
explore_sections1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "connections": { - "enum": [ - "shared", - "semantic" - ] - }, - "coverage": { - "additionalProperties": false, - "properties": { - "baseline_ready": { - "type": "boolean" - }, - "eligible_sites": { - "type": "integer" - }, - "indexed_sites": { - "type": "integer" - }, - "partial_sites": { - "type": "integer" - }, - "pending_files": { - "type": "integer" - }, - "updated_at": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "eligible_sites", - "indexed_sites", - "partial_sites", - "pending_files", - "baseline_ready", - "updated_at" - ], - "type": "object" - }, - "edges": { - "items": { - "additionalProperties": false, - "properties": { - "sites": { - "type": "integer" - }, - "source": { - "type": "string" - }, - "strength": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "target": { - "type": "string" - } - }, - "required": [ - "source", - "target", - "sites", - "strength" - ], - "type": "object" - }, - "type": "array" - }, - "filters": { - "additionalProperties": false, - "properties": { - "action": { - "type": [ - "string", - "null" - ] - }, - "country": { - "type": [ - "string", - "null" - ] - }, - "sectionMatch": { - "enum": [ - "all", - "any" - ] - }, - "sections": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "sections", - "sectionMatch" - ], - "type": "object" - }, - "meaning": { - "type": "string" - }, - "nodes": { - "items": { - "additionalProperties": false, - "properties": { - "key": { - "type": "string" - }, - "label": { - "type": "string" - }, - "selected": { - "type": "boolean" - }, - "semantic_related": { - "type": "boolean" - }, - "sites": { - "type": "integer" - }, - "total_sites": { - "type": "integer" - } - }, - "required": [ - "key", - "label", - "sites", - "total_sites", - "selected", - "semantic_related" - ], - "type": "object" - }, - "type": "array" - }, - "page": { - "type": "integer" - }, - "per_page": { - "type": "integer" - }, - "semantic": { - "additionalProperties": false, - "properties": { - "available": { - "type": "boolean" - }, - "indexed": { - "type": "integer" - }, - "model": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "available", - "indexed", - "model" - ], - "type": "object" - }, - "semantic_edges": { - "items": { - "additionalProperties": false, - "properties": { - "kind": { - "const": "semantic" - }, - "similarity": { - "type": "number" - }, - "source": { - "type": "string" - }, - "strength": { - "type": "number" - }, - "target": { - "type": "string" - } - }, - "required": [ - "source", - "target", - "strength", - "similarity", - "kind" - ], - "type": "object" - }, - "type": "array" - }, - "sites": { - "items": { - "additionalProperties": false, - "properties": { - "authority": { - "type": [ - "integer", - "null" - ] - }, - "domain": { - "type": "string" - }, - "section_keys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "section_partial": { - "type": "boolean" - }, - "source_url": { - "type": [ - "string", - "null" - ] - }, - "title": { - "type": [ - "string", - "null" - ] - }, - "verified": { - "type": "boolean" - } - }, - "required": [ - "domain", - "title", - "authority", - "verified", - "section_keys", - "section_partial", - "source_url" - ], - "type": "object" - }, - "type": "array" - }, - "sites_included": { - "type": "boolean" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "nodes", - "edges", - "sites", - "semantic_edges", - "semantic", - "connections", - "sites_included", - "total", - "page", - "per_page", - "filters", - "coverage", - "meaning" - ], - "type": "object" - }, - { - "additionalProperties": true, - "properties": { - "detail": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "error": { - "type": "string" - }, - "hint": { - "type": "string" - }, - "retry_after_seconds": { - "type": "integer" - } - }, - "required": [ - "error" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "connections": { + "enum": [ + "shared", + "semantic" + ] + }, + "coverage": { + "additionalProperties": false, + "properties": { + "baseline_ready": { + "type": "boolean" + }, + "eligible_sites": { + "type": "integer" + }, + "indexed_sites": { + "type": "integer" + }, + "partial_sites": { + "type": "integer" + }, + "pending_files": { + "type": "integer" + }, + "statistics_stale": { + "type": "boolean" + }, + "statistics_updated_at": { + "type": "string" + }, + "updated_at": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "eligible_sites", + "indexed_sites", + "partial_sites", + "pending_files", + "baseline_ready", + "updated_at" + ], + "type": "object" + }, + "edges": { + "items": { + "additionalProperties": false, + "properties": { + "sites": { + "type": "integer" + }, + "source": { + "type": "string" + }, + "strength": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "target": { + "type": "string" + } + }, + "required": [ + "source", + "target", + "sites", + "strength" + ], + "type": "object" + }, + "type": "array" + }, + "filters": { + "additionalProperties": false, + "properties": { + "action": { + "type": [ + "string", + "null" + ] + }, + "country": { + "type": [ + "string", + "null" + ] + }, + "sectionMatch": { + "enum": [ + "all", + "any" + ] + }, + "sections": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "sections", + "sectionMatch" + ], + "type": "object" + }, + "meaning": { + "type": "string" + }, + "nodes": { + "items": { + "additionalProperties": false, + "properties": { + "key": { + "type": "string" + }, + "label": { + "type": "string" + }, + "selected": { + "type": "boolean" + }, + "semantic_related": { + "type": "boolean" + }, + "sites": { + "type": "integer" + }, + "total_sites": { + "type": "integer" + } + }, + "required": [ + "key", + "label", + "sites", + "total_sites", + "selected", + "semantic_related" + ], + "type": "object" + }, + "type": "array" + }, + "page": { + "type": "integer" + }, + "per_page": { + "type": "integer" + }, + "semantic": { + "additionalProperties": false, + "properties": { + "available": { + "type": "boolean" + }, + "indexed": { + "type": "integer" + }, + "model": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "available", + "indexed", + "model" + ], + "type": "object" + }, + "semantic_edges": { + "items": { + "additionalProperties": false, + "properties": { + "kind": { + "const": "semantic" + }, + "similarity": { + "type": "number" + }, + "source": { + "type": "string" + }, + "strength": { + "type": "number" + }, + "target": { + "type": "string" + } + }, + "required": [ + "source", + "target", + "strength", + "similarity", + "kind" + ], + "type": "object" + }, + "type": "array" + }, + "sites": { + "items": { + "additionalProperties": false, + "properties": { + "authority": { + "type": [ + "integer", + "null" + ] + }, + "domain": { + "type": "string" + }, + "section_keys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "section_partial": { + "type": "boolean" + }, + "source_url": { + "type": [ + "string", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "verified": { + "type": "boolean" + } + }, + "required": [ + "domain", + "title", + "authority", + "verified", + "section_keys", + "section_partial", + "source_url" + ], + "type": "object" + }, + "type": "array" + }, + "sites_included": { + "type": "boolean" + }, + "statistics_stale": { + "type": "boolean" + }, + "statistics_updated_at": { + "type": "string" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "nodes", + "edges", + "sites", + "semantic_edges", + "semantic", + "connections", + "sites_included", + "total", + "page", + "per_page", + "filters", + "coverage", + "meaning" + ], + "type": "object" + }, + { + "additionalProperties": true, + "properties": { + "detail": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "error": { + "type": "string" + }, + "hint": { + "type": "string" + }, + "retry_after_seconds": { + "type": "integer" + } + }, + "required": [ + "error" + ], + "type": "object" + } +]
- Changed
list_sections1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "coverage": { - "additionalProperties": false, - "properties": { - "baseline_ready": { - "type": "boolean" - }, - "eligible_sites": { - "type": "integer" - }, - "indexed_sites": { - "type": "integer" - }, - "partial_sites": { - "type": "integer" - }, - "pending_files": { - "type": "integer" - }, - "updated_at": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "eligible_sites", - "indexed_sites", - "partial_sites", - "pending_files", - "baseline_ready", - "updated_at" - ], - "type": "object" - }, - "filters": { - "additionalProperties": false, - "properties": { - "action": { - "type": [ - "string", - "null" - ] - }, - "country": { - "type": [ - "string", - "null" - ] - }, - "sectionMatch": { - "enum": [ - "all", - "any" - ] - }, - "sections": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "sections", - "sectionMatch" - ], - "type": "object" - }, - "page": { - "type": "integer" - }, - "per_page": { - "type": "integer" - }, - "results": { - "items": { - "additionalProperties": false, - "properties": { - "change_7d": { - "type": "integer" - }, - "emerged_at": { - "type": [ - "string", - "null" - ] - }, - "first_seen": { - "type": "string" - }, - "key": { - "type": "string" - }, - "label": { - "type": "string" - }, - "sites": { - "type": "integer" - }, - "total_sites": { - "type": "integer" - }, - "trend_evidence": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "publisher_groups": { - "type": "integer" - } - }, - "required": [ - "publisher_groups" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "key", - "label", - "sites", - "total_sites", - "first_seen", - "emerged_at", - "change_7d", - "trend_evidence" - ], - "type": "object" - }, - "type": "array" - }, - "total": { - "type": "integer" - }, - "trend_policy": { - "type": "string" - } - }, - "required": [ - "total", - "page", - "per_page", - "results", - "trend_policy", - "filters", - "coverage" - ], - "type": "object" - }, - { - "additionalProperties": true, - "properties": { - "detail": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "error": { - "type": "string" - }, - "hint": { - "type": "string" - }, - "retry_after_seconds": { - "type": "integer" - } - }, - "required": [ - "error" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "coverage": { + "additionalProperties": false, + "properties": { + "baseline_ready": { + "type": "boolean" + }, + "eligible_sites": { + "type": "integer" + }, + "indexed_sites": { + "type": "integer" + }, + "partial_sites": { + "type": "integer" + }, + "pending_files": { + "type": "integer" + }, + "statistics_stale": { + "type": "boolean" + }, + "statistics_updated_at": { + "type": "string" + }, + "updated_at": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "eligible_sites", + "indexed_sites", + "partial_sites", + "pending_files", + "baseline_ready", + "updated_at" + ], + "type": "object" + }, + "filters": { + "additionalProperties": false, + "properties": { + "action": { + "type": [ + "string", + "null" + ] + }, + "country": { + "type": [ + "string", + "null" + ] + }, + "sectionMatch": { + "enum": [ + "all", + "any" + ] + }, + "sections": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "sections", + "sectionMatch" + ], + "type": "object" + }, + "page": { + "type": "integer" + }, + "per_page": { + "type": "integer" + }, + "results": { + "items": { + "additionalProperties": false, + "properties": { + "change_7d": { + "type": "integer" + }, + "emerged_at": { + "type": [ + "string", + "null" + ] + }, + "first_seen": { + "type": "string" + }, + "key": { + "type": "string" + }, + "label": { + "type": "string" + }, + "sites": { + "type": "integer" + }, + "total_sites": { + "type": "integer" + }, + "trend_evidence": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "publisher_groups": { + "type": "integer" + } + }, + "required": [ + "publisher_groups" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "key", + "label", + "sites", + "total_sites", + "first_seen", + "emerged_at", + "change_7d", + "trend_evidence" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + }, + "trend_policy": { + "type": "string" + } + }, + "required": [ + "total", + "page", + "per_page", + "results", + "trend_policy", + "filters", + "coverage" + ], + "type": "object" + }, + { + "additionalProperties": true, + "properties": { + "detail": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "error": { + "type": "string" + }, + "hint": { + "type": "string" + }, + "retry_after_seconds": { + "type": "integer" + } + }, + "required": [ + "error" + ], + "type": "object" + } +]
4 tool updates
- Changed
explore_sections1 field changed- changed
Input schema / properties / page / descriptionPrevious value: -"Page number. Public discovery has no automatic result-window quota; each page holds at most 100 records."New value: +"Page number. Anonymous result window: 250; free registered integrations: 1,000. Each page holds at most 100 records."
- Changed
list_domains1 field changed- changed
Input schema / properties / page / descriptionPrevious value: -"Page number. Public discovery has no automatic result-window quota; each page holds at most 100 records."New value: +"Page number. Anonymous result window: 250; free registered integrations: 1,000. Each page holds at most 100 records."
- Changed
list_sections1 field changed- changed
Input schema / properties / page / descriptionPrevious value: -"Page number. Public discovery has no automatic result-window quota; each page holds at most 100 records."New value: +"Page number. Anonymous result window: 250; free registered integrations: 1,000. Each page holds at most 100 records."
- Changed
search_llms_registry1 field changed- changed
Input schema / properties / page / descriptionPrevious value: -"Page number. Public discovery has no automatic result-window quota; each page holds at most 100 records."New value: +"Page number. Anonymous result window: 250; free registered integrations: 1,000. Each page holds at most 100 records."
3 tool updates
- Changed
directory_stats1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "domains_tracked": { - "type": "integer" - }, - "last_checked": { - "type": [ - "string", - "null" - ] - }, - "listed": { - "type": "integer" - }, - "pending": { - "type": "integer" - }, - "valid_llms_txt": { - "type": "integer" - }, - "verified": { - "type": "integer" - }, - "with_llms_full_txt": { - "type": "integer" - } - }, - "required": [ - "domains_tracked", - "valid_llms_txt", - "listed", - "verified", - "with_llms_full_txt", - "pending", - "last_checked" - ], - "type": "object" - }, - { - "additionalProperties": true, - "properties": { - "detail": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "error": { - "type": "string" - }, - "hint": { - "type": "string" - }, - "retry_after_seconds": { - "type": "integer" - } - }, - "required": [ - "error" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "domains_tracked": { + "type": "integer" + }, + "last_checked": { + "type": [ + "string", + "null" + ] + }, + "listed": { + "type": "integer" + }, + "pending": { + "type": "integer" + }, + "statistics_stale": { + "type": "boolean" + }, + "statistics_updated_at": { + "type": "string" + }, + "valid_llms_txt": { + "type": "integer" + }, + "verified": { + "type": "integer" + }, + "with_llms_full_txt": { + "type": "integer" + } + }, + "required": [ + "domains_tracked", + "valid_llms_txt", + "listed", + "verified", + "with_llms_full_txt", + "pending", + "last_checked" + ], + "type": "object" + }, + { + "additionalProperties": true, + "properties": { + "detail": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "error": { + "type": "string" + }, + "hint": { + "type": "string" + }, + "retry_after_seconds": { + "type": "integer" + } + }, + "required": [ + "error" + ], + "type": "object" + } +]
- Changed
list_categories1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "agentic": { - "additionalProperties": false, - "properties": { - "documentation": { - "type": "integer" - }, - "informational": { - "type": "integer" - }, - "interface": { - "type": "integer" - }, - "transactional": { - "type": "integer" - }, - "unlabelled": { - "type": "integer" - } - }, - "required": [ - "interface", - "transactional", - "documentation", - "informational", - "unlabelled" - ], - "type": "object" - }, - "capabilities": { - "items": { - "additionalProperties": false, - "properties": { - "count": { - "minimum": 0, - "type": "integer" - }, - "id": { - "const": "mcp" - }, - "label": { - "type": "string" - } - }, - "required": [ - "id", - "label", - "count" - ], - "type": "object" - }, - "type": "array" - }, - "categories": { - "items": { - "additionalProperties": false, - "properties": { - "count": { - "minimum": 0, - "type": "integer" - }, - "description": { - "type": "string" - }, - "id": { - "enum": [ - "ai-ml", - "developer-tools", - "infrastructure", - "data-analytics", - "cybersecurity", - "finance-payments", - "ecommerce", - "productivity", - "marketing", - "education", - "healthcare", - "media", - "design", - "gaming", - "travel", - "community", - "legal", - "recruiting-careers", - "industrial-manufacturing", - "real-estate", - "arts-culture", - "sports-fitness", - "food-dining", - "automotive", - "government-public-services", - "science-research", - "ai-agents-mcp", - "apis-sdks", - "databases", - "auth-identity", - "devops-observability", - "no-code-automation", - "communications", - "crypto-web3", - "saas-business-software", - "open-source", - "documentation-reference", - "fashion-beauty", - "home-garden", - "consumer-electronics", - "pets", - "insurance", - "telecom", - "logistics-shipping", - "energy-utilities", - "construction-architecture", - "agriculture", - "nonprofit", - "events", - "personal-blog", - "entertainment", - "local-business" - ], - "type": "string" - }, - "label": { - "type": "string" - } - }, - "required": [ - "id", - "label", - "description", - "count" - ], - "type": "object" - }, - "type": "array" - }, - "taxonomy_version": { - "type": "string" - }, - "uncategorized": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "taxonomy_version", - "categories", - "agentic", - "capabilities", - "uncategorized" - ], - "type": "object" - }, - { - "additionalProperties": true, - "properties": { - "detail": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "error": { - "type": "string" - }, - "hint": { - "type": "string" - }, - "retry_after_seconds": { - "type": "integer" - } - }, - "required": [ - "error" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "agentic": { + "additionalProperties": false, + "properties": { + "documentation": { + "type": "integer" + }, + "informational": { + "type": "integer" + }, + "interface": { + "type": "integer" + }, + "transactional": { + "type": "integer" + }, + "unlabelled": { + "type": "integer" + } + }, + "required": [ + "interface", + "transactional", + "documentation", + "informational", + "unlabelled" + ], + "type": "object" + }, + "capabilities": { + "items": { + "additionalProperties": false, + "properties": { + "count": { + "minimum": 0, + "type": "integer" + }, + "id": { + "const": "mcp" + }, + "label": { + "type": "string" + } + }, + "required": [ + "id", + "label", + "count" + ], + "type": "object" + }, + "type": "array" + }, + "categories": { + "items": { + "additionalProperties": false, + "properties": { + "count": { + "minimum": 0, + "type": "integer" + }, + "description": { + "type": "string" + }, + "id": { + "enum": [ + "ai-ml", + "developer-tools", + "infrastructure", + "data-analytics", + "cybersecurity", + "finance-payments", + "ecommerce", + "productivity", + "marketing", + "education", + "healthcare", + "media", + "design", + "gaming", + "travel", + "community", + "legal", + "recruiting-careers", + "industrial-manufacturing", + "real-estate", + "arts-culture", + "sports-fitness", + "food-dining", + "automotive", + "government-public-services", + "science-research", + "ai-agents-mcp", + "apis-sdks", + "databases", + "auth-identity", + "devops-observability", + "no-code-automation", + "communications", + "crypto-web3", + "saas-business-software", + "open-source", + "documentation-reference", + "fashion-beauty", + "home-garden", + "consumer-electronics", + "pets", + "insurance", + "telecom", + "logistics-shipping", + "energy-utilities", + "construction-architecture", + "agriculture", + "nonprofit", + "events", + "personal-blog", + "entertainment", + "local-business" + ], + "type": "string" + }, + "label": { + "type": "string" + } + }, + "required": [ + "id", + "label", + "description", + "count" + ], + "type": "object" + }, + "type": "array" + }, + "statistics_stale": { + "type": "boolean" + }, + "statistics_updated_at": { + "type": "string" + }, + "taxonomy_version": { + "type": "string" + }, + "uncategorized": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "taxonomy_version", + "categories", + "agentic", + "capabilities", + "uncategorized" + ], + "type": "object" + }, + { + "additionalProperties": true, + "properties": { + "detail": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "error": { + "type": "string" + }, + "hint": { + "type": "string" + }, + "retry_after_seconds": { + "type": "integer" + } + }, + "required": [ + "error" + ], + "type": "object" + } +]
- Changed
list_countries1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "countries": { - "items": { - "additionalProperties": false, - "properties": { - "code": { - "type": "string" - }, - "count": { - "type": "integer" - }, - "name": { - "type": "string" - } - }, - "required": [ - "code", - "name", - "count" - ], - "type": "object" - }, - "type": "array" - }, - "meaning": { - "type": "string" - }, - "total": { - "type": "integer" - }, - "unknown": { - "type": "integer" - } - }, - "required": [ - "countries", - "unknown", - "total", - "meaning" - ], - "type": "object" - }, - { - "additionalProperties": true, - "properties": { - "detail": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "error": { - "type": "string" - }, - "hint": { - "type": "string" - }, - "retry_after_seconds": { - "type": "integer" - } - }, - "required": [ - "error" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "countries": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "count": { + "type": "integer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "code", + "name", + "count" + ], + "type": "object" + }, + "type": "array" + }, + "meaning": { + "type": "string" + }, + "statistics_stale": { + "type": "boolean" + }, + "statistics_updated_at": { + "type": "string" + }, + "total": { + "type": "integer" + }, + "unknown": { + "type": "integer" + } + }, + "required": [ + "countries", + "unknown", + "total", + "meaning" + ], + "type": "object" + }, + { + "additionalProperties": true, + "properties": { + "detail": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "error": { + "type": "string" + }, + "hint": { + "type": "string" + }, + "retry_after_seconds": { + "type": "integer" + } + }, + "required": [ + "error" + ], + "type": "object" + } +]
Related MCP Connectors
Audit website AI readiness, publish Markdown pages for LLMs and manage llms.txt.
Create, validate and audit llms.txt, incl. the Lighthouse Agentic Browsing check.
Any site's llms.txt: find the covering index, read its linked docs as markdown, search sections.
Read-only search and discovery for the international llms.txt directory maintained by llmsmap.me.
Related MCP Servers
- AlicenseAqualityCmaintenanceFetches and caches public site pages from llms.txt and returns structured answers with source URLs, enabling verification of claims against live public content.4MIT
- AlicenseNot gradedqualityDmaintenanceFetches and parses documentation from llms.txt files to enable AI assistants to access and query documentation dynamically.523 npmMIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables MCP host applications to retrieve and process structured documentation from user-defined llms.txt files. It provides tools to fetch specific URLs and audit the documentation context returned to the LLM.MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to extract, validate, and discover documentation from websites using llms.txt and install.md standards.26 npm35-
Glama MCP Gateway
Add one secure layer between your agents and this server.