AgentDrives
Server Details
How far AI agents get in real software, sign-up to pay. Read-only, no account at /api/mcp.
- Status
- Healthy
- Uptime
- 100.0% over 23 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 9 tools
Most tools have a clearly distinct lens (task-based ranking, name search, single product, surfaces, changes), and the descriptions explicitly cross-reference each other to steer selection. The weak spot is get_category versus list_best_providers, which both return a category's top products ranked by agent level (0-5) and are only separated by subtle framing (leaders digest vs. 'which works best').
All nine names follow a clean snake_case verb_noun pattern: choose_*, compare_*, get_*, list_*, search_*. Verbs are used consistently by intent (get = one entity, list = collection, search/choose = discovery).
Nine tools is well within the sweet spot for a read-only directory server. Each maps to a real query mode (discover by task, by name, by category, inspect one product, inspect surfaces, compare, track changes) with no obvious filler.
The read-only directory lifecycle is largely covered: category discovery, ranked shortlisting, keyword search with pagination, single-product detail, surface-level detail, comparison and change history. Gaps are minor — no bulk surfaces lookup for a shortlist, no explicit slug-resolution tool separate from search_tools, and the category-leader surface is duplicated rather than extended.
Available Tools
9 toolschoose_provider_for_taskChoose a providerARead-onlyIdempotentInspect
Choose a payments, email, sign-in, scheduling or data provider for a task: send the task in a few plain words ('send an invoice') with filters if they matter, and get the SaaS, APIs, MCP servers and CLIs ranked by how far our agent got. Use search_tools when you have a name, domain or kind, and get_provider for one product. Read-only, no key needed; 5 results by default (up to 25), each with its agent level (0-5), the closest task and what happened, and next steps: sign-up, docs and MCP links.
| Name | Required | Description | Default |
|---|---|---|---|
| task | No | The task in plain words, e.g. 'send an invoice' or 'create a contact'. Send this or capability | |
| brief | No | true (the default): each product with its next steps, under 8 KB for five; false: every field, with can_do, checks, connect, pay_rails and cite | |
| limit | No | How many products to return, 1 to 25 (default 5) | |
| access | No | signup_without_human: only products our agent signed up for and got into without a person (no browser login by a person) | |
| surface | No | only products that offer this way for an agent to work them: api, mcp (an MCP server), cli or sdk; a comma list wants every one, e.g. mcp,cli | |
| category | No | Only this category: an id or name from list_categories (e.g. 'invoicing') | |
| min_level | No | Only products at this agent level or higher: 0 Read-only, 1 Needs a person, 2 Gets in, 3 Does the work, 4 Runs on its own, 5 Autonomous | |
| pays_with | No | only products that take this way to pay: x402 or mpp (agent-native rails our drive met or the product documents) or card (a card checkout); a comma list takes any one, e.g. x402,mpp | |
| capability | No | A capability of the shared vocabulary instead of task: its id (e.g. from GET /api/capabilities) or its name, e.g. 'Send a transactional email' | |
| self_signup | No | true: only products our agent signed up for and got a key on its own, without a person |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | Choose a provider |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive, but the description adds genuinely new context: no API key is needed, results default to 5 and cap at 25, and each result carries an agent level (0-5) plus a closest-task outcome. It does not discuss pagination or how ranking ties are broken, which keeps it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the purpose and the task-input hint before the sibling routing and result details. Slightly run-on in the first sentence, and 'Read-only, no key needed' partly restates the readOnlyHint annotation, but overall every clause carries 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 10-parameter, filter-heavy discovery tool with an output schema, the description covers the input style, the filters' purpose, defaults and limits, and the result payload. An agent has enough to call it correctly without opening the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 10 parameters thoroughly. The description only reinforces the task phrasing ('send the task in a few plain words') and the default/max result counts, adding marginal meaning beyond the structured fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Choose a ... provider for a task'), enumerates the domains covered (payments, email, sign-in, scheduling, data), and names the output shape (SaaS, APIs, MCP servers, CLIs ranked by agent progress). This is clearly distinguishable from lookup siblings like get_provider and search_tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit routing rule: use this tool with a plain-words task, use search_tools when you have a name, domain or kind, and get_provider for one product. The condition that selects each alternative is stated, so no inference is required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_providersCompare products for a taskARead-onlyIdempotentInspect
Compare 2 or 3 products side by side for one task, from our test drives: send their slugs (from search_tools), names or domains, and the task in a few plain words. For each: driven or only listed, agent level (0-5), how far our agent got at each step and where it stopped, what it did on the task, how to connect (MCP, API, CLI), the date and its page; a name we don't cover comes back in not_covered. Read-only, no key needed.
| Name | Required | Description | Default |
|---|---|---|---|
| task | No | The task in plain words, e.g. 'send a transactional email': adds each product's closest task and what our agent did there | |
| tools | Yes | 2 or 3 products: each a slug from search_tools (e.g. 'resend'), a name or a domain |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | Compare products for a task |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and closed-world, and the description adds 'no key needed' auth context plus a rich account of what each row contains (driven vs only listed, agent level 0-5, stopping point, connection method, date, page). The 'not_covered' fallback for unknown names is genuinely useful behavior disclosure the schema never mentions.
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, zero filler, with the core action and constraint front-loaded and the return payload enumerated compactly afterward. The final 'Read-only, no key needed' short clause is terse despite overlapping annotations.
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 only two params, a full schema, and an output schema present, the description is more than sufficient — it even previews return fields and the not_covered edge case. The one gap is explicit routing against the closely named siblings choose_provider_for_task and get_provider.
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 both parameters are documented there, so the baseline is 3. The description does echo the accepted identifier forms (slug, name, domain) and clarifies that task is optional background that adds a 'closest task' row, but that largely restates 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 (Compare) and resource (products, 2-3) plus scope ('for one task, from our test drives'), which makes it distinguishable from single-product get_provider and decision-oriented choose_provider_for_task. The agent knows exactly what the tool returns by the end of the sentence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: sending 2-3 products signals batch comparison versus get_provider for one, and 'slugs (from search_tools)' routes the agent through the search sibling first. But there is no explicit when-to-use guidance against choose_provider_for_task or list_best_providers, and no stated exclusion for single-product lookups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_agent_surfacesWhat an agent can use at a productARead-onlyIdempotentInspect
List what an agent can use at one product: its API, MCP server, CLI, SDK, docs and payment, each tested, documented, none_found or unknown, with the product's own URL for it and the date we saw it. Use it to wire up a product you already picked; use get_provider for the whole drive result. Read-only, no key needed; about 1 KB.
| Name | Required | Description | Default |
|---|---|---|---|
| product | Yes | The product's directory slug from search_tools (e.g. 'stripe'), or its name or domain |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | What an agent can use at a product |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint false, and openWorldHint false, so the safety profile is covered. The description still adds useful context beyond annotations: no key is required, the response is about 1 KB, and each surface carries a status such as tested, documented, none_found, or unknown plus a URL and observation date. The only redundancy is repeating 'Read-only,' which the annotations already state.
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 dense sentences with no wasted words: the first defines the output and its fields, the second gives usage routing plus auth and size. The scoping and alternative are front-loaded in a natural reading order.
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?
This is a low-complexity, single-parameter, read-only tool with a full input schema, rich annotations, and an output schema. The description covers purpose, sibling routing, auth requirements, and approximate response size, so an agent has everything needed to call it correctly without needing return-value documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the single 'product' parameter is fully explained in the schema, including that it accepts a directory slug, name, or domain. The description reinforces the 'one product' scope but adds no syntax or format detail beyond what the schema already 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 opens with a precise verb-and-resource statement: 'List what an agent can use at one product,' then enumerates the surfaces (API, MCP server, CLI, SDK, docs, payment). It explicitly distinguishes itself from the sibling get_provider, so an agent can tell the two apart without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states exactly when to use it ('to wire up a product you already picked') and names the alternative for a different need ('use get_provider for the whole drive result'). This is explicit when-to-use and when-to-use-something-else guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_categoryGet one categoryARead-onlyIdempotentInspect
Get one category's leaders: its name, how many products AgentDrives drove in it, the best agent level in it (0-5) and its top 10 products by level, each with its drive date and page. Use it to shortlist in a category you know; use search_tools with the same category for the rest. Read-only, no key needed.
| Name | Required | Description | Default |
|---|---|---|---|
| category | Yes | A category id or name from list_categories, such as 'crm' or 'Invoicing'; an unknown one is an error that points to list_categories |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | Get one category |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so "Read-only" is largely a restatement. "No key needed" does add genuine auth context, and the top-10 cap is a meaningful truncation behavior, but the description does not say what happens when a category has fewer products or how the level ranking breaks ties.
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 return payload and ending on the routing advice; no filler. The enumerated return list is dense but each item is substantive, though the density slightly hurts scannability.
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 read tool with an output schema, annotations, and full schema coverage, the description supplies everything an agent needs: what is returned, the top-10 truncation, the sibling to use for broader search, and the absence of an auth requirement.
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 100% schema coverage on a single parameter, the schema already explains that category accepts an id or name from list_categories and that unknown values error. The description only implies the parameter via "in a category you know" and adds no syntax or format detail, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ("Get one category") and then enumerates exactly what comes back: name, number of products driven, best agent level 0-5, and top 10 products with drive date and page. That level of return detail distinguishes it clearly from list_categories and search_tools without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states both the when ("shortlist in a category you know") and the alternative for the opposite case ("use search_tools with the same category for the rest"), naming the sibling explicitly. The schema's category description additionally routes unknown values to list_categories.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_providerGet one product's drive resultARead-onlyIdempotentInspect
Get one product's result, when the question is whether an AI agent can use it: send its slug from search_tools, or its name or domain, and get its test-drive result (agent level 0-5, where our agent stopped and why, what it can and can't do, how it gets in and pays). Use get_agent_surfaces instead when you only need its API, MCP, CLI and SDK. Read-only, no key needed; the headline (2.5 to 5 KB) unless brief is false (13 to 35 KB).
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The product's directory slug from search_tools (e.g. 'attio'), or its name or domain | |
| brief | No | true (the default here): the headline, 2.5 to 5 KB; false: the full record, 13 to 35 KB, with every checkpoint, way in and claim |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | Get one product's drive result |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds real behavior beyond that: 'no key needed' authentication, the payload contents (agent level 0-5, where the agent stopped and why, what it can and can't do, how it gets in and pays), and the 2.5-5 KB vs 13-35 KB size difference between modes. It stops short of latency or pagination details, but nothing essential is missing.
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?
It is a single dense sentence but front-loaded with the purpose and the alternative before the payload details. Every clause earns its place (purpose, input source, alternative, safety, size), though the parenthetical enumerations make it feel packed rather than streamlined.
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 needn't be explained. The description still covers what is inside the result, the two size regimes, that no key is required, and which sibling handles the narrower surface question. That is complete enough for a two-parameter read tool; only operational details like latency are absent.
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%: the schema already documents that slug accepts a slug, name or domain, and that brief toggles between headline and full record with the same size ranges. The description mostly restates this, though mentioning 'its slug from search_tools' adds a small workflow hint about where the identifier comes from. Baseline 3 is appropriate 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?
States a specific verb and resource ('Get one product's result') with explicit scope ('when the question is whether an AI agent can use it'). It names the sibling it is not ('Use get_agent_surfaces instead when you only need its API, MCP, CLI and SDK'), so an agent can route between them without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives the exact condition that selects this tool (whether an agent can use a product) and the explicit alternative with its own condition (get_agent_surfaces for surface inventory only). It also points at the source of the key input ('its slug from search_tools'), removing an inference step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_best_providersBest providers in a categoryARead-onlyIdempotentInspect
Answers "which provider works best for X?": one category's driven products ranked by agent level (0-5), each with where our agent stopped, and how many we drove in it; under 5, not enough drives yet. Then get_provider for one product. Read-only, no key needed.
| Name | Required | Description | Default |
|---|---|---|---|
| category | Yes | A focus category (payments, email, sign-in, scheduling, data) or a category id or name from list_categories, such as 'crm'; an unknown one is an error |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | Best providers in a category |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive, so repeating "Read-only" is low value, but "no key needed" adds auth context not present in annotations. The description goes further by explaining the meaning of the returned score (0-5 agent level) and the threshold below which data is insufficient, which is behavioral signal an agent cannot get from the annotations. It stays silent on result size or ordering ties, but that is minor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The lead question is front-loaded and the whole definition is two compact sentences with no filler. The chain of semicolon clauses and jargon ("driven products", "where our agent stopped") is a bit dense to parse on first read, but nothing is 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 needn't be spelled out, and annotations cover the safety profile; the description fills the remaining gaps by explaining ranking basis and the insufficiency threshold. For a single-parameter read tool this is close to complete, with only sibling disambiguation missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the category parameter already documents accepted focus categories, ids, names from list_categories, and the error on unknown values. The description only reinforces that it takes exactly one category. Baseline 3 applies since the schema carries the parameter burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: one category's products ranked by agent level, each with a stopping point and drive count. The framing question ("which provider works best for X?") makes the intent immediately legible and it hands off deeper lookups to get_provider. It does not differentiate itself from near siblings like compare_providers or choose_provider_for_task, which an agent could easily mistake for the same job.
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 supplies an interpretive rule ("under 5, not enough drives yet") and a follow-up path ("Then get_provider for one product"), which is genuinely useful routing. However, it never says when to prefer this over compare_providers or choose_provider_for_task, nor what an unknown/empty category result means beyond the schema's error note. Usage is implied rather than delimited.
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 every category in the directory with its id, name, number of products and best agent level (0-5). Use it for a valid category id before choose_provider_for_task, search_tools or get_category. Read-only, no key needed; takes no arguments.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | List categories |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so safety is covered. The description still adds useful operational context: "no key needed" (auth requirement) and "takes no arguments" (confirms nothing must be supplied). It doesn't need to describe return shape because an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences: the first front-loads what is returned, the second the sequencing and safety. No redundant or padding text.
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-argument, read-only listing tool with full annotation coverage and an output schema, nothing further is needed. The description covers what it returns, when to call it and its prerequisites.
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 the baseline is 4. The sentence "takes no arguments" reinforces the empty schema but adds no further meaning, and no syntax or filtering options need explaining.
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 every category in the directory") plus the exact fields returned (id, name, product count, best agent level). The agent can distinguish it from get_category, which returns details for one category, without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use it to obtain a valid category id *before* choose_provider_for_task, search_tools or get_category, naming three sibling tools and their ordering. This is genuine routing guidance rather than an implied purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_changesWhat changed latelyARead-onlyIdempotentInspect
List what changed in the directory lately: products whose agent level moved between two drives, with the date, the cause and the level now, newest first. Send a slug to get every dated change at one product you picked (level, surfaces that appeared or stopped answering, price and plan, each with its source); use get_provider for its full drive result. Read-only, no key needed; narrow it with days, category or slug.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | How many days back to look, 1 to 31 (default 7) | |
| slug | No | Only this product: its slug from search_tools. Adds changes, its every public change since its first drive | |
| category | No | Only this category: an id or name from list_categories |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | What changed lately |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive and closed-world, so the safety bar is covered. The description adds genuinely new behavior: results come newest first, the slug mode expands from a windowed list into every public change since the product's first drive, each entry carries its source, and no key is required. It does not mention result limits or pagination, which would have pushed this higher.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core listing behavior and ordering are front-loaded, and the closing sentence bundles permission model and narrowing options efficiently with no wasted paragraphs. Some phrasing is dense and mildly convoluted ("products whose agent level moved between two drives"), and the long parenthetical stacks several return fields that the output schema likely already covers.
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 annotations carrying the safety profile, the description needs only mode selection and scoping, both of which it supplies, plus the dual-mode result-shape change that an agent would otherwise misjudge before calling. Only the omission of result volume/pagination behavior keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents days (1-31, default 7), slug provenance (from search_tools) and category provenance (from list_categories). The description only restates these as "narrow it with days, category or slug" and reinforces the slug mode's expanded scope, adding little syntax or behavioral nuance beyond the structured fields. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"List what changed in the directory lately" gives a concrete verb and resource, then immediately names the payload (agent-level moves, date, cause, current level) and the ordering (newest first). It also distinguishes the two modes (directory-wide vs. single-product via slug) and names get_provider as the sibling for the full drive result, so an agent can separate it from compare_providers or get_agent_surfaces without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent: send a slug for a full dated history of one product, but use get_provider when you want the full drive result; narrow by days, category or slug otherwise. The one gap is the absence of an explicit when-not-to-use case (e.g. how this differs from list_best_providers or compare_providers for ranking questions), which is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_toolsSearch the directoryARead-onlyIdempotentInspect
Search the directory of driven SaaS, API, MCP server and CLI products by a product's name, domain or kind: send a short query ('stripe.com', 'postgres', 'invoicing') with filters for category, agent level, access or payment. Use choose_provider_for_task instead for a task in plain words, and get_provider for one product in full. Read-only, no key needed; up to 100 results a page sorted by agent level, with total and next_offset for the rest.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many products a page holds, 1 to 100 (default 25) | |
| query | No | Name, domain or what the tool does, e.g. 'invoicing', 'stripe.com' or 'postgres'; every word must match (the same search as the directory page) | |
| access | No | only products an agent gets into this way: signup_without_human (our agent signed up and got in without a person, any way), keyless (no key needed), local (runs locally), try_first (try first, claim later), pay_per_call, key_by_api, mcp_signin (our agent signed in to the product's own MCP server, by OAuth, and got in that way), email_signup, browser_signup, by_name (with a GitHub, Google or platform account), person (a person had to set it up: not counted) | |
| offset | No | skip this many matches first: the next page starts at the previous answer's next_offset | |
| surface | No | only products that offer this way for an agent to work them: api, mcp (an MCP server), cli or sdk; a comma list wants every one, e.g. mcp,cli | |
| category | No | A category id or name from list_categories (e.g. 'crm'); an unknown one is an error that says so | |
| min_level | No | Only products at this agent level or higher: 0 Read-only, 1 Needs a person, 2 Gets in, 3 Does the work, 4 Runs on its own, 5 Autonomous | |
| pays_with | No | only products that take this way to pay: x402 or mpp (agent-native rails our drive met or the product documents) or card (a card checkout); a comma list takes any one, e.g. x402,mpp; also l402, stripe-projects, acp, ucp, ap2, mcp-payment | |
| agent_can_buy | No | true: only products our agent paid through an agent-native rail (x402, MPP and the like), proven by the payment | |
| agent_can_leave | No | true: only products where our agent cancelled and deleted its account on its own |
Output Schema
| Name | Required | Description |
|---|---|---|
| try | No | |
| more | No | |
| total | No | |
| offset | No | |
| result | Yes | Search the directory |
| next_offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds value beyond that: no key required, results capped at 100 per page, sorted by agent level, with total and next_offset exposed for paging. It does not describe failure modes or empty-result behavior, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and search keys, then alternatives, then behavioral facts. It is dense and every sentence carries information, though the alternative-routing and pagination details are packed into a single run-on sentence that could be split for scanability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter read-only search tool with an output schema and full annotations, the definition supplies what is missing structurally: the absence of auth, result ordering, and pagination via next_offset. Error behavior for unknown categories is delegated to the schema, which is acceptable but leaves a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with rich per-parameter prose, so the schema already carries the parameter meaning. The description only restates the filter families in summary form and notes that the query is short and must match every word — a small addition that is largely duplicated by the query parameter description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Search the directory of driven SaaS, API, MCP server and CLI products') plus the searchable dimensions (name, domain, kind) and enumerates the filter families. It explicitly distinguishes itself from choose_provider_for_task and get_provider, so an agent can pick it without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete query examples ('stripe.com', 'postgres', 'invoicing') and routes the agent elsewhere with conditions: choose_provider_for_task for a task in plain words, get_provider for a single product in full. That is explicit when-to-use and when-to-use-something-else guidance.
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.
6 tool updates
- Added
compare_providers - Removed
compare_tools - Added
get_provider - Removed
get_tool - Added
list_best_providers - Removed
list_best_tools
41 tool updates
- Removed
audit_fixes - Removed
balance - Removed
case_status - Added
choose_provider_for_task - Removed
claim_domain - Changed
compare_tools5 fields changed- changed
Output schema / properties / result / descriptionPrevious value: -"Compare products for a task: Compare 2 or 3 products side by side for one task, from our test drives: send their slugs (from search_tools), names or domains, and the task in a few plain words."New value: +"Compare products for a task" - removed
Output schema / properties / result / properties / not_covered / descriptionRemoved value: -"Each name we hold neither driven nor listed" - removed
Output schema / properties / result / properties / not_covered / itemsRemoved value: -{ - "properties": { - "asked": { - "type": "string" - }, - "closest": { - "items": { - "properties": { - "name": { - "type": [ - "string", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "asked", - "closest" - ], - "type": "object" -} - removed
Output schema / properties / result / properties / products / itemsRemoved value: -{ - "properties": { - "as_of": { - "type": [ - "string", - "null" - ] - }, - "asked": { - "type": "string" - }, - "connect": { - "properties": { - "api": { - "properties": { - "state": { - "enum": [ - "tested", - "documented", - null - ] - }, - "url": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "cli": { - "properties": { - "install": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - null - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented", - null - ] - }, - "transport": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - } - }, - "type": "object" - }, - "disclosure": { - "type": [ - "string", - "null" - ] - }, - "draft": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "name": { - "type": "string" - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "type": [ - "string", - "null" - ] - }, - "page": { - "type": [ - "string", - "null" - ] - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "slug": { - "type": "string" - }, - "status": { - "enum": [ - "driven", - "listed" - ] - }, - "steps": { - "items": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "yes", - "part", - "no", - "unreached", - "na", - null - ] - }, - "step": { - "enum": [ - "in", - "work", - "pay", - "leave", - null - ] - }, - "text": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "stop": { - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown", - null - ] - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - } - }, - "required": [ - "asked", - "slug", - "name", - "status", - "level", - "steps", - "connect", - "as_of", - "page" - ], - "type": "object" -} - removed
Output schema / properties / result / properties / taskRemoved value: -{ - "description": "The task, when sent", - "type": [ - "string", - "null" - ] -}
- Removed
directory_listing - Removed
dispute_result - Removed
drive_detail - Removed
drive_stop - Removed
find_tools_for_task - Removed
follow_tool - Removed
followup_drive - Removed
free_drive - Changed
get_agent_surfaces13 fields changed- changed
Output schema / properties / result / descriptionPrevious value: -"What an agent can use at a product: What an agent can use at one product we drove, in about 1 KB: for each of api, mcp, cli, sdk, docs and payment its state (tested: our drive tried it; documented: the product publishes it, not tried in the drive; none_found: the drive looked and found none; unknown: no evidence either way), documented and tested (counts of operations, tools, commands, methods or "New value: +"What an agent can use at a product" - removed
Output schema / properties / result / properties / issues_found / descriptionRemoved value: -"How many issues the drive found" - removed
Output schema / properties / result / properties / issues_found / minimumRemoved value: -0 - removed
Output schema / properties / result / properties / level / descriptionRemoved value: -"Agent level, the only rank" - removed
Output schema / properties / result / properties / level / maximumRemoved value: -5 - removed
Output schema / properties / result / properties / level / minimumRemoved value: -0 - removed
Output schema / properties / result / properties / level_nameRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / result / properties / page / descriptionRemoved value: -"The product's page with us" - removed
Output schema / properties / result / properties / slug / descriptionRemoved value: -"The product's address in the directory (can change" - removed
Output schema / properties / result / properties / surfaces / propertiesRemoved value: -{ - "api": { - "properties": { - "date": { - "type": [ - "string", - "null" - ] - }, - "documented": { - "type": [ - "integer", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "source_url": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source_url", - "date", - "note" - ], - "type": "object" - }, - "cli": { - "properties": { - "date": { - "type": [ - "string", - "null" - ] - }, - "documented": { - "type": [ - "integer", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "source_url": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source_url", - "date", - "note" - ], - "type": "object" - }, - "docs": { - "properties": { - "date": { - "type": [ - "string", - "null" - ] - }, - "documented": { - "type": [ - "integer", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "source_url": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source_url", - "date", - "note" - ], - "type": "object" - }, - "mcp": { - "properties": { - "date": { - "type": [ - "string", - "null" - ] - }, - "documented": { - "type": [ - "integer", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "source_url": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source_url", - "date", - "note" - ], - "type": "object" - }, - "payment": { - "properties": { - "date": { - "type": [ - "string", - "null" - ] - }, - "documented": { - "type": [ - "integer", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "source_url": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source_url", - "date", - "note" - ], - "type": "object" - }, - "sdk": { - "properties": { - "date": { - "type": [ - "string", - "null" - ] - }, - "documented": { - "type": [ - "integer", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "source_url": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source_url", - "date", - "note" - ], - "type": "object" - } -} - removed
Output schema / properties / result / properties / surfaces / requiredRemoved value: -[ - "api", - "mcp", - "cli", - "sdk", - "docs", - "payment" -] - removed
Output schema / properties / result / properties / tested_atRemoved value: -{ - "description": "The listed drive's date", - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / result / properties / urlRemoved value: -{ - "description": "The product's own address", - "type": [ - "string", - "null" - ] -}
- Added
get_category - Changed
get_tool7 fields changed- added
Input schema / properties / brief / defaultAdded value: +true - changed
Input schema / properties / brief / descriptionPrevious value: -"true: only the headline: level, where it stopped (with its evidence), the main wall it met, the five outcomes, how an agent gets in (its sign-up, docs, llms.txt, OpenAPI and MCP server URLs), what it can and can't do, tips for agents, the level's history, its confirmation, the vendor it stopped at, fix counts by size, agent_surfaces and issues_found, the evidence hash, first driven, licence and the page"New value: +"true (the default here): the headline, 2.5 to 5 KB; false: the full record, 13 to 35 KB, with every checkpoint, way in and claim" - removed
Output schema / properties / result / anyOfRemoved value: -[ - { - "description": "The full result (brief false)", - "properties": { - "access": { - "description": "How an agent gets in", - "items": { - "description": "How an agent gets in (rules of 13 Oct 2026)", - "properties": { - "by_route": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "core": { - "type": [ - "string", - "null" - ] - }, - "key": { - "enum": [ - "keyless", - "local", - "try_first", - "no_account", - "pay_per_call", - "key_by_api", - "mcp_signin", - "email_signup", - "browser_signup", - "by_name", - "person" - ] - }, - "label": { - "type": "string" - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "type": "array" - }, - "after_wall": { - "description": "After the wall", - "properties": { - "agent_steps": { - "items": { - "properties": { - "rung": { - "type": "string" - }, - "status": { - "enum": [ - "headless", - "browser" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - "coverage_core": { - "type": [ - "integer", - "null" - ] - }, - "done": { - "items": { - "properties": { - "cap": { - "type": "string" - }, - "capability": { - "type": "string" - }, - "route": { - "enum": [ - "headless", - "browser" - ] - }, - "weight": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "kind": { - "enum": [ - "challenge", - "browser-check", - "phone", - "card", - "signup-refused", - "other", - null - ], - "type": [ - "string", - "null" - ] - }, - "label": { - "type": "string" - }, - "parts": { - "items": { - "enum": [ - "holds_up", - "docs_match" - ] - }, - "type": "array" - }, - "step": { - "type": "string" - }, - "steps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "via": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "agent_surfaces": { - "description": "Each way an agent works the product, as the product page's tiles show it, whether or not our agent got in", - "properties": { - "api": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "cli": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "docs": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "mcp": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "payment": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "sdk": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - } - }, - "required": [ - "api", - "mcp", - "cli", - "sdk", - "docs", - "payment" - ], - "type": "object" - }, - "attempts_count": { - "type": "integer" - }, - "badges": { - "description": "agent-can-buy", - "items": { - "enum": [ - "agent-can-buy", - "agent-can-leave" - ] - }, - "type": "array" - }, - "blocks_agent": { - "description": "The bot check that stopped our signed agent on at least one way in, from sign-up to the first call (null", - "type": [ - "string", - "null" - ] - }, - "category": { - "description": "The category id", - "type": "string" - }, - "category_median": { - "additionalProperties": { - "properties": { - "median": { - "type": "integer" - }, - "n": { - "type": "integer" - } - }, - "type": "object" - }, - "description": "Each part score's median in this product's category (holds_up, docs_match", - "type": [ - "object", - "null" - ] - }, - "category_name": { - "type": "string" - }, - "checkout": { - "description": "The walk to the last click", - "type": [ - "object", - "null" - ] - }, - "claims": { - "description": "The claims ledger", - "properties": { - "broken": { - "type": "integer" - }, - "claimed": { - "type": "integer" - }, - "held": { - "type": "integer" - }, - "not_tried": { - "type": "integer" - }, - "tried": { - "type": "integer" - }, - "unclear": { - "type": "integer" - }, - "undocumented_works": { - "type": "integer" - } - }, - "type": [ - "object", - "null" - ] - }, - "confirmation": { - "description": "How far its drives back the level", - "properties": { - "agree": { - "type": "integer" - }, - "confirmed": { - "type": "boolean" - }, - "drives": { - "type": "integer" - }, - "line": { - "type": [ - "string", - "null" - ] - }, - "review": { - "properties": { - "by": { - "type": "string" - }, - "date": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "state": { - "enum": [ - "awaiting", - "confirmed", - "signed_off", - "not_needed", - "rechecking" - ] - }, - "text": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "copilot_connector": { - "description": "The product in GitHub's list of Copilot connectors (GitHub-verified MCP servers), read on checked", - "properties": { - "checked": { - "type": "string" - }, - "name": { - "type": "string" - }, - "server": { - "type": "string" - }, - "source": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "core": { - "description": "Core features done of all, as done/total", - "type": [ - "string", - "null" - ] - }, - "correction": { - "description": "The listing's correction status", - "properties": { - "open": { - "type": "integer" - }, - "reply_by": { - "type": [ - "string", - "null" - ] - }, - "since": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "disputed", - "none" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "coverage_core": { - "description": "Work done", - "type": [ - "integer", - "null" - ] - }, - "coverage_source": { - "description": "computed", - "enum": [ - "computed", - "reported" - ] - }, - "detail": { - "description": "The attempt log with its evidence, for the product's verified owner", - "properties": { - "needs": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": "object" - }, - "disclosure": { - "description": "Only on a drive its owner paid for", - "type": "string" - }, - "docs": { - "description": "The docs read and judged by us before the drive", - "type": [ - "object", - "null" - ] - }, - "docs_overall": { - "description": "The docs pass's verdict (null", - "enum": [ - "complete", - "gaps", - "thin", - "unreachable", - null - ], - "type": [ - "string", - "null" - ] - }, - "domain": { - "type": "string" - }, - "draft": { - "description": "Not reviewed yet", - "type": "boolean" - }, - "drives": { - "description": "Every drive of the product so far", - "type": "integer" - }, - "email_gate": { - "description": "Its sign-up refused our agent's own email address (invalid, disposable, not a work email, only Gmail or Outlook)", - "properties": { - "date": { - "type": "string" - }, - "finding": { - "type": "string" - }, - "fix": { - "type": "string" - }, - "said": { - "type": [ - "string", - "null" - ] - }, - "step": { - "enum": [ - "signup", - "verify" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "engine": { - "description": "What made this drive on our end, so a level that moves with it can be told from one the product moved", - "properties": { - "commit": { - "type": [ - "string", - "null" - ] - }, - "driver": { - "type": [ - "integer", - "null" - ] - }, - "inbox": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "model": { - "type": [ - "string", - "null" - ] - }, - "prompts": { - "properties": { - "commit": { - "type": [ - "string", - "null" - ] - }, - "version": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "robots": { - "enum": [ - "start", - "obey", - "skip", - "consent" - ] - }, - "rules": { - "properties": { - "commit": { - "type": [ - "string", - "null" - ] - }, - "version": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "signed": { - "type": "boolean" - }, - "version": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "entry": { - "description": "self-start", - "enum": [ - "self-start", - "setup", - "closed" - ] - }, - "evidence_sha256": { - "description": "The sha256 of the drive's record, which lists every evidence file of the drive with its own sha256", - "type": [ - "string", - "null" - ] - }, - "first_blocker": { - "description": "The first thing that stops or slows an agent", - "type": "string" - }, - "first_seen": { - "description": "The day we first drove the product", - "type": [ - "string", - "null" - ] - }, - "fix_counts": { - "description": "How many fixes the drive found, by size and in all", - "properties": { - "large": { - "type": "integer" - }, - "medium": { - "type": "integer" - }, - "small": { - "type": "integer" - }, - "total": { - "type": "integer" - } - }, - "type": [ - "object", - "null" - ] - }, - "freshness": { - "description": "How old the listed drive is", - "enum": [ - "fresh", - "aging", - "redrive" - ] - }, - "history": { - "description": "The level per day, oldest first", - "items": { - "properties": { - "agent_paid": { - "properties": { - "amount": { - "type": [ - "number", - "null" - ] - }, - "currency": { - "type": "string" - }, - "date": { - "type": [ - "string", - "null" - ] - }, - "rail": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "date": { - "type": "string" - }, - "engine": { - "type": "object" - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": "integer" - }, - "paid": { - "type": "boolean" - }, - "rules_date": { - "type": "string" - }, - "run": { - "type": "string" - }, - "why": { - "enum": [ - "product", - "rules", - "noise", - "agent" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - "icon": { - "description": "The product's logo, a path on this site", - "type": [ - "string", - "null" - ] - }, - "id": { - "description": "The product's stable id", - "pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$", - "type": "string" - }, - "ids": { - "description": "What the product joins on", - "properties": { - "domain": { - "type": [ - "string", - "null" - ] - }, - "mcp_registry": { - "items": { - "type": "string" - }, - "type": "array" - }, - "org": { - "type": [ - "string", - "null" - ] - }, - "slugs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "surfaces": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "wikidata": { - "type": "string" - } - }, - "type": "object" - }, - "in_stripe_directory": { - "description": "The product's profile handle in Stripe Directory, the same as stripe_directory.profile", - "type": [ - "string", - "null" - ] - }, - "issues_found": { - "description": "How many issues the drive found", - "minimum": 0, - "type": "integer" - }, - "json": { - "description": "Its full record", - "type": "string" - }, - "ladder": { - "description": "The nine checkpoints, each with status and note, in the order of the agent's eight steps (Discover → Docs → Sign up → Get a key → Do the work → Pay → Cancel …", - "type": "object" - }, - "lets_agent": { - "description": "A bot check that let our signed agent through (null", - "type": [ - "string", - "null" - ] - }, - "level": { - "description": "Agent level, the only rank", - "maximum": 5, - "minimum": 0, - "type": "integer" - }, - "level_name": { - "type": "string" - }, - "level_selfhost": { - "description": "The level of the self-hosted edition, when it was driven (null", - "type": [ - "integer", - "null" - ] - }, - "license": { - "description": "The licence of this record", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "mcp": { - "description": "Whether it has an MCP server", - "enum": [ - "official", - "third-party", - "docs", - "none", - null - ], - "type": [ - "string", - "null" - ] - }, - "minutes": { - "description": "Minutes to the first call on the fastest way in", - "type": [ - "number", - "null" - ] - }, - "name": { - "type": "string" - }, - "newer_drives": { - "description": "Finished drives after the listed one, not listed yet", - "properties": { - "count": { - "type": "integer" - }, - "newest": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "next": { - "properties": { - "text": { - "type": "string" - }, - "to": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "not_driven_since": { - "description": "The day of the last drive, when the product's owner asked us to stop driving it", - "type": [ - "string", - "null" - ] - }, - "nothing_to_pay": { - "description": "The product has nothing to pay for", - "type": "boolean" - }, - "origin": { - "description": "editorial", - "enum": [ - "editorial", - "owner" - ] - }, - "outcomes": { - "description": "The five outcomes", - "items": { - "description": "One of the five outcomes (from the rules of 13 Oct 2026)", - "properties": { - "after_hours": { - "type": "number" - }, - "delete": { - "type": [ - "object", - "null" - ] - }, - "docs": { - "type": "string" - }, - "have": { - "items": { - "enum": [ - "llms_txt", - "openapi", - "mcp" - ] - }, - "type": "array" - }, - "key": { - "enum": [ - "find", - "access", - "use", - "pay", - "leave" - ] - }, - "label": { - "type": "string" - }, - "left": { - "enum": [ - "deleted", - "data_only", - "nothing_made", - "removed", - "expires", - "stuck", - "wallet_kept" - ] - }, - "per_call": { - "properties": { - "caps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "core": { - "type": "integer" - }, - "share": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "route": { - "enum": [ - "agent_rail", - "projects", - "billing_api", - "agent_checkout", - "card_checkout", - "portal", - "sales", - "none" - ], - "type": "string" - }, - "stage": { - "enum": [ - "in", - "work", - "pay", - "leave" - ], - "type": "string" - }, - "state": { - "enum": [ - "yes", - "part", - "no", - "unreached", - "na" - ] - }, - "text": { - "type": "string" - }, - "value": { - "enum": [ - "paid", - "partial", - "ready", - "checkout", - "person", - "not_tried", - "unreached", - "nothing" - ] - }, - "way": { - "type": "string" - }, - "why": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "page": { - "description": "The product's page with us", - "type": "string" - }, - "paid": { - "description": "Our side made and proved a payment on one of them (the transaction is in the tool's pay_options.paid)", - "type": "boolean" - }, - "parts": { - "description": "The part scores, 0-100, null when not measured", - "properties": { - "docs_match": { - "type": [ - "integer", - "null" - ] - }, - "holds_up": { - "type": [ - "integer", - "null" - ] - }, - "security": { - "enum": [ - "private", - null - ], - "type": [ - "string", - "null" - ] - }, - "setup": { - "type": [ - "integer", - "null" - ] - }, - "standards": { - "items": { - "properties": { - "behind": { - "type": [ - "integer", - "null" - ] - }, - "standard": { - "type": "string" - }, - "state": { - "enum": [ - "current", - "behind" - ] - }, - "value": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "pay": { - "description": "How an agent can pay for it, as a grade from P0 (no self-serve purchase) up to P5 (an agent-native payment method sells the product)", - "type": [ - "string", - "null" - ] - }, - "pay_options": { - "description": "The pay checkpoint", - "properties": { - "agentic": { - "items": { - "type": "string" - }, - "type": "array" - }, - "checked": { - "type": "string" - }, - "detected_grade": { - "type": [ - "string", - "null" - ] - }, - "exercised": { - "type": [ - "boolean", - "null" - ] - }, - "options": { - "items": { - "properties": { - "first_party": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "kind": { - "enum": [ - "agent-rail", - "agent-checkout", - "mcp-tool", - "billing", - "checkout" - ] - }, - "lead": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "networks": { - "items": { - "type": "string" - }, - "type": "array" - }, - "testnet": { - "type": "boolean" - } - }, - "type": "object" - }, - "type": "array" - }, - "owner_fixes": { - "items": { - "properties": { - "how": { - "type": "string" - }, - "title": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "paid": { - "properties": { - "amount": { - "type": [ - "number", - "string", - "null" - ] - }, - "at": { - "type": [ - "string", - "null" - ] - }, - "currency": { - "type": "string" - }, - "network": { - "type": [ - "string", - "null" - ] - }, - "rail": { - "type": "string" - }, - "testnet": { - "type": "boolean" - }, - "tx": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "source": { - "enum": [ - "probe", - "drive" - ] - }, - "trial": { - "properties": { - "card_required": { - "type": [ - "boolean", - "null" - ] - }, - "free_plan": { - "type": [ - "boolean", - "null" - ] - }, - "no_card": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": "object" - } - }, - "type": [ - "object", - "null" - ] - }, - "pay_rails": { - "description": "Each agent-native payment rail (x402, mpp, l402, acp, ucp, ap2, mcp-payment) the drive saw on the product (drive true", - "items": { - "properties": { - "drive": { - "type": "boolean" - }, - "listed": { - "properties": { - "checked": { - "type": "string" - }, - "registry": { - "type": "string" - }, - "source": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "rail": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "pays_with": { - "description": "The agent-native ways to pay it offers, from our pay probe or the drive (x402, mpp, l402, stripe-projects, acp, ucp, ap2, mcp-payment)", - "items": { - "type": "string" - }, - "type": "array" - }, - "peers": { - "additionalProperties": { - "properties": { - "above": { - "type": "integer" - }, - "basis": { - "enum": [ - "category", - "all" - ], - "type": "string" - }, - "below": { - "type": "integer" - }, - "n": { - "type": "integer" - }, - "percentile": { - "type": "integer" - }, - "quartile": { - "type": "integer" - } - }, - "type": "object" - }, - "description": "Each graded criterion of the standard (by its id) next to its peers, the products measured on it", - "type": [ - "object", - "null" - ] - }, - "rank": { - "description": "Its place in its category among the products our agent got into on its own (with the directory on", - "minimum": 1, - "type": [ - "integer", - "null" - ] - }, - "rank_change": { - "description": "How many places it moved the last time its place changed", - "type": [ - "integer", - "null" - ] - }, - "rank_of": { - "description": "How many products of its category are ranked", - "type": "integer" - }, - "rank_since": { - "description": "The day of that move, or the day it entered the ranking", - "type": [ - "string", - "null" - ] - }, - "robots": { - "description": "robots.txt on the way in (null", - "properties": { - "held": { - "type": "boolean" - }, - "rule": { - "enum": [ - "named", - "star" - ] - }, - "seen": { - "type": "string" - }, - "step": { - "enum": [ - "signup", - "verify", - "credentials", - "first_call", - null - ], - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "routes": { - "description": "Every way in the product offers, tried agent-native first (since the rules of 12 Oct 2026", - "items": { - "properties": { - "brings": { - "type": [ - "string", - "null" - ] - }, - "browser": { - "type": [ - "boolean", - "null" - ] - }, - "fresh": { - "type": [ - "boolean", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "not_tried": { - "enum": [ - "no_kit", - "over_cap", - "policy", - "time", - "same_as", - "assisted_only", - "idp_blocked", - "sign_in_code", - "robots", - "terms", - "beyond", - null - ], - "type": [ - "string", - "null" - ] - }, - "offered": { - "enum": [ - "documented", - "seen", - "listed", - "no", - "unknown" - ] - }, - "person": { - "enum": [ - "none", - "once", - "each", - null - ], - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "in", - "partial", - "walled", - "refused", - "broken", - "not_reached", - "not_counted", - null - ], - "type": [ - "string", - "null" - ] - }, - "route": { - "type": "string" - }, - "tried": { - "type": "boolean" - }, - "wall": { - "properties": { - "owner": { - "enum": [ - "product", - "idp", - "platform", - "ours", - null - ] - }, - "type": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "why": { - "enum": [ - "terms", - null - ], - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - "rules_date": { - "description": "The date of those rules, as pages name them (\"Rules of ...\"", - "type": "string" - }, - "rules_url": { - "description": "That rules version's entry", - "type": [ - "string", - "null" - ] - }, - "rules_version": { - "description": "The rules version this level was judged under", - "type": [ - "string", - "null" - ] - }, - "same_level_drives": { - "description": "The latest drives in a row that gave this level", - "type": "integer" - }, - "scores": { - "description": "The measures behind the parts", - "type": "object" - }, - "slug": { - "description": "The product's address in the directory (can change", - "type": "string" - }, - "stages": { - "items": { - "description": "One of the four stages that decide the level (in", - "properties": { - "after_hours": { - "type": "number" - }, - "delete": { - "properties": { - "state": { - "enum": [ - "yes", - "part", - "no", - "na", - "unreached" - ] - }, - "text": { - "type": "string" - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "key": { - "enum": [ - "in", - "work", - "pay", - "leave" - ] - }, - "label": { - "type": "string" - }, - "left": { - "enum": [ - "deleted", - "data_only", - "nothing_made", - "removed", - "expires", - "stuck", - "wallet_kept" - ] - }, - "per_call": { - "properties": { - "caps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "core": { - "type": "integer" - }, - "share": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "route": { - "enum": [ - "agent_rail", - "projects", - "billing_api", - "agent_checkout", - "card_checkout", - "portal", - "sales", - "none" - ], - "type": "string" - }, - "state": { - "enum": [ - "yes", - "part", - "no", - "unreached", - "na" - ] - }, - "text": { - "type": "string" - }, - "value": { - "enum": [ - "paid", - "partial", - "ready", - "checkout", - "person", - "not_tried", - "unreached", - "nothing" - ] - }, - "way": { - "type": "string" - }, - "why": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "stale": { - "description": "Always false", - "type": "boolean" - }, - "stop": { - "description": "The first checkpoint the agent did not get past (null", - "type": [ - "string", - "null" - ] - }, - "stripe_directory": { - "description": "The product's profile in Stripe's agent directory (what an agent finds with stripe directory search), as we searched it on checked", - "properties": { - "checked": { - "type": "string" - }, - "name": { - "type": "string" - }, - "profile": { - "type": "string" - }, - "routes": { - "items": { - "enum": [ - "projects", - "mpp", - "mcp", - "app", - "link" - ] - }, - "type": "array" - }, - "source": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "stripe_projects": { - "description": "The product as a provider in the Stripe Projects catalog (an agent creates its account and gets credentials with `stripe projects add`), read on checked", - "properties": { - "checked": { - "type": "string" - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "provider": { - "type": "string" - }, - "services": { - "type": [ - "integer", - "null" - ] - }, - "source": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "summary": { - "description": "What an agent can do with it, in a sentence or two", - "type": "string" - }, - "terms": { - "description": "The product's terms say automated sign-up isn't allowed", - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "document": { - "type": [ - "string", - "null" - ] - }, - "finding": { - "type": "string" - }, - "fix": { - "type": [ - "string", - "null" - ] - }, - "quote": { - "type": "string" - }, - "section": { - "type": [ - "string", - "null" - ] - }, - "terms_date": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": "string" - }, - "work": { - "enum": [ - "not_counted", - "part", - null - ], - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tested_at": { - "description": "The day of the drive behind the level", - "type": "string" - }, - "unreachable_since": { - "description": "The day the product's site has been unreachable since", - "type": [ - "string", - "null" - ] - }, - "url": { - "description": "The product's page here", - "type": "string" - }, - "wall_type": { - "description": "What kind of bot check it was", - "enum": [ - "network", - "challenge", - null - ] - }, - "wall_vendor": { - "description": "The company whose bot check or sign-in our agent stopped at", - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "id": { - "type": "string" - }, - "kind": { - "enum": [ - "bot check", - "sign-in" - ] - }, - "vendor": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "ways_in": { - "description": "The ways in that got our agent in (route ids, e.g", - "items": { - "type": "string" - }, - "type": "array" - }, - "who_gets_in": { - "description": "Who gets in, next to the level and never part of it", - "properties": { - "browser": { - "properties": { - "measured": { - "type": "boolean" - }, - "state": { - "enum": [ - "in", - "through", - "captcha", - "unknown" - ] - } - }, - "type": "object" - }, - "our_key": { - "enum": [ - "verified", - "pending" - ] - }, - "robots": { - "enum": [ - "closed", - null - ] - }, - "server": { - "properties": { - "state": { - "enum": [ - "in", - "edge", - "captcha", - "form", - "robots", - "closed" - ] - } - }, - "type": "object" - }, - "signed": { - "properties": { - "at": { - "type": "string" - }, - "kind": { - "enum": [ - "signup", - "home" - ] - }, - "state": { - "enum": [ - "page", - "check", - "block", - "robots", - "unknown" - ] - } - }, - "type": "object" - }, - "tip": { - "type": "boolean" - } - }, - "type": [ - "object", - "null" - ] - }, - "works_assisted": { - "description": "What the agent did once a person set up the account or cleared a step at the door, from the newest drive that measured it", - "properties": { - "core": { - "type": [ - "string", - "null" - ] - }, - "coverage_core": { - "type": "integer" - }, - "date": { - "type": "string" - }, - "run": { - "type": "string" - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - } - }, - "required": [ - "slug", - "name", - "level", - "page" - ], - "type": "object" - }, - { - "description": "The headline (brief true)", - "properties": { - "access": { - "items": { - "properties": { - "core": { - "type": [ - "number", - "string", - "null" - ] - }, - "key": { - "type": "string" - }, - "label": { - "type": "string" - }, - "minutes": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - "agent_surfaces": { - "description": "Each way an agent works the product, as the product page's tiles show it, whether or not our agent got in", - "properties": { - "api": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "cli": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "docs": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "mcp": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "payment": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "sdk": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - } - }, - "required": [ - "api", - "mcp", - "cli", - "sdk", - "docs", - "payment" - ], - "type": [ - "object", - "null" - ] - }, - "attempts_count": { - "type": "integer" - }, - "blockers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "can_do": { - "items": { - "type": "string" - }, - "type": "array" - }, - "cannot_do": { - "items": { - "properties": { - "what": { - "type": "string" - }, - "why": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "category": { - "description": "The category's name", - "type": "string" - }, - "confirmation": { - "description": "How far its drives back the level", - "properties": { - "agree": { - "type": "integer" - }, - "confirmed": { - "type": "boolean" - }, - "drives": { - "type": "integer" - }, - "line": { - "type": [ - "string", - "null" - ] - }, - "review": { - "properties": { - "by": { - "type": "string" - }, - "date": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "state": { - "enum": [ - "awaiting", - "confirmed", - "signed_off", - "not_needed", - "rechecking" - ] - }, - "text": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "connect": { - "description": "How to connect in your next step, from the drive and the product's own docs", - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": "object" - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": "object" - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - } - }, - "type": "object" - }, - "copilot_connector": { - "description": "The product in GitHub's list of Copilot connectors (GitHub-verified MCP servers), read on checked", - "properties": { - "checked": { - "type": "string" - }, - "name": { - "type": "string" - }, - "server": { - "type": "string" - }, - "source": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "correction": { - "description": "The listing's correction status", - "properties": { - "open": { - "type": "integer" - }, - "reply_by": { - "type": [ - "string", - "null" - ] - }, - "since": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "disputed", - "none" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "detail": { - "description": "The attempt log with its evidence, for the product's verified owner", - "properties": { - "needs": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": "object" - }, - "disclosure": { - "description": "Only on a drive its owner paid for", - "type": "string" - }, - "docs_url": { - "description": "The docs' home page the drive found", - "type": [ - "string", - "null" - ] - }, - "door": { - "description": "How far the sign-up got on its own", - "properties": { - "passed": { - "type": "integer" - }, - "self_start": { - "type": "boolean" - }, - "tries": { - "type": "integer" - } - }, - "type": [ - "object", - "null" - ] - }, - "draft": { - "description": "Not reviewed yet", - "type": "boolean" - }, - "evidence_sha256": { - "type": [ - "string", - "null" - ] - }, - "first_seen": { - "type": [ - "string", - "null" - ] - }, - "fix_counts": { - "description": "How many fixes the drive found, by size and in all", - "properties": { - "large": { - "type": "integer" - }, - "medium": { - "type": "integer" - }, - "small": { - "type": "integer" - }, - "total": { - "type": "integer" - } - }, - "type": [ - "object", - "null" - ] - }, - "freshness": { - "enum": [ - "fresh", - "aging", - "redrive", - null - ] - }, - "history": { - "items": { - "properties": { - "date": { - "type": "string" - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": "integer" - }, - "stop": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - "in_stripe_directory": { - "description": "The product's profile handle in Stripe Directory, the same as stripe_directory.profile", - "type": [ - "string", - "null" - ] - }, - "issues_found": { - "description": "How many issues the drive found", - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level": { - "description": "Agent level, the only rank", - "maximum": 5, - "minimum": 0, - "type": "integer" - }, - "level_name": { - "type": "string" - }, - "license": { - "description": "The licence of this record", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "llms_txt_url": { - "description": "Its llms.txt, from the daily check or the drive", - "type": [ - "string", - "null" - ] - }, - "mcp_url": { - "description": "Its own remote MCP server's URL", - "type": [ - "string", - "null" - ] - }, - "name": { - "type": "string" - }, - "newer_drives": { - "description": "Finished drives after the listed one, not listed yet", - "properties": { - "count": { - "type": "integer" - }, - "newest": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "next": { - "description": "What would raise the level", - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "description": "Its OpenAPI document, from the daily check", - "type": [ - "string", - "null" - ] - }, - "origin": { - "description": "editorial", - "enum": [ - "editorial", - "owner" - ] - }, - "outcomes": { - "items": { - "properties": { - "key": { - "type": "string" - }, - "state": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "page": { - "description": "The product's page with us", - "type": "string" - }, - "paid": { - "description": "The payment our agent made and we checked", - "properties": { - "amount": { - "type": [ - "number", - "string", - "null" - ] - }, - "at": { - "type": [ - "string", - "null" - ] - }, - "currency": { - "type": "string" - }, - "network": { - "type": [ - "string", - "null" - ] - }, - "rail": { - "type": "string" - }, - "testnet": { - "type": "boolean" - }, - "tx": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "pay_rails": { - "description": "Each agent-native payment rail (x402, mpp, l402, acp, ucp, ap2, mcp-payment) the drive saw on the product (drive true", - "items": { - "properties": { - "drive": { - "type": "boolean" - }, - "listed": { - "properties": { - "checked": { - "type": "string" - }, - "registry": { - "type": "string" - }, - "source": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "rail": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "pays_with": { - "description": "The agent-native ways to pay it offers, from our pay probe or the drive (x402, mpp, l402, stripe-projects, acp, ucp, ap2, mcp-payment)", - "items": { - "type": "string" - }, - "type": "array" - }, - "signup": { - "description": "How our agent got in on its own (its first way in)", - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "way": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "description": "The product's address in the directory (can change", - "type": "string" - }, - "stop": { - "properties": { - "at": { - "type": "string" - }, - "evidence": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "stripe_directory": { - "description": "The product's profile in Stripe's agent directory (what an agent finds with stripe directory search), as we searched it on checked", - "properties": { - "checked": { - "type": "string" - }, - "name": { - "type": "string" - }, - "profile": { - "type": "string" - }, - "routes": { - "items": { - "enum": [ - "projects", - "mpp", - "mcp", - "app", - "link" - ] - }, - "type": "array" - }, - "source": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "stripe_projects": { - "description": "The product as a provider in the Stripe Projects catalog (an agent creates its account and gets credentials with `stripe projects add`), read on checked", - "properties": { - "checked": { - "type": "string" - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "provider": { - "type": "string" - }, - "services": { - "type": [ - "integer", - "null" - ] - }, - "source": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "summary": { - "description": "What an agent can do with it, in a sentence or two", - "type": [ - "string", - "null" - ] - }, - "tested_at": { - "description": "The day of the drive behind the level", - "type": "string" - }, - "tips_for_agents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "url": { - "description": "The product's page here", - "type": "string" - }, - "wall": { - "description": "The main bot check or wall the drive met", - "type": [ - "string", - "null" - ] - }, - "wall_vendor": { - "description": "The company whose bot check or sign-in our agent stopped at", - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "id": { - "type": "string" - }, - "kind": { - "enum": [ - "bot check", - "sign-in" - ] - }, - "vendor": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "work_done": { - "description": "Share of the core tasks done, 0-100", - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "slug", - "name", - "level", - "page" - ], - "type": "object" - } -] - changed
Output schema / properties / result / descriptionPrevious value: -"Get one tool's drive result: Call this before you commit to any SaaS, API, MCP server or CLI you found or already have in mind: send its slug from search_tools, or its name or domain (unknown: an error naming the closest)."New value: +"Get one tool's drive result" - added
Output schema / properties / result / propertiesAdded value: +{ + "level": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "page": { + "type": "string" + }, + "slug": { + "type": "string" + } +} - added
Output schema / properties / result / requiredAdded value: +[ + "slug", + "name", + "level", + "page" +] - added
Output schema / properties / result / typeAdded value: +"object"
- Added
list_best_tools - Changed
list_categories8 fields changed- changed
Output schema / properties / result / descriptionPrevious value: -"List categories: Lists every category in the directory: its id (for search_tools' category filter), its name, the number of products listed in it and the best agent level in it (0-5)."New value: +"List categories" - removed
Output schema / properties / result / items / properties / best_level / descriptionRemoved value: -"Agent level, the only rank" - removed
Output schema / properties / result / items / properties / best_level / maximumRemoved value: -5 - removed
Output schema / properties / result / items / properties / best_level / minimumRemoved value: -0 - removed
Output schema / properties / result / items / properties / category / descriptionRemoved value: -"The category id" - removed
Output schema / properties / result / items / properties / directoryRemoved value: -{ - "description": "Once the directory opens", - "properties": { - "audited": { - "type": "integer" - }, - "in_audit": { - "type": "integer" - }, - "note": { - "type": "string" - } - }, - "type": "object" -} - removed
Output schema / properties / result / items / properties / pageRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / result / items / properties / tools / descriptionRemoved value: -"Products listed in it"
- Added
list_changes - Removed
mark_fix - Removed
my_follows - Removed
my_orders - Removed
order - Removed
order_report - Removed
pay_check - Removed
pay_code - Removed
pay_order - Removed
recheck_after_fix - Removed
report_attempt - Changed
search_tools41 fields changed- removed
Output schema / properties / more / descriptionRemoved value: -"How many are left and how to get them" - removed
Output schema / properties / next_offset / descriptionRemoved value: -"Where the next page starts; null on the last" - changed
Output schema / properties / result / descriptionPrevious value: -"Search the directory: Call this before you choose any SaaS, API, MCP server or CLI when you have a product's name, domain or kind in mind: send a short query (e.g."New value: +"Search the directory" - removed
Output schema / properties / result / items / properties / accessRemoved value: -{ - "description": "How an agent gets in, by key", - "items": { - "enum": [ - "keyless", - "local", - "try_first", - "no_account", - "pay_per_call", - "key_by_api", - "mcp_signin", - "email_signup", - "browser_signup", - "by_name", - "person" - ] - }, - "type": "array" -} - removed
Output schema / properties / result / items / properties / agent_surfacesRemoved value: -{ - "description": "Each way an agent works the product, as the product page's tiles show it, whether or not our agent got in", - "properties": { - "api": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "cli": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "docs": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "mcp": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "payment": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "sdk": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - } - }, - "required": [ - "api", - "mcp", - "cli", - "sdk", - "docs", - "payment" - ], - "type": [ - "object", - "null" - ] -} - removed
Output schema / properties / result / items / properties / blocks_agentRemoved value: -{ - "description": "The bot check that stopped our signed agent on at least one way in, from sign-up to the first call (null", - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / result / items / properties / categoryRemoved value: -{ - "description": "The category's name", - "type": "string" -} - removed
Output schema / properties / result / items / properties / checksRemoved value: -{ - "description": "Which of the common filters hold for it, from the drive of `checked`", - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": "boolean" - }, - "self_signup": { - "type": "boolean" - }, - "x402": { - "type": "boolean" - } - }, - "type": "object" -} - removed
Output schema / properties / result / items / properties / connectRemoved value: -{ - "description": "How to connect in your next step, from the drive and the product's own docs", - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": "object" - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": "object" - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - } - }, - "type": "object" -} - removed
Output schema / properties / result / items / properties / disclosureRemoved value: -{ - "description": "Only on a drive its owner paid for", - "type": "string" -} - removed
Output schema / properties / result / items / properties / docs_urlRemoved value: -{ - "description": "The docs' home page the drive found", - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / result / items / properties / draftRemoved value: -{ - "description": "Not reviewed yet", - "type": "boolean" -} - removed
Output schema / properties / result / items / properties / first_blockerRemoved value: -{ - "description": "The first thing that stops or slows an agent", - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / result / items / properties / free_tierRemoved value: -{ - "description": "A free plan or nothing to pay", - "type": [ - "boolean", - "null" - ] -} - removed
Output schema / properties / result / items / properties / issues_foundRemoved value: -{ - "description": "How many issues the drive found", - "minimum": 0, - "type": [ - "integer", - "null" - ] -} - removed
Output schema / properties / result / items / properties / level / descriptionRemoved value: -"Agent level, the only rank" - removed
Output schema / properties / result / items / properties / level / maximumRemoved value: -5 - removed
Output schema / properties / result / items / properties / level / minimumRemoved value: -0 - removed
Output schema / properties / result / items / properties / level_nameRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / result / items / properties / llms_txt_urlRemoved value: -{ - "description": "Its llms.txt, from the daily check or the drive", - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / result / items / properties / mcp_urlRemoved value: -{ - "description": "Its own remote MCP server's URL", - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / result / items / properties / openapi_urlRemoved value: -{ - "description": "Its OpenAPI document, from the daily check", - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / result / items / properties / originRemoved value: -{ - "description": "editorial", - "enum": [ - "editorial", - "owner" - ] -} - removed
Output schema / properties / result / items / properties / outcomesRemoved value: -{ - "description": "The five outcomes, each yes, part, no, unreached or na (find is shown as Learn)", - "properties": { - "access": { - "enum": [ - "yes", - "part", - "no", - "unreached", - "na" - ] - }, - "find": { - "enum": [ - "yes", - "part", - "no", - "unreached", - "na" - ] - }, - "leave": { - "enum": [ - "yes", - "part", - "no", - "unreached", - "na" - ] - }, - "pay": { - "enum": [ - "yes", - "part", - "no", - "unreached", - "na" - ] - }, - "use": { - "enum": [ - "yes", - "part", - "no", - "unreached", - "na" - ] - } - }, - "type": "object" -} - removed
Output schema / properties / result / items / properties / paidRemoved value: -{ - "description": "Our side made and proved a payment on one of them (the transaction is in the tool's pay_options.paid)", - "type": "boolean" -} - removed
Output schema / properties / result / items / properties / partsRemoved value: -{ - "description": "The part scores, 0-100, null when not measured", - "properties": { - "docs_match": { - "type": [ - "integer", - "null" - ] - }, - "holds_up": { - "type": [ - "integer", - "null" - ] - }, - "security": { - "enum": [ - "private", - null - ], - "type": [ - "string", - "null" - ] - }, - "setup": { - "type": [ - "integer", - "null" - ] - }, - "standards": { - "items": { - "properties": { - "behind": { - "type": [ - "integer", - "null" - ] - }, - "standard": { - "type": "string" - }, - "state": { - "enum": [ - "current", - "behind" - ] - }, - "value": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - } - }, - "type": "object" -} - removed
Output schema / properties / result / items / properties / pay_railsRemoved value: -{ - "description": "Each agent-native rail on its record and how", - "items": { - "properties": { - "rail": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "rail", - "state" - ], - "type": "object" - }, - "type": "array" -} - removed
Output schema / properties / result / items / properties / pays_withRemoved value: -{ - "description": "The agent-native ways to pay it offers, from our pay probe or the drive (x402, mpp, l402, stripe-projects, acp, ucp, ap2, mcp-payment)", - "items": { - "type": "string" - }, - "type": "array" -} - removed
Output schema / properties / result / items / properties / product_urlRemoved value: -{ - "description": "The product's own site", - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / result / items / properties / rankRemoved value: -{ - "description": "Its place in its category among the products our agent got into on its own (with the directory on", - "minimum": 1, - "type": [ - "integer", - "null" - ] -} - removed
Output schema / properties / result / items / properties / rank_changeRemoved value: -{ - "description": "Places up (positive) or down since rank_since", - "type": [ - "integer", - "null" - ] -} - removed
Output schema / properties / result / items / properties / rank_ofRemoved value: -{ - "description": "How many products of its category are ranked", - "type": [ - "integer", - "null" - ] -} - removed
Output schema / properties / result / items / properties / rank_sinceRemoved value: -{ - "description": "The day rank_change counts from", - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / result / items / properties / signupRemoved value: -{ - "description": "How our agent got in on its own (its first way in)", - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "way": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] -} - removed
Output schema / properties / result / items / properties / slug / descriptionRemoved value: -"The product's address in the directory (can change" - removed
Output schema / properties / result / items / properties / stopRemoved value: -{ - "description": "The first checkpoint the agent did not get past (null", - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / result / items / properties / tested_atRemoved value: -{ - "description": "The day of the drive behind the level", - "type": "string" -} - removed
Output schema / properties / result / items / properties / url / descriptionRemoved value: -"The product's page here" - removed
Output schema / properties / result / items / properties / wall_typeRemoved value: -{ - "description": "What kind of bot check it was", - "enum": [ - "network", - "challenge", - null - ] -} - removed
Output schema / properties / total / descriptionRemoved value: -"Every match" - removed
Output schema / properties / try / descriptionRemoved value: -"With no match: what to try instead"
- Removed
send_claim_code - Removed
sign_up - Removed
suggest_product - Removed
support_ask - Removed
top_up - Removed
unfollow_tool - Removed
verify_claim - Removed
what_changed - Removed
whoami - Removed
withdraw_order
1 tool update
- Changed
find_tools_for_task2 fields changed- changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "description": "By task", - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": "array" - }, - "capability": { - "description": "With a task that names a capability", - "properties": { - "definition": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - "category": { - "type": "string" - }, - "checks": { - "description": "Which of the common filters hold for it, from the drive of `checked`", - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": "boolean" - }, - "self_signup": { - "type": "boolean" - }, - "x402": { - "type": "boolean" - } - }, - "type": "object" - }, - "cite": { - "description": "How to cite this result", - "properties": { - "as_of": { - "type": [ - "string", - "null" - ] - }, - "source": { - "enum": [ - "AgentDrives drive data, CC BY 4.0", - "AgentDrives directory data, CC BY 4.0" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "as_of", - "source" - ], - "type": "object" - }, - "connect": { - "description": "How to connect in your next step, from the drive and the product's own docs", - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": "object" - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": "object" - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - } - }, - "type": "object" - }, - "disclosure": { - "type": "string" - }, - "docs_url": { - "description": "The docs' home page the drive found", - "type": [ - "string", - "null" - ] - }, - "evidence": { - "description": "With capability", - "type": "string" - }, - "free_tier": { - "description": "A free plan or nothing to pay", - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "description": "Our agent signed up and got a key without a person", - "type": [ - "boolean", - "null" - ] - }, - "level": { - "description": "The agent level, 0-5", - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "description": "null for a product listed, not driven", - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "description": "Its llms.txt, from the daily check or the drive", - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "description": "With status listed", - "type": "string" - }, - "match": { - "description": "capability", - "enum": [ - "strong", - "partial", - "capability", - "name", - "listed" - ] - }, - "mcp_url": { - "description": "Its own remote MCP server's URL", - "type": [ - "string", - "null" - ] - }, - "missing": { - "description": "Only in nearest_tools", - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with" - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean" - ] - } - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "near": { - "description": "With match near", - "type": "string" - }, - "next": { - "description": "In brief (the default)", - "items": { - "type": "string" - }, - "type": "array" - }, - "note": { - "description": "With status listed", - "type": "string" - }, - "openapi_url": { - "description": "Its OpenAPI document, from the daily check", - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner" - ] - }, - "pay_rails": { - "description": "Each agent-native rail on its record and how", - "items": { - "properties": { - "rail": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "rail", - "state" - ], - "type": "object" - }, - "type": "array" - }, - "pays_with": { - "description": "The ways it takes payment", - "items": { - "type": "string" - }, - "type": "array" - }, - "product_url": { - "description": "The product's own site", - "type": [ - "string", - "null" - ] - }, - "signup": { - "description": "How our agent got in on its own (its first way in)", - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "way": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": "string" - }, - "status": { - "description": "Only on a product listed, not driven", - "enum": [ - "listed" - ] - }, - "stop": { - "properties": { - "at": { - "type": "string" - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "description": "With status listed", - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": "array" - }, - "task": { - "properties": { - "matched": { - "type": "string" - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown" - ] - }, - "via": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "description": "With capability", - "items": { - "type": "string" - }, - "type": "array" - }, - "tested_at": { - "type": "string" - }, - "url": { - "description": "The product's page with us", - "type": "string" - }, - "work_done": { - "description": "Share of the core tasks done, 0-100", - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "description": "By capability", - "properties": { - "capability": { - "description": "A capability of the shared vocabulary (GET /api/capabilities)", - "properties": { - "definition": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - "of": { - "description": "The listed products that have it", - "type": "integer" - }, - "results": { - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": "array" - }, - "capability": { - "properties": { - "definition": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - "category": { - "type": "string" - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": "boolean" - }, - "self_signup": { - "type": "boolean" - }, - "x402": { - "type": "boolean" - } - }, - "type": "object" - }, - "cite": { - "properties": { - "as_of": { - "type": [ - "string", - "null" - ] - }, - "source": { - "enum": [ - "AgentDrives drive data, CC BY 4.0", - "AgentDrives directory data, CC BY 4.0" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "as_of", - "source" - ], - "type": "object" - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": "object" - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": "object" - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - } - }, - "type": "object" - }, - "disclosure": { - "type": "string" - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": "string" - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "type": "string" - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "name", - "listed" - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with" - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean" - ] - } - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "near": { - "type": "string" - }, - "next": { - "items": { - "type": "string" - }, - "type": "array" - }, - "note": { - "type": "string" - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner" - ] - }, - "pay_rails": { - "items": { - "properties": { - "rail": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "rail", - "state" - ], - "type": "object" - }, - "type": "array" - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": "array" - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "way": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": "string" - }, - "status": { - "enum": [ - "listed" - ] - }, - "stop": { - "properties": { - "at": { - "type": "string" - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": "array" - }, - "task": { - "properties": { - "matched": { - "type": "string" - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown" - ] - }, - "via": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": "array" - }, - "tested_at": { - "type": "string" - }, - "url": { - "type": "string" - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "results" - ], - "type": "object" - }, - { - "description": "A task no product we drove does", - "properties": { - "covered": { - "const": false, - "description": "Only when no product meets the task and every filter (results is empty)" - }, - "nearest_category": { - "description": "With covered", - "properties": { - "name": { - "type": [ - "string", - "null" - ] - }, - "products": { - "type": [ - "integer", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "nearest_tools": { - "description": "With covered, when products do the task but none meets every filter", - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "category": { - "type": [ - "string", - "null" - ] - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": [ - "boolean", - "null" - ] - }, - "self_signup": { - "type": [ - "boolean", - "null" - ] - }, - "x402": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "cite": { - "properties": { - "as_of": { - "type": [ - "string", - "null" - ] - }, - "source": { - "enum": [ - "AgentDrives drive data, CC BY 4.0", - "AgentDrives directory data, CC BY 4.0" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "as_of", - "source" - ], - "type": [ - "object", - "null" - ] - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse", - null - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "disclosure": { - "type": [ - "string", - "null" - ] - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": [ - "string", - "null" - ] - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "type": [ - "string", - "null" - ] - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "near", - "listed", - null - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with", - null - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "near": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner", - null - ] - }, - "pay_rails": { - "items": { - "properties": { - "rail": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "rail", - "state" - ], - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "way": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "listed", - null - ] - }, - "stop": { - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown", - null - ] - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "tested_at": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "request_drive": { - "description": "With covered", - "properties": { - "api": { - "type": [ - "string", - "null" - ] - }, - "fix": { - "type": [ - "string", - "null" - ] - }, - "mcp_tool": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "results": { - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "category": { - "type": [ - "string", - "null" - ] - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": [ - "boolean", - "null" - ] - }, - "self_signup": { - "type": [ - "boolean", - "null" - ] - }, - "x402": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "cite": { - "properties": { - "as_of": { - "type": [ - "string", - "null" - ] - }, - "source": { - "enum": [ - "AgentDrives drive data, CC BY 4.0", - "AgentDrives directory data, CC BY 4.0" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "as_of", - "source" - ], - "type": [ - "object", - "null" - ] - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse", - null - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "disclosure": { - "type": [ - "string", - "null" - ] - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": [ - "string", - "null" - ] - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "type": [ - "string", - "null" - ] - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "near", - "listed", - null - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with", - null - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "near": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner", - null - ] - }, - "pay_rails": { - "items": { - "properties": { - "rail": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "rail", - "state" - ], - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "way": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "listed", - null - ] - }, - "stop": { - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown", - null - ] - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "tested_at": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "covered", - "results", - "nearest_category" - ], - "type": "object" - }, - { - "description": "Products do the task but none meets every filter", - "properties": { - "covered": { - "const": false, - "description": "Only when no product meets the task and every filter (results is empty)" - }, - "nearest_tools": { - "description": "With covered, when products do the task but none meets every filter", - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "category": { - "type": [ - "string", - "null" - ] - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": [ - "boolean", - "null" - ] - }, - "self_signup": { - "type": [ - "boolean", - "null" - ] - }, - "x402": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "cite": { - "properties": { - "as_of": { - "type": [ - "string", - "null" - ] - }, - "source": { - "enum": [ - "AgentDrives drive data, CC BY 4.0", - "AgentDrives directory data, CC BY 4.0" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "as_of", - "source" - ], - "type": [ - "object", - "null" - ] - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse", - null - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "disclosure": { - "type": [ - "string", - "null" - ] - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": [ - "string", - "null" - ] - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "type": [ - "string", - "null" - ] - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "near", - "listed", - null - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with", - null - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "near": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner", - null - ] - }, - "pay_rails": { - "items": { - "properties": { - "rail": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "rail", - "state" - ], - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "way": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "listed", - null - ] - }, - "stop": { - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown", - null - ] - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "tested_at": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "results": { - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "category": { - "type": [ - "string", - "null" - ] - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": [ - "boolean", - "null" - ] - }, - "self_signup": { - "type": [ - "boolean", - "null" - ] - }, - "x402": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "cite": { - "properties": { - "as_of": { - "type": [ - "string", - "null" - ] - }, - "source": { - "enum": [ - "AgentDrives drive data, CC BY 4.0", - "AgentDrives directory data, CC BY 4.0" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "as_of", - "source" - ], - "type": [ - "object", - "null" - ] - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse", - null - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "disclosure": { - "type": [ - "string", - "null" - ] - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": [ - "string", - "null" - ] - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "type": [ - "string", - "null" - ] - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "near", - "listed", - null - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with", - null - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "near": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner", - null - ] - }, - "pay_rails": { - "items": { - "properties": { - "rail": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "rail", - "state" - ], - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "way": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "listed", - null - ] - }, - "stop": { - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown", - null - ] - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "tested_at": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "covered", - "results", - "nearest_tools" - ], - "type": "object" - } -]New value: +[ + { + "description": "By task", + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": "array" + }, + "capability": { + "description": "With a task that names a capability", + "properties": { + "definition": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "category": { + "type": "string" + }, + "checks": { + "description": "Which of the common filters hold for it, from the drive of `checked`", + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": "boolean" + }, + "self_signup": { + "type": "boolean" + }, + "x402": { + "type": "boolean" + } + }, + "type": "object" + }, + "cite": { + "description": "How to cite this result", + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": "object" + }, + "connect": { + "description": "How to connect in your next step, from the drive and the product's own docs", + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": "object" + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": "object" + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + } + }, + "type": "object" + }, + "disclosure": { + "type": "string" + }, + "docs_url": { + "description": "The docs' home page the drive found", + "type": [ + "string", + "null" + ] + }, + "evidence": { + "description": "With capability", + "type": "string" + }, + "for_your_build": { + "description": "One line on what the level means for your build", + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "description": "A free plan or nothing to pay", + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "description": "Our agent signed up and got a key without a person", + "type": [ + "boolean", + "null" + ] + }, + "level": { + "description": "The agent level, 0-5", + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "description": "null for a product listed, not driven", + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "description": "Its llms.txt, from the daily check or the drive", + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "description": "With status listed", + "type": "string" + }, + "match": { + "description": "capability", + "enum": [ + "strong", + "partial", + "capability", + "name", + "listed" + ] + }, + "mcp_url": { + "description": "Its own remote MCP server's URL", + "type": [ + "string", + "null" + ] + }, + "missing": { + "description": "Only in nearest_tools", + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with" + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean" + ] + } + }, + "type": "object" + }, + "name": { + "type": "string" + }, + "near": { + "description": "With match near", + "type": "string" + }, + "next": { + "description": "In brief (the default)", + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "description": "With status listed", + "type": "string" + }, + "openapi_url": { + "description": "Its OpenAPI document, from the daily check", + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner" + ] + }, + "pay_rails": { + "description": "Each agent-native rail on its record and how", + "items": { + "properties": { + "rail": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "rail", + "state" + ], + "type": "object" + }, + "type": "array" + }, + "pays_with": { + "description": "The ways it takes payment", + "items": { + "type": "string" + }, + "type": "array" + }, + "product_url": { + "description": "The product's own site", + "type": [ + "string", + "null" + ] + }, + "signup": { + "description": "How our agent got in on its own (its first way in)", + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "way": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": "string" + }, + "status": { + "description": "Only on a product listed, not driven", + "enum": [ + "listed" + ] + }, + "stop": { + "properties": { + "at": { + "type": "string" + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "description": "With status listed", + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": "array" + }, + "task": { + "properties": { + "matched": { + "type": "string" + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown" + ] + }, + "via": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "description": "With capability", + "items": { + "type": "string" + }, + "type": "array" + }, + "tested_at": { + "type": "string" + }, + "url": { + "description": "The product's page with us", + "type": "string" + }, + "work_done": { + "description": "Share of the core tasks done, 0-100", + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "description": "By capability", + "properties": { + "capability": { + "description": "A capability of the shared vocabulary (GET /api/capabilities)", + "properties": { + "definition": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "of": { + "description": "The listed products that have it", + "type": "integer" + }, + "results": { + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": "array" + }, + "capability": { + "properties": { + "definition": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "category": { + "type": "string" + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": "boolean" + }, + "self_signup": { + "type": "boolean" + }, + "x402": { + "type": "boolean" + } + }, + "type": "object" + }, + "cite": { + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": "object" + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": "object" + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": "object" + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + } + }, + "type": "object" + }, + "disclosure": { + "type": "string" + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": "string" + }, + "for_your_build": { + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": "string" + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "name", + "listed" + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with" + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean" + ] + } + }, + "type": "object" + }, + "name": { + "type": "string" + }, + "near": { + "type": "string" + }, + "next": { + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "type": "string" + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner" + ] + }, + "pay_rails": { + "items": { + "properties": { + "rail": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "rail", + "state" + ], + "type": "object" + }, + "type": "array" + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": "array" + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "way": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": "string" + }, + "status": { + "enum": [ + "listed" + ] + }, + "stop": { + "properties": { + "at": { + "type": "string" + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": "array" + }, + "task": { + "properties": { + "matched": { + "type": "string" + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown" + ] + }, + "via": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tested_at": { + "type": "string" + }, + "url": { + "type": "string" + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "results" + ], + "type": "object" + }, + { + "description": "A task no product we drove does", + "properties": { + "covered": { + "const": false, + "description": "Only when no product meets the task and every filter (results is empty)" + }, + "nearest_category": { + "description": "With covered", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "products": { + "type": [ + "integer", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "nearest_tools": { + "description": "With covered, when products do the task but none meets every filter", + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": [ + "boolean", + "null" + ] + }, + "self_signup": { + "type": [ + "boolean", + "null" + ] + }, + "x402": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "cite": { + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": [ + "object", + "null" + ] + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse", + null + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "disclosure": { + "type": [ + "string", + "null" + ] + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": [ + "string", + "null" + ] + }, + "for_your_build": { + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": [ + "string", + "null" + ] + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "near", + "listed", + null + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with", + null + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "near": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner", + null + ] + }, + "pay_rails": { + "items": { + "properties": { + "rail": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "rail", + "state" + ], + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "way": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "listed", + null + ] + }, + "stop": { + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "properties": { + "matched": { + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown", + null + ] + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "tested_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "request_drive": { + "description": "With covered", + "properties": { + "api": { + "type": [ + "string", + "null" + ] + }, + "fix": { + "type": [ + "string", + "null" + ] + }, + "mcp_tool": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "results": { + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": [ + "boolean", + "null" + ] + }, + "self_signup": { + "type": [ + "boolean", + "null" + ] + }, + "x402": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "cite": { + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": [ + "object", + "null" + ] + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse", + null + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "disclosure": { + "type": [ + "string", + "null" + ] + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": [ + "string", + "null" + ] + }, + "for_your_build": { + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": [ + "string", + "null" + ] + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "near", + "listed", + null + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with", + null + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "near": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner", + null + ] + }, + "pay_rails": { + "items": { + "properties": { + "rail": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "rail", + "state" + ], + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "way": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "listed", + null + ] + }, + "stop": { + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "properties": { + "matched": { + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown", + null + ] + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "tested_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "covered", + "results", + "nearest_category" + ], + "type": "object" + }, + { + "description": "Products do the task but none meets every filter", + "properties": { + "covered": { + "const": false, + "description": "Only when no product meets the task and every filter (results is empty)" + }, + "nearest_tools": { + "description": "With covered, when products do the task but none meets every filter", + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": [ + "boolean", + "null" + ] + }, + "self_signup": { + "type": [ + "boolean", + "null" + ] + }, + "x402": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "cite": { + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": [ + "object", + "null" + ] + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse", + null + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "disclosure": { + "type": [ + "string", + "null" + ] + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": [ + "string", + "null" + ] + }, + "for_your_build": { + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": [ + "string", + "null" + ] + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "near", + "listed", + null + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with", + null + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "near": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner", + null + ] + }, + "pay_rails": { + "items": { + "properties": { + "rail": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "rail", + "state" + ], + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "way": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "listed", + null + ] + }, + "stop": { + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "properties": { + "matched": { + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown", + null + ] + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "tested_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "results": { + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": [ + "boolean", + "null" + ] + }, + "self_signup": { + "type": [ + "boolean", + "null" + ] + }, + "x402": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "cite": { + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": [ + "object", + "null" + ] + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse", + null + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "disclosure": { + "type": [ + "string", + "null" + ] + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": [ + "string", + "null" + ] + }, + "for_your_build": { + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": [ + "string", + "null" + ] + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "near", + "listed", + null + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with", + null + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "near": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner", + null + ] + }, + "pay_rails": { + "items": { + "properties": { + "rail": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "rail", + "state" + ], + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "way": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "listed", + null + ] + }, + "stop": { + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "properties": { + "matched": { + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown", + null + ] + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "tested_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "covered", + "results", + "nearest_tools" + ], + "type": "object" + } +] - changed
Output schema / properties / result / descriptionPrevious value: -"Choose a provider: Call this before you choose any SaaS, API, MCP server or CLI for a task: send the task in a few plain words (e.g."New value: +"Choose a provider: Call this before you choose any SaaS, API, MCP server or CLI for a task: send the task in a few plain words ('send an invoice'), with filters if needed (category, min_level, surface, self_signup, access, pays_with)."
1 tool update
- Changed
find_tools_for_task1 field changed- changed
Output schema / properties / result / descriptionPrevious value: -"Find tools for a task: Call this before you choose any SaaS, API, MCP server or CLI for a task: send the task in a few plain words (e.g."New value: +"Choose a provider: Call this before you choose any SaaS, API, MCP server or CLI for a task: send the task in a few plain words (e.g."
1 tool update
- Changed
find_tools_for_task4 fields changed- added
Input schema / properties / briefAdded value: +{ + "default": true, + "description": "true (the default): each product with its next steps, under 8 KB for five; false: every field, with can_do, checks, connect, pay_rails and cite", + "type": "boolean" +} - changed
Input schema / properties / limit / defaultPrevious value: -10New value: +5 - changed
Input schema / properties / limit / descriptionPrevious value: -"How many products to return, 1 to 25 (default 10)"New value: +"How many products to return, 1 to 25 (default 5)" - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "description": "By task", - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": "array" - }, - "capability": { - "description": "With a task that names a capability", - "properties": { - "definition": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - "category": { - "type": "string" - }, - "checks": { - "description": "Which of the common filters hold for it, from the drive of `checked`", - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": "boolean" - }, - "self_signup": { - "type": "boolean" - }, - "x402": { - "type": "boolean" - } - }, - "type": "object" - }, - "cite": { - "description": "How to cite this result", - "properties": { - "as_of": { - "type": [ - "string", - "null" - ] - }, - "source": { - "enum": [ - "AgentDrives drive data, CC BY 4.0", - "AgentDrives directory data, CC BY 4.0" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "as_of", - "source" - ], - "type": "object" - }, - "connect": { - "description": "How to connect in your next step, from the drive and the product's own docs", - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": "object" - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": "object" - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - } - }, - "type": "object" - }, - "disclosure": { - "type": "string" - }, - "docs_url": { - "description": "The docs' home page the drive found", - "type": [ - "string", - "null" - ] - }, - "evidence": { - "description": "With capability", - "type": "string" - }, - "free_tier": { - "description": "A free plan or nothing to pay", - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "description": "Our agent signed up and got a key without a person", - "type": [ - "boolean", - "null" - ] - }, - "level": { - "description": "The agent level, 0-5", - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "description": "null for a product listed, not driven", - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "description": "Its llms.txt, from the daily check or the drive", - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "description": "With status listed", - "type": "string" - }, - "match": { - "description": "capability", - "enum": [ - "strong", - "partial", - "capability", - "name", - "listed" - ] - }, - "mcp_url": { - "description": "Its own remote MCP server's URL", - "type": [ - "string", - "null" - ] - }, - "missing": { - "description": "Only in nearest_tools", - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with" - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean" - ] - } - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "near": { - "description": "With match near", - "type": "string" - }, - "note": { - "description": "With status listed", - "type": "string" - }, - "openapi_url": { - "description": "Its OpenAPI document, from the daily check", - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner" - ] - }, - "pay_rails": { - "description": "Each agent-native rail on its record and how", - "items": { - "properties": { - "rail": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "rail", - "state" - ], - "type": "object" - }, - "type": "array" - }, - "pays_with": { - "description": "The ways it takes payment", - "items": { - "type": "string" - }, - "type": "array" - }, - "product_url": { - "description": "The product's own site", - "type": [ - "string", - "null" - ] - }, - "signup": { - "description": "How our agent got in on its own (its first way in)", - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "way": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": "string" - }, - "status": { - "description": "Only on a product listed, not driven", - "enum": [ - "listed" - ] - }, - "stop": { - "properties": { - "at": { - "type": "string" - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "description": "With status listed", - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": "array" - }, - "task": { - "properties": { - "matched": { - "type": "string" - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown" - ] - }, - "via": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "description": "With capability", - "items": { - "type": "string" - }, - "type": "array" - }, - "tested_at": { - "type": "string" - }, - "url": { - "description": "The product's page with us", - "type": "string" - }, - "work_done": { - "description": "Share of the core tasks done, 0-100", - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "description": "By capability", - "properties": { - "capability": { - "description": "A capability of the shared vocabulary (GET /api/capabilities)", - "properties": { - "definition": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - "of": { - "description": "The listed products that have it", - "type": "integer" - }, - "results": { - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": "array" - }, - "capability": { - "properties": { - "definition": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - "category": { - "type": "string" - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": "boolean" - }, - "self_signup": { - "type": "boolean" - }, - "x402": { - "type": "boolean" - } - }, - "type": "object" - }, - "cite": { - "properties": { - "as_of": { - "type": [ - "string", - "null" - ] - }, - "source": { - "enum": [ - "AgentDrives drive data, CC BY 4.0", - "AgentDrives directory data, CC BY 4.0" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "as_of", - "source" - ], - "type": "object" - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": "object" - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": "object" - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - } - }, - "type": "object" - }, - "disclosure": { - "type": "string" - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": "string" - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "type": "string" - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "name", - "listed" - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with" - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean" - ] - } - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "near": { - "type": "string" - }, - "note": { - "type": "string" - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner" - ] - }, - "pay_rails": { - "items": { - "properties": { - "rail": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "rail", - "state" - ], - "type": "object" - }, - "type": "array" - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": "array" - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "way": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": "string" - }, - "status": { - "enum": [ - "listed" - ] - }, - "stop": { - "properties": { - "at": { - "type": "string" - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": "array" - }, - "task": { - "properties": { - "matched": { - "type": "string" - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown" - ] - }, - "via": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": "array" - }, - "tested_at": { - "type": "string" - }, - "url": { - "type": "string" - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "results" - ], - "type": "object" - }, - { - "description": "A task no product we drove does", - "properties": { - "covered": { - "const": false, - "description": "Only when no product meets the task and every filter (results is empty)" - }, - "nearest_category": { - "description": "With covered", - "properties": { - "name": { - "type": [ - "string", - "null" - ] - }, - "products": { - "type": [ - "integer", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "nearest_tools": { - "description": "With covered, when products do the task but none meets every filter", - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "category": { - "type": [ - "string", - "null" - ] - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": [ - "boolean", - "null" - ] - }, - "self_signup": { - "type": [ - "boolean", - "null" - ] - }, - "x402": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "cite": { - "properties": { - "as_of": { - "type": [ - "string", - "null" - ] - }, - "source": { - "enum": [ - "AgentDrives drive data, CC BY 4.0", - "AgentDrives directory data, CC BY 4.0" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "as_of", - "source" - ], - "type": [ - "object", - "null" - ] - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse", - null - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "disclosure": { - "type": [ - "string", - "null" - ] - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": [ - "string", - "null" - ] - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "type": [ - "string", - "null" - ] - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "near", - "listed", - null - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with", - null - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "near": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner", - null - ] - }, - "pay_rails": { - "items": { - "properties": { - "rail": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "rail", - "state" - ], - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "way": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "listed", - null - ] - }, - "stop": { - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown", - null - ] - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "tested_at": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "request_drive": { - "description": "With covered", - "properties": { - "api": { - "type": [ - "string", - "null" - ] - }, - "fix": { - "type": [ - "string", - "null" - ] - }, - "mcp_tool": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "results": { - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "category": { - "type": [ - "string", - "null" - ] - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": [ - "boolean", - "null" - ] - }, - "self_signup": { - "type": [ - "boolean", - "null" - ] - }, - "x402": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "cite": { - "properties": { - "as_of": { - "type": [ - "string", - "null" - ] - }, - "source": { - "enum": [ - "AgentDrives drive data, CC BY 4.0", - "AgentDrives directory data, CC BY 4.0" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "as_of", - "source" - ], - "type": [ - "object", - "null" - ] - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse", - null - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "disclosure": { - "type": [ - "string", - "null" - ] - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": [ - "string", - "null" - ] - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "type": [ - "string", - "null" - ] - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "near", - "listed", - null - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with", - null - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "near": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner", - null - ] - }, - "pay_rails": { - "items": { - "properties": { - "rail": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "rail", - "state" - ], - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "way": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "listed", - null - ] - }, - "stop": { - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown", - null - ] - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "tested_at": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "covered", - "results", - "nearest_category" - ], - "type": "object" - }, - { - "description": "Products do the task but none meets every filter", - "properties": { - "covered": { - "const": false, - "description": "Only when no product meets the task and every filter (results is empty)" - }, - "nearest_tools": { - "description": "With covered, when products do the task but none meets every filter", - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "category": { - "type": [ - "string", - "null" - ] - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": [ - "boolean", - "null" - ] - }, - "self_signup": { - "type": [ - "boolean", - "null" - ] - }, - "x402": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "cite": { - "properties": { - "as_of": { - "type": [ - "string", - "null" - ] - }, - "source": { - "enum": [ - "AgentDrives drive data, CC BY 4.0", - "AgentDrives directory data, CC BY 4.0" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "as_of", - "source" - ], - "type": [ - "object", - "null" - ] - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse", - null - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "disclosure": { - "type": [ - "string", - "null" - ] - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": [ - "string", - "null" - ] - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "type": [ - "string", - "null" - ] - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "near", - "listed", - null - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with", - null - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "near": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner", - null - ] - }, - "pay_rails": { - "items": { - "properties": { - "rail": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "rail", - "state" - ], - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "way": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "listed", - null - ] - }, - "stop": { - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown", - null - ] - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "tested_at": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "results": { - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "category": { - "type": [ - "string", - "null" - ] - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": [ - "boolean", - "null" - ] - }, - "self_signup": { - "type": [ - "boolean", - "null" - ] - }, - "x402": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "cite": { - "properties": { - "as_of": { - "type": [ - "string", - "null" - ] - }, - "source": { - "enum": [ - "AgentDrives drive data, CC BY 4.0", - "AgentDrives directory data, CC BY 4.0" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "as_of", - "source" - ], - "type": [ - "object", - "null" - ] - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse", - null - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "disclosure": { - "type": [ - "string", - "null" - ] - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": [ - "string", - "null" - ] - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "type": [ - "string", - "null" - ] - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "near", - "listed", - null - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with", - null - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "near": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner", - null - ] - }, - "pay_rails": { - "items": { - "properties": { - "rail": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "rail", - "state" - ], - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "way": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "listed", - null - ] - }, - "stop": { - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown", - null - ] - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "tested_at": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "covered", - "results", - "nearest_tools" - ], - "type": "object" - } -]New value: +[ + { + "description": "By task", + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": "array" + }, + "capability": { + "description": "With a task that names a capability", + "properties": { + "definition": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "category": { + "type": "string" + }, + "checks": { + "description": "Which of the common filters hold for it, from the drive of `checked`", + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": "boolean" + }, + "self_signup": { + "type": "boolean" + }, + "x402": { + "type": "boolean" + } + }, + "type": "object" + }, + "cite": { + "description": "How to cite this result", + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": "object" + }, + "connect": { + "description": "How to connect in your next step, from the drive and the product's own docs", + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": "object" + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": "object" + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + } + }, + "type": "object" + }, + "disclosure": { + "type": "string" + }, + "docs_url": { + "description": "The docs' home page the drive found", + "type": [ + "string", + "null" + ] + }, + "evidence": { + "description": "With capability", + "type": "string" + }, + "free_tier": { + "description": "A free plan or nothing to pay", + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "description": "Our agent signed up and got a key without a person", + "type": [ + "boolean", + "null" + ] + }, + "level": { + "description": "The agent level, 0-5", + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "description": "null for a product listed, not driven", + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "description": "Its llms.txt, from the daily check or the drive", + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "description": "With status listed", + "type": "string" + }, + "match": { + "description": "capability", + "enum": [ + "strong", + "partial", + "capability", + "name", + "listed" + ] + }, + "mcp_url": { + "description": "Its own remote MCP server's URL", + "type": [ + "string", + "null" + ] + }, + "missing": { + "description": "Only in nearest_tools", + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with" + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean" + ] + } + }, + "type": "object" + }, + "name": { + "type": "string" + }, + "near": { + "description": "With match near", + "type": "string" + }, + "next": { + "description": "In brief (the default)", + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "description": "With status listed", + "type": "string" + }, + "openapi_url": { + "description": "Its OpenAPI document, from the daily check", + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner" + ] + }, + "pay_rails": { + "description": "Each agent-native rail on its record and how", + "items": { + "properties": { + "rail": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "rail", + "state" + ], + "type": "object" + }, + "type": "array" + }, + "pays_with": { + "description": "The ways it takes payment", + "items": { + "type": "string" + }, + "type": "array" + }, + "product_url": { + "description": "The product's own site", + "type": [ + "string", + "null" + ] + }, + "signup": { + "description": "How our agent got in on its own (its first way in)", + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "way": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": "string" + }, + "status": { + "description": "Only on a product listed, not driven", + "enum": [ + "listed" + ] + }, + "stop": { + "properties": { + "at": { + "type": "string" + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "description": "With status listed", + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": "array" + }, + "task": { + "properties": { + "matched": { + "type": "string" + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown" + ] + }, + "via": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "description": "With capability", + "items": { + "type": "string" + }, + "type": "array" + }, + "tested_at": { + "type": "string" + }, + "url": { + "description": "The product's page with us", + "type": "string" + }, + "work_done": { + "description": "Share of the core tasks done, 0-100", + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "description": "By capability", + "properties": { + "capability": { + "description": "A capability of the shared vocabulary (GET /api/capabilities)", + "properties": { + "definition": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "of": { + "description": "The listed products that have it", + "type": "integer" + }, + "results": { + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": "array" + }, + "capability": { + "properties": { + "definition": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "category": { + "type": "string" + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": "boolean" + }, + "self_signup": { + "type": "boolean" + }, + "x402": { + "type": "boolean" + } + }, + "type": "object" + }, + "cite": { + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": "object" + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": "object" + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": "object" + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + } + }, + "type": "object" + }, + "disclosure": { + "type": "string" + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": "string" + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": "string" + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "name", + "listed" + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with" + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean" + ] + } + }, + "type": "object" + }, + "name": { + "type": "string" + }, + "near": { + "type": "string" + }, + "next": { + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "type": "string" + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner" + ] + }, + "pay_rails": { + "items": { + "properties": { + "rail": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "rail", + "state" + ], + "type": "object" + }, + "type": "array" + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": "array" + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "way": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": "string" + }, + "status": { + "enum": [ + "listed" + ] + }, + "stop": { + "properties": { + "at": { + "type": "string" + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": "array" + }, + "task": { + "properties": { + "matched": { + "type": "string" + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown" + ] + }, + "via": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tested_at": { + "type": "string" + }, + "url": { + "type": "string" + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "results" + ], + "type": "object" + }, + { + "description": "A task no product we drove does", + "properties": { + "covered": { + "const": false, + "description": "Only when no product meets the task and every filter (results is empty)" + }, + "nearest_category": { + "description": "With covered", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "products": { + "type": [ + "integer", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "nearest_tools": { + "description": "With covered, when products do the task but none meets every filter", + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": [ + "boolean", + "null" + ] + }, + "self_signup": { + "type": [ + "boolean", + "null" + ] + }, + "x402": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "cite": { + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": [ + "object", + "null" + ] + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse", + null + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "disclosure": { + "type": [ + "string", + "null" + ] + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": [ + "string", + "null" + ] + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "near", + "listed", + null + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with", + null + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "near": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner", + null + ] + }, + "pay_rails": { + "items": { + "properties": { + "rail": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "rail", + "state" + ], + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "way": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "listed", + null + ] + }, + "stop": { + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "properties": { + "matched": { + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown", + null + ] + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "tested_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "request_drive": { + "description": "With covered", + "properties": { + "api": { + "type": [ + "string", + "null" + ] + }, + "fix": { + "type": [ + "string", + "null" + ] + }, + "mcp_tool": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "results": { + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": [ + "boolean", + "null" + ] + }, + "self_signup": { + "type": [ + "boolean", + "null" + ] + }, + "x402": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "cite": { + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": [ + "object", + "null" + ] + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse", + null + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "disclosure": { + "type": [ + "string", + "null" + ] + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": [ + "string", + "null" + ] + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "near", + "listed", + null + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with", + null + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "near": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner", + null + ] + }, + "pay_rails": { + "items": { + "properties": { + "rail": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "rail", + "state" + ], + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "way": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "listed", + null + ] + }, + "stop": { + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "properties": { + "matched": { + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown", + null + ] + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "tested_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "covered", + "results", + "nearest_category" + ], + "type": "object" + }, + { + "description": "Products do the task but none meets every filter", + "properties": { + "covered": { + "const": false, + "description": "Only when no product meets the task and every filter (results is empty)" + }, + "nearest_tools": { + "description": "With covered, when products do the task but none meets every filter", + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": [ + "boolean", + "null" + ] + }, + "self_signup": { + "type": [ + "boolean", + "null" + ] + }, + "x402": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "cite": { + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": [ + "object", + "null" + ] + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse", + null + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "disclosure": { + "type": [ + "string", + "null" + ] + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": [ + "string", + "null" + ] + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "near", + "listed", + null + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with", + null + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "near": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner", + null + ] + }, + "pay_rails": { + "items": { + "properties": { + "rail": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "rail", + "state" + ], + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "way": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "listed", + null + ] + }, + "stop": { + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "properties": { + "matched": { + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown", + null + ] + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "tested_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "results": { + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": [ + "boolean", + "null" + ] + }, + "self_signup": { + "type": [ + "boolean", + "null" + ] + }, + "x402": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "cite": { + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": [ + "object", + "null" + ] + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse", + null + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "disclosure": { + "type": [ + "string", + "null" + ] + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": [ + "string", + "null" + ] + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "near", + "listed", + null + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with", + null + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "near": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner", + null + ] + }, + "pay_rails": { + "items": { + "properties": { + "rail": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "rail", + "state" + ], + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "way": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "listed", + null + ] + }, + "stop": { + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "properties": { + "matched": { + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown", + null + ] + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "tested_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "covered", + "results", + "nearest_tools" + ], + "type": "object" + } +]
3 tool updates
- Changed
claim_domain2 fields changed- added
Output schema / properties / result / properties / claim / properties / report / properties / levelAdded value: +{ + "type": [ + "integer", + "null" + ] +} - added
Output schema / properties / result / properties / claim / properties / report / properties / tested_atAdded value: +{ + "type": [ + "string", + "null" + ] +}
- Changed
verify_claim2 fields changed- added
Output schema / properties / result / properties / claim / properties / report / properties / levelAdded value: +{ + "type": [ + "integer", + "null" + ] +} - added
Output schema / properties / result / properties / claim / properties / report / properties / tested_atAdded value: +{ + "type": [ + "string", + "null" + ] +}
- Changed
whoami2 fields changed- added
Output schema / properties / result / properties / claims / items / properties / report / properties / levelAdded value: +{ + "type": [ + "integer", + "null" + ] +} - added
Output schema / properties / result / properties / claims / items / properties / report / properties / tested_atAdded value: +{ + "type": [ + "string", + "null" + ] +}
4 tool updates
- Changed
audit_fixes1 field changed- changed
Output schema / properties / result / properties / target_level / descriptionPrevious value: -"Your goal, never a promise"New value: +"Your goal, shown on your dashboard"
- Changed
get_tool1 field changed- changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "description": "The full result (brief false)", - "properties": { - "access": { - "description": "How an agent gets in", - "items": { - "description": "How an agent gets in (rules of 13 Oct 2026)", - "properties": { - "by_route": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "core": { - "type": [ - "string", - "null" - ] - }, - "key": { - "enum": [ - "keyless", - "local", - "try_first", - "no_account", - "pay_per_call", - "key_by_api", - "mcp_signin", - "email_signup", - "browser_signup", - "by_name", - "person" - ] - }, - "label": { - "type": "string" - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "type": "array" - }, - "after_wall": { - "description": "After the wall", - "properties": { - "agent_steps": { - "items": { - "properties": { - "rung": { - "type": "string" - }, - "status": { - "enum": [ - "headless", - "browser" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - "coverage_core": { - "type": [ - "integer", - "null" - ] - }, - "done": { - "items": { - "properties": { - "cap": { - "type": "string" - }, - "capability": { - "type": "string" - }, - "route": { - "enum": [ - "headless", - "browser" - ] - }, - "weight": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "kind": { - "enum": [ - "challenge", - "browser-check", - "phone", - "card", - "signup-refused", - "other", - null - ], - "type": [ - "string", - "null" - ] - }, - "label": { - "type": "string" - }, - "parts": { - "items": { - "enum": [ - "holds_up", - "docs_match" - ] - }, - "type": "array" - }, - "step": { - "type": "string" - }, - "steps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "via": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "agent_surfaces": { - "description": "Each way an agent works the product, as the product page's tiles show it, whether or not our agent got in", - "properties": { - "api": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "cli": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "docs": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "mcp": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "payment": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "sdk": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - } - }, - "required": [ - "api", - "mcp", - "cli", - "sdk", - "docs", - "payment" - ], - "type": "object" - }, - "attempts_count": { - "type": "integer" - }, - "badges": { - "description": "agent-can-buy", - "items": { - "enum": [ - "agent-can-buy", - "agent-can-leave" - ] - }, - "type": "array" - }, - "blocks_agent": { - "description": "The bot check that stopped our signed agent on at least one way in, from sign-up to the first call (null", - "type": [ - "string", - "null" - ] - }, - "category": { - "description": "The category id", - "type": "string" - }, - "category_median": { - "additionalProperties": { - "properties": { - "median": { - "type": "integer" - }, - "n": { - "type": "integer" - } - }, - "type": "object" - }, - "description": "Each part score's median in this product's category (holds_up, docs_match", - "type": [ - "object", - "null" - ] - }, - "category_name": { - "type": "string" - }, - "checkout": { - "description": "The walk to the last click", - "type": [ - "object", - "null" - ] - }, - "claims": { - "description": "The claims ledger", - "properties": { - "broken": { - "type": "integer" - }, - "claimed": { - "type": "integer" - }, - "held": { - "type": "integer" - }, - "not_tried": { - "type": "integer" - }, - "tried": { - "type": "integer" - }, - "unclear": { - "type": "integer" - }, - "undocumented_works": { - "type": "integer" - } - }, - "type": [ - "object", - "null" - ] - }, - "confirmation": { - "description": "How far its drives back the level", - "properties": { - "agree": { - "type": "integer" - }, - "drives": { - "type": "integer" - }, - "review": { - "properties": { - "by": { - "type": "string" - }, - "date": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "state": { - "enum": [ - "awaiting", - "confirmed", - "signed_off", - "not_needed", - "rechecking" - ] - }, - "text": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "copilot_connector": { - "description": "The product in GitHub's list of Copilot connectors (GitHub-verified MCP servers), read on checked", - "properties": { - "checked": { - "type": "string" - }, - "name": { - "type": "string" - }, - "server": { - "type": "string" - }, - "source": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "core": { - "description": "Core features done of all, as done/total", - "type": [ - "string", - "null" - ] - }, - "correction": { - "description": "The listing's correction status", - "properties": { - "open": { - "type": "integer" - }, - "reply_by": { - "type": [ - "string", - "null" - ] - }, - "since": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "disputed", - "none" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "coverage_core": { - "description": "Work done", - "type": [ - "integer", - "null" - ] - }, - "coverage_source": { - "description": "computed", - "enum": [ - "computed", - "reported" - ] - }, - "detail": { - "description": "The attempt log with its evidence, for the product's verified owner", - "properties": { - "needs": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": "object" - }, - "disclosure": { - "description": "Only on a drive its owner paid for", - "type": "string" - }, - "docs": { - "description": "The docs read and judged by us before the drive", - "type": [ - "object", - "null" - ] - }, - "docs_overall": { - "description": "The docs pass's verdict (null", - "enum": [ - "complete", - "gaps", - "thin", - "unreachable", - null - ], - "type": [ - "string", - "null" - ] - }, - "domain": { - "type": "string" - }, - "draft": { - "description": "Not reviewed yet", - "type": "boolean" - }, - "drives": { - "description": "Every drive of the product so far", - "type": "integer" - }, - "email_gate": { - "description": "Its sign-up refused our agent's own email address (invalid, disposable, not a work email, only Gmail or Outlook)", - "properties": { - "date": { - "type": "string" - }, - "finding": { - "type": "string" - }, - "fix": { - "type": "string" - }, - "said": { - "type": [ - "string", - "null" - ] - }, - "step": { - "enum": [ - "signup", - "verify" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "engine": { - "description": "What made this drive on our end, so a level that moves with it can be told from one the product moved", - "properties": { - "commit": { - "type": [ - "string", - "null" - ] - }, - "driver": { - "type": [ - "integer", - "null" - ] - }, - "inbox": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "model": { - "type": [ - "string", - "null" - ] - }, - "prompts": { - "properties": { - "commit": { - "type": [ - "string", - "null" - ] - }, - "version": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "robots": { - "enum": [ - "start", - "obey", - "skip", - "consent" - ] - }, - "rules": { - "properties": { - "commit": { - "type": [ - "string", - "null" - ] - }, - "version": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "signed": { - "type": "boolean" - }, - "version": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "entry": { - "description": "self-start", - "enum": [ - "self-start", - "setup", - "closed" - ] - }, - "evidence_sha256": { - "description": "The sha256 of the drive's record, which lists every evidence file of the drive with its own sha256", - "type": [ - "string", - "null" - ] - }, - "first_blocker": { - "description": "The first thing that stops or slows an agent", - "type": "string" - }, - "first_seen": { - "description": "The day we first drove the product", - "type": [ - "string", - "null" - ] - }, - "fix_counts": { - "description": "How many fixes the drive found, by size and in all", - "properties": { - "large": { - "type": "integer" - }, - "medium": { - "type": "integer" - }, - "small": { - "type": "integer" - }, - "total": { - "type": "integer" - } - }, - "type": [ - "object", - "null" - ] - }, - "freshness": { - "description": "How old the listed drive is", - "enum": [ - "fresh", - "aging", - "redrive" - ] - }, - "history": { - "description": "The level per day, oldest first", - "items": { - "properties": { - "agent_paid": { - "properties": { - "amount": { - "type": [ - "number", - "null" - ] - }, - "currency": { - "type": "string" - }, - "date": { - "type": [ - "string", - "null" - ] - }, - "rail": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "date": { - "type": "string" - }, - "engine": { - "type": "object" - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": "integer" - }, - "paid": { - "type": "boolean" - }, - "rules_date": { - "type": "string" - }, - "run": { - "type": "string" - }, - "why": { - "enum": [ - "product", - "rules", - "noise", - "agent" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - "icon": { - "description": "The product's logo, a path on this site", - "type": [ - "string", - "null" - ] - }, - "id": { - "description": "The product's stable id", - "pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$", - "type": "string" - }, - "ids": { - "description": "What the product joins on", - "properties": { - "domain": { - "type": [ - "string", - "null" - ] - }, - "mcp_registry": { - "items": { - "type": "string" - }, - "type": "array" - }, - "org": { - "type": [ - "string", - "null" - ] - }, - "slugs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "surfaces": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "wikidata": { - "type": "string" - } - }, - "type": "object" - }, - "in_stripe_directory": { - "description": "The product's profile handle in Stripe Directory, the same as stripe_directory.profile", - "type": [ - "string", - "null" - ] - }, - "issues_found": { - "description": "How many issues the drive found", - "minimum": 0, - "type": "integer" - }, - "json": { - "description": "Its full record", - "type": "string" - }, - "ladder": { - "description": "The nine checkpoints, each with status and note, in the order of the agent's eight steps (Discover → Docs → Sign up → Get a key → Do the work → Pay → Cancel …", - "type": "object" - }, - "lets_agent": { - "description": "A bot check that let our signed agent through (null", - "type": [ - "string", - "null" - ] - }, - "level": { - "description": "Agent level, the only rank", - "maximum": 5, - "minimum": 0, - "type": "integer" - }, - "level_name": { - "type": "string" - }, - "level_selfhost": { - "description": "The level of the self-hosted edition, when it was driven (null", - "type": [ - "integer", - "null" - ] - }, - "license": { - "description": "The licence of this record", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "mcp": { - "description": "Whether it has an MCP server", - "enum": [ - "official", - "third-party", - "docs", - "none", - null - ], - "type": [ - "string", - "null" - ] - }, - "minutes": { - "description": "Minutes to the first call on the fastest way in", - "type": [ - "number", - "null" - ] - }, - "name": { - "type": "string" - }, - "newer_drives": { - "description": "Finished drives after the listed one, not listed yet", - "properties": { - "count": { - "type": "integer" - }, - "newest": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "next": { - "properties": { - "text": { - "type": "string" - }, - "to": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "not_driven_since": { - "description": "The day of the last drive, when the product's owner asked us to stop driving it", - "type": [ - "string", - "null" - ] - }, - "nothing_to_pay": { - "description": "The product has nothing to pay for", - "type": "boolean" - }, - "origin": { - "description": "editorial", - "enum": [ - "editorial", - "owner" - ] - }, - "outcomes": { - "description": "The five outcomes", - "items": { - "description": "One of the five outcomes (from the rules of 13 Oct 2026)", - "properties": { - "after_hours": { - "type": "number" - }, - "delete": { - "type": [ - "object", - "null" - ] - }, - "docs": { - "type": "string" - }, - "have": { - "items": { - "enum": [ - "llms_txt", - "openapi", - "mcp" - ] - }, - "type": "array" - }, - "key": { - "enum": [ - "find", - "access", - "use", - "pay", - "leave" - ] - }, - "label": { - "type": "string" - }, - "left": { - "enum": [ - "deleted", - "data_only", - "nothing_made", - "removed", - "expires", - "stuck", - "wallet_kept" - ] - }, - "per_call": { - "properties": { - "caps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "core": { - "type": "integer" - }, - "share": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "route": { - "enum": [ - "agent_rail", - "projects", - "billing_api", - "agent_checkout", - "card_checkout", - "portal", - "sales", - "none" - ], - "type": "string" - }, - "stage": { - "enum": [ - "in", - "work", - "pay", - "leave" - ], - "type": "string" - }, - "state": { - "enum": [ - "yes", - "part", - "no", - "unreached", - "na" - ] - }, - "text": { - "type": "string" - }, - "value": { - "enum": [ - "paid", - "partial", - "ready", - "checkout", - "person", - "not_tried", - "unreached", - "nothing" - ] - }, - "way": { - "type": "string" - }, - "why": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "page": { - "description": "The product's page with us", - "type": "string" - }, - "paid": { - "description": "Our side made and proved a payment on one of them (the transaction is in the tool's pay_options.paid)", - "type": "boolean" - }, - "parts": { - "description": "The part scores, 0-100, null when not measured", - "properties": { - "docs_match": { - "type": [ - "integer", - "null" - ] - }, - "holds_up": { - "type": [ - "integer", - "null" - ] - }, - "security": { - "enum": [ - "private", - null - ], - "type": [ - "string", - "null" - ] - }, - "setup": { - "type": [ - "integer", - "null" - ] - }, - "standards": { - "items": { - "properties": { - "behind": { - "type": [ - "integer", - "null" - ] - }, - "standard": { - "type": "string" - }, - "state": { - "enum": [ - "current", - "behind" - ] - }, - "value": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "pay": { - "description": "How an agent can pay for it, as a grade from P0 (no self-serve purchase) up to P5 (an agent-native payment method sells the product)", - "type": [ - "string", - "null" - ] - }, - "pay_options": { - "description": "The pay checkpoint", - "properties": { - "agentic": { - "items": { - "type": "string" - }, - "type": "array" - }, - "checked": { - "type": "string" - }, - "detected_grade": { - "type": [ - "string", - "null" - ] - }, - "exercised": { - "type": [ - "boolean", - "null" - ] - }, - "options": { - "items": { - "properties": { - "first_party": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "kind": { - "enum": [ - "agent-rail", - "agent-checkout", - "mcp-tool", - "billing", - "checkout" - ] - }, - "lead": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "networks": { - "items": { - "type": "string" - }, - "type": "array" - }, - "testnet": { - "type": "boolean" - } - }, - "type": "object" - }, - "type": "array" - }, - "owner_fixes": { - "items": { - "properties": { - "how": { - "type": "string" - }, - "title": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "paid": { - "properties": { - "amount": { - "type": [ - "number", - "string", - "null" - ] - }, - "at": { - "type": [ - "string", - "null" - ] - }, - "currency": { - "type": "string" - }, - "network": { - "type": [ - "string", - "null" - ] - }, - "rail": { - "type": "string" - }, - "testnet": { - "type": "boolean" - }, - "tx": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "source": { - "enum": [ - "probe", - "drive" - ] - }, - "trial": { - "properties": { - "card_required": { - "type": [ - "boolean", - "null" - ] - }, - "free_plan": { - "type": [ - "boolean", - "null" - ] - }, - "no_card": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": "object" - } - }, - "type": [ - "object", - "null" - ] - }, - "pay_rails": { - "description": "Each agent-native payment rail (x402, mpp, l402, acp, ucp, ap2, mcp-payment) the drive saw on the product (drive true", - "items": { - "properties": { - "drive": { - "type": "boolean" - }, - "listed": { - "properties": { - "checked": { - "type": "string" - }, - "registry": { - "type": "string" - }, - "source": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "rail": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "pays_with": { - "description": "The agent-native ways to pay it offers, from our pay probe or the drive (x402, mpp, l402, stripe-projects, acp, ucp, ap2, mcp-payment)", - "items": { - "type": "string" - }, - "type": "array" - }, - "peers": { - "additionalProperties": { - "properties": { - "above": { - "type": "integer" - }, - "basis": { - "enum": [ - "category", - "all" - ], - "type": "string" - }, - "below": { - "type": "integer" - }, - "n": { - "type": "integer" - }, - "percentile": { - "type": "integer" - }, - "quartile": { - "type": "integer" - } - }, - "type": "object" - }, - "description": "Each graded criterion of the standard (by its id) next to its peers, the products measured on it", - "type": [ - "object", - "null" - ] - }, - "rank": { - "description": "Its place in its category among the products our agent got into on its own (with the directory on", - "minimum": 1, - "type": [ - "integer", - "null" - ] - }, - "rank_change": { - "description": "How many places it moved the last time its place changed", - "type": [ - "integer", - "null" - ] - }, - "rank_of": { - "description": "How many products of its category are ranked", - "type": "integer" - }, - "rank_since": { - "description": "The day of that move, or the day it entered the ranking", - "type": [ - "string", - "null" - ] - }, - "robots": { - "description": "robots.txt on the way in (null", - "properties": { - "held": { - "type": "boolean" - }, - "rule": { - "enum": [ - "named", - "star" - ] - }, - "seen": { - "type": "string" - }, - "step": { - "enum": [ - "signup", - "verify", - "credentials", - "first_call", - null - ], - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "routes": { - "description": "Every way in the product offers, tried agent-native first (since the rules of 12 Oct 2026", - "items": { - "properties": { - "brings": { - "type": [ - "string", - "null" - ] - }, - "browser": { - "type": [ - "boolean", - "null" - ] - }, - "fresh": { - "type": [ - "boolean", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "not_tried": { - "enum": [ - "no_kit", - "over_cap", - "policy", - "time", - "same_as", - "assisted_only", - "idp_blocked", - "sign_in_code", - "robots", - "terms", - "beyond", - null - ], - "type": [ - "string", - "null" - ] - }, - "offered": { - "enum": [ - "documented", - "seen", - "listed", - "no", - "unknown" - ] - }, - "person": { - "enum": [ - "none", - "once", - "each", - null - ], - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "in", - "partial", - "walled", - "refused", - "broken", - "not_reached", - "not_counted", - null - ], - "type": [ - "string", - "null" - ] - }, - "route": { - "type": "string" - }, - "tried": { - "type": "boolean" - }, - "wall": { - "properties": { - "owner": { - "enum": [ - "product", - "idp", - "platform", - "ours", - null - ] - }, - "type": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "why": { - "enum": [ - "terms", - null - ], - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - "rules_date": { - "description": "The date of those rules, as pages name them (\"Rules of ...\"", - "type": "string" - }, - "rules_url": { - "description": "That rules version's entry", - "type": [ - "string", - "null" - ] - }, - "rules_version": { - "description": "The rules version this level was judged under", - "type": [ - "string", - "null" - ] - }, - "same_level_drives": { - "description": "The latest drives in a row that gave this level", - "type": "integer" - }, - "scores": { - "description": "The measures behind the parts", - "type": "object" - }, - "slug": { - "description": "The product's address in the directory (can change", - "type": "string" - }, - "stages": { - "items": { - "description": "One of the four stages that decide the level (in", - "properties": { - "after_hours": { - "type": "number" - }, - "delete": { - "properties": { - "state": { - "enum": [ - "yes", - "part", - "no", - "na", - "unreached" - ] - }, - "text": { - "type": "string" - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "key": { - "enum": [ - "in", - "work", - "pay", - "leave" - ] - }, - "label": { - "type": "string" - }, - "left": { - "enum": [ - "deleted", - "data_only", - "nothing_made", - "removed", - "expires", - "stuck", - "wallet_kept" - ] - }, - "per_call": { - "properties": { - "caps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "core": { - "type": "integer" - }, - "share": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "route": { - "enum": [ - "agent_rail", - "projects", - "billing_api", - "agent_checkout", - "card_checkout", - "portal", - "sales", - "none" - ], - "type": "string" - }, - "state": { - "enum": [ - "yes", - "part", - "no", - "unreached", - "na" - ] - }, - "text": { - "type": "string" - }, - "value": { - "enum": [ - "paid", - "partial", - "ready", - "checkout", - "person", - "not_tried", - "unreached", - "nothing" - ] - }, - "way": { - "type": "string" - }, - "why": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "stale": { - "description": "Always false", - "type": "boolean" - }, - "stop": { - "description": "The first checkpoint the agent did not get past (null", - "type": [ - "string", - "null" - ] - }, - "stripe_directory": { - "description": "The product's profile in Stripe's agent directory (what an agent finds with stripe directory search), as we searched it on checked", - "properties": { - "checked": { - "type": "string" - }, - "name": { - "type": "string" - }, - "profile": { - "type": "string" - }, - "routes": { - "items": { - "enum": [ - "projects", - "mpp", - "mcp", - "app", - "link" - ] - }, - "type": "array" - }, - "source": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "stripe_projects": { - "description": "The product as a provider in the Stripe Projects catalog (an agent creates its account and gets credentials with `stripe projects add`), read on checked", - "properties": { - "checked": { - "type": "string" - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "provider": { - "type": "string" - }, - "services": { - "type": [ - "integer", - "null" - ] - }, - "source": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "summary": { - "description": "What an agent can do with it, in a sentence or two", - "type": "string" - }, - "terms": { - "description": "The product's terms say automated sign-up isn't allowed", - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "document": { - "type": [ - "string", - "null" - ] - }, - "finding": { - "type": "string" - }, - "fix": { - "type": [ - "string", - "null" - ] - }, - "quote": { - "type": "string" - }, - "section": { - "type": [ - "string", - "null" - ] - }, - "terms_date": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": "string" - }, - "work": { - "enum": [ - "not_counted", - "part", - null - ], - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tested_at": { - "description": "The day of the drive behind the level", - "type": "string" - }, - "unreachable_since": { - "description": "The day the product's site has been unreachable since", - "type": [ - "string", - "null" - ] - }, - "url": { - "description": "The product's page here", - "type": "string" - }, - "wall_type": { - "description": "What kind of bot check it was", - "enum": [ - "network", - "challenge", - null - ] - }, - "wall_vendor": { - "description": "The company whose bot check or sign-in our agent stopped at", - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "id": { - "type": "string" - }, - "kind": { - "enum": [ - "bot check", - "sign-in" - ] - }, - "vendor": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "ways_in": { - "description": "The ways in that got our agent in (route ids, e.g", - "items": { - "type": "string" - }, - "type": "array" - }, - "who_gets_in": { - "description": "Who gets in, next to the level and never part of it", - "properties": { - "browser": { - "properties": { - "measured": { - "type": "boolean" - }, - "state": { - "enum": [ - "in", - "through", - "captcha", - "unknown" - ] - } - }, - "type": "object" - }, - "our_key": { - "enum": [ - "verified", - "pending" - ] - }, - "robots": { - "enum": [ - "closed", - null - ] - }, - "server": { - "properties": { - "state": { - "enum": [ - "in", - "edge", - "captcha", - "form", - "robots", - "closed" - ] - } - }, - "type": "object" - }, - "signed": { - "properties": { - "at": { - "type": "string" - }, - "kind": { - "enum": [ - "signup", - "home" - ] - }, - "state": { - "enum": [ - "page", - "check", - "block", - "robots", - "unknown" - ] - } - }, - "type": "object" - }, - "tip": { - "type": "boolean" - } - }, - "type": [ - "object", - "null" - ] - }, - "works_assisted": { - "description": "What the agent did once a person set up the account or cleared a step at the door, from the newest drive that measured it", - "properties": { - "core": { - "type": [ - "string", - "null" - ] - }, - "coverage_core": { - "type": "integer" - }, - "date": { - "type": "string" - }, - "run": { - "type": "string" - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - } - }, - "required": [ - "slug", - "name", - "level", - "page" - ], - "type": "object" - }, - { - "description": "The headline (brief true)", - "properties": { - "access": { - "items": { - "properties": { - "core": { - "type": [ - "number", - "string", - "null" - ] - }, - "key": { - "type": "string" - }, - "label": { - "type": "string" - }, - "minutes": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - "agent_surfaces": { - "description": "Each way an agent works the product, as the product page's tiles show it, whether or not our agent got in", - "properties": { - "api": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "cli": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "docs": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "mcp": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "payment": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - }, - "sdk": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested", - "source" - ], - "type": "object" - } - }, - "required": [ - "api", - "mcp", - "cli", - "sdk", - "docs", - "payment" - ], - "type": [ - "object", - "null" - ] - }, - "attempts_count": { - "type": "integer" - }, - "blockers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "can_do": { - "items": { - "type": "string" - }, - "type": "array" - }, - "cannot_do": { - "items": { - "properties": { - "what": { - "type": "string" - }, - "why": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "category": { - "description": "The category's name", - "type": "string" - }, - "confirmation": { - "description": "How far its drives back the level", - "properties": { - "agree": { - "type": "integer" - }, - "drives": { - "type": "integer" - }, - "review": { - "properties": { - "by": { - "type": "string" - }, - "date": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "state": { - "enum": [ - "awaiting", - "confirmed", - "signed_off", - "not_needed", - "rechecking" - ] - }, - "text": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "connect": { - "description": "How to connect in your next step, from the drive and the product's own docs", - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": "object" - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": "object" - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - } - }, - "type": "object" - }, - "copilot_connector": { - "description": "The product in GitHub's list of Copilot connectors (GitHub-verified MCP servers), read on checked", - "properties": { - "checked": { - "type": "string" - }, - "name": { - "type": "string" - }, - "server": { - "type": "string" - }, - "source": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "correction": { - "description": "The listing's correction status", - "properties": { - "open": { - "type": "integer" - }, - "reply_by": { - "type": [ - "string", - "null" - ] - }, - "since": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "disputed", - "none" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "detail": { - "description": "The attempt log with its evidence, for the product's verified owner", - "properties": { - "needs": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": "object" - }, - "disclosure": { - "description": "Only on a drive its owner paid for", - "type": "string" - }, - "docs_url": { - "description": "The docs' home page the drive found", - "type": [ - "string", - "null" - ] - }, - "door": { - "description": "How far the sign-up got on its own", - "properties": { - "passed": { - "type": "integer" - }, - "self_start": { - "type": "boolean" - }, - "tries": { - "type": "integer" - } - }, - "type": [ - "object", - "null" - ] - }, - "draft": { - "description": "Not reviewed yet", - "type": "boolean" - }, - "evidence_sha256": { - "type": [ - "string", - "null" - ] - }, - "first_seen": { - "type": [ - "string", - "null" - ] - }, - "fix_counts": { - "description": "How many fixes the drive found, by size and in all", - "properties": { - "large": { - "type": "integer" - }, - "medium": { - "type": "integer" - }, - "small": { - "type": "integer" - }, - "total": { - "type": "integer" - } - }, - "type": [ - "object", - "null" - ] - }, - "freshness": { - "enum": [ - "fresh", - "aging", - "redrive", - null - ] - }, - "history": { - "items": { - "properties": { - "date": { - "type": "string" - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": "integer" - }, - "stop": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - "in_stripe_directory": { - "description": "The product's profile handle in Stripe Directory, the same as stripe_directory.profile", - "type": [ - "string", - "null" - ] - }, - "issues_found": { - "description": "How many issues the drive found", - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level": { - "description": "Agent level, the only rank", - "maximum": 5, - "minimum": 0, - "type": "integer" - }, - "level_name": { - "type": "string" - }, - "license": { - "description": "The licence of this record", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "llms_txt_url": { - "description": "Its llms.txt, from the daily check or the drive", - "type": [ - "string", - "null" - ] - }, - "mcp_url": { - "description": "Its own remote MCP server's URL", - "type": [ - "string", - "null" - ] - }, - "name": { - "type": "string" - }, - "newer_drives": { - "description": "Finished drives after the listed one, not listed yet", - "properties": { - "count": { - "type": "integer" - }, - "newest": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "next": { - "description": "What would raise the level", - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "description": "Its OpenAPI document, from the daily check", - "type": [ - "string", - "null" - ] - }, - "origin": { - "description": "editorial", - "enum": [ - "editorial", - "owner" - ] - }, - "outcomes": { - "items": { - "properties": { - "key": { - "type": "string" - }, - "state": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "page": { - "description": "The product's page with us", - "type": "string" - }, - "paid": { - "description": "The payment our agent made and we checked", - "properties": { - "amount": { - "type": [ - "number", - "string", - "null" - ] - }, - "at": { - "type": [ - "string", - "null" - ] - }, - "currency": { - "type": "string" - }, - "network": { - "type": [ - "string", - "null" - ] - }, - "rail": { - "type": "string" - }, - "testnet": { - "type": "boolean" - }, - "tx": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "pay_rails": { - "description": "Each agent-native payment rail (x402, mpp, l402, acp, ucp, ap2, mcp-payment) the drive saw on the product (drive true", - "items": { - "properties": { - "drive": { - "type": "boolean" - }, - "listed": { - "properties": { - "checked": { - "type": "string" - }, - "registry": { - "type": "string" - }, - "source": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "rail": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "pays_with": { - "description": "The agent-native ways to pay it offers, from our pay probe or the drive (x402, mpp, l402, stripe-projects, acp, ucp, ap2, mcp-payment)", - "items": { - "type": "string" - }, - "type": "array" - }, - "signup": { - "description": "How our agent got in on its own (its first way in)", - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "way": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "description": "The product's address in the directory (can change", - "type": "string" - }, - "stop": { - "properties": { - "at": { - "type": "string" - }, - "evidence": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "stripe_directory": { - "description": "The product's profile in Stripe's agent directory (what an agent finds with stripe directory search), as we searched it on checked", - "properties": { - "checked": { - "type": "string" - }, - "name": { - "type": "string" - }, - "profile": { - "type": "string" - }, - "routes": { - "items": { - "enum": [ - "projects", - "mpp", - "mcp", - "app", - "link" - ] - }, - "type": "array" - }, - "source": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "stripe_projects": { - "description": "The product as a provider in the Stripe Projects catalog (an agent creates its account and gets credentials with `stripe projects add`), read on checked", - "properties": { - "checked": { - "type": "string" - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "provider": { - "type": "string" - }, - "services": { - "type": [ - "integer", - "null" - ] - }, - "source": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "summary": { - "description": "What an agent can do with it, in a sentence or two", - "type": [ - "string", - "null" - ] - }, - "tested_at": { - "description": "The day of the drive behind the level", - "type": "string" - }, - "tips_for_agents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "url": { - "description": "The product's page here", - "type": "string" - }, - "wall": { - "description": "The main bot check or wall the drive met", - "type": [ - "string", - "null" - ] - }, - "wall_vendor": { - "description": "The company whose bot check or sign-in our agent stopped at", - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "id": { - "type": "string" - }, - "kind": { - "enum": [ - "bot check", - "sign-in" - ] - }, - "vendor": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "work_done": { - "description": "Share of the core tasks done, 0-100", - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "slug", - "name", - "level", - "page" - ], - "type": "object" - } -]New value: +[ + { + "description": "The full result (brief false)", + "properties": { + "access": { + "description": "How an agent gets in", + "items": { + "description": "How an agent gets in (rules of 13 Oct 2026)", + "properties": { + "by_route": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "core": { + "type": [ + "string", + "null" + ] + }, + "key": { + "enum": [ + "keyless", + "local", + "try_first", + "no_account", + "pay_per_call", + "key_by_api", + "mcp_signin", + "email_signup", + "browser_signup", + "by_name", + "person" + ] + }, + "label": { + "type": "string" + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "type": "array" + }, + "after_wall": { + "description": "After the wall", + "properties": { + "agent_steps": { + "items": { + "properties": { + "rung": { + "type": "string" + }, + "status": { + "enum": [ + "headless", + "browser" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + "coverage_core": { + "type": [ + "integer", + "null" + ] + }, + "done": { + "items": { + "properties": { + "cap": { + "type": "string" + }, + "capability": { + "type": "string" + }, + "route": { + "enum": [ + "headless", + "browser" + ] + }, + "weight": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "kind": { + "enum": [ + "challenge", + "browser-check", + "phone", + "card", + "signup-refused", + "other", + null + ], + "type": [ + "string", + "null" + ] + }, + "label": { + "type": "string" + }, + "parts": { + "items": { + "enum": [ + "holds_up", + "docs_match" + ] + }, + "type": "array" + }, + "step": { + "type": "string" + }, + "steps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "via": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "agent_surfaces": { + "description": "Each way an agent works the product, as the product page's tiles show it, whether or not our agent got in", + "properties": { + "api": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "reachable": { + "type": [ + "boolean", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + }, + "cli": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "reachable": { + "type": [ + "boolean", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + }, + "docs": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + }, + "mcp": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "reachable": { + "type": [ + "boolean", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + }, + "payment": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + }, + "sdk": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + } + }, + "required": [ + "api", + "mcp", + "cli", + "sdk", + "docs", + "payment" + ], + "type": "object" + }, + "attempts_count": { + "type": "integer" + }, + "badges": { + "description": "agent-can-buy", + "items": { + "enum": [ + "agent-can-buy", + "agent-can-leave" + ] + }, + "type": "array" + }, + "blocks_agent": { + "description": "The bot check that stopped our signed agent on at least one way in, from sign-up to the first call (null", + "type": [ + "string", + "null" + ] + }, + "category": { + "description": "The category id", + "type": "string" + }, + "category_median": { + "additionalProperties": { + "properties": { + "median": { + "type": "integer" + }, + "n": { + "type": "integer" + } + }, + "type": "object" + }, + "description": "Each part score's median in this product's category (holds_up, docs_match", + "type": [ + "object", + "null" + ] + }, + "category_name": { + "type": "string" + }, + "checkout": { + "description": "The walk to the last click", + "type": [ + "object", + "null" + ] + }, + "claims": { + "description": "The claims ledger", + "properties": { + "broken": { + "type": "integer" + }, + "claimed": { + "type": "integer" + }, + "held": { + "type": "integer" + }, + "not_tried": { + "type": "integer" + }, + "tried": { + "type": "integer" + }, + "unclear": { + "type": "integer" + }, + "undocumented_works": { + "type": "integer" + } + }, + "type": [ + "object", + "null" + ] + }, + "confirmation": { + "description": "How far its drives back the level", + "properties": { + "agree": { + "type": "integer" + }, + "confirmed": { + "type": "boolean" + }, + "drives": { + "type": "integer" + }, + "line": { + "type": [ + "string", + "null" + ] + }, + "review": { + "properties": { + "by": { + "type": "string" + }, + "date": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "state": { + "enum": [ + "awaiting", + "confirmed", + "signed_off", + "not_needed", + "rechecking" + ] + }, + "text": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "copilot_connector": { + "description": "The product in GitHub's list of Copilot connectors (GitHub-verified MCP servers), read on checked", + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "server": { + "type": "string" + }, + "source": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "core": { + "description": "Core features done of all, as done/total", + "type": [ + "string", + "null" + ] + }, + "correction": { + "description": "The listing's correction status", + "properties": { + "open": { + "type": "integer" + }, + "reply_by": { + "type": [ + "string", + "null" + ] + }, + "since": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "disputed", + "none" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "coverage_core": { + "description": "Work done", + "type": [ + "integer", + "null" + ] + }, + "coverage_source": { + "description": "computed", + "enum": [ + "computed", + "reported" + ] + }, + "detail": { + "description": "The attempt log with its evidence, for the product's verified owner", + "properties": { + "needs": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "disclosure": { + "description": "Only on a drive its owner paid for", + "type": "string" + }, + "docs": { + "description": "The docs read and judged by us before the drive", + "type": [ + "object", + "null" + ] + }, + "docs_overall": { + "description": "The docs pass's verdict (null", + "enum": [ + "complete", + "gaps", + "thin", + "unreachable", + null + ], + "type": [ + "string", + "null" + ] + }, + "domain": { + "type": "string" + }, + "draft": { + "description": "Not reviewed yet", + "type": "boolean" + }, + "drives": { + "description": "Every drive of the product so far", + "type": "integer" + }, + "email_gate": { + "description": "Its sign-up refused our agent's own email address (invalid, disposable, not a work email, only Gmail or Outlook)", + "properties": { + "date": { + "type": "string" + }, + "finding": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "said": { + "type": [ + "string", + "null" + ] + }, + "step": { + "enum": [ + "signup", + "verify" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "engine": { + "description": "What made this drive on our end, so a level that moves with it can be told from one the product moved", + "properties": { + "commit": { + "type": [ + "string", + "null" + ] + }, + "driver": { + "type": [ + "integer", + "null" + ] + }, + "inbox": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "model": { + "type": [ + "string", + "null" + ] + }, + "prompts": { + "properties": { + "commit": { + "type": [ + "string", + "null" + ] + }, + "version": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "robots": { + "enum": [ + "start", + "obey", + "skip", + "consent" + ] + }, + "rules": { + "properties": { + "commit": { + "type": [ + "string", + "null" + ] + }, + "version": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "signed": { + "type": "boolean" + }, + "version": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "entry": { + "description": "self-start", + "enum": [ + "self-start", + "setup", + "closed" + ] + }, + "evidence_sha256": { + "description": "The sha256 of the drive's record, which lists every evidence file of the drive with its own sha256", + "type": [ + "string", + "null" + ] + }, + "first_blocker": { + "description": "The first thing that stops or slows an agent", + "type": "string" + }, + "first_seen": { + "description": "The day we first drove the product", + "type": [ + "string", + "null" + ] + }, + "fix_counts": { + "description": "How many fixes the drive found, by size and in all", + "properties": { + "large": { + "type": "integer" + }, + "medium": { + "type": "integer" + }, + "small": { + "type": "integer" + }, + "total": { + "type": "integer" + } + }, + "type": [ + "object", + "null" + ] + }, + "freshness": { + "description": "How old the listed drive is", + "enum": [ + "fresh", + "aging", + "redrive" + ] + }, + "history": { + "description": "The level per day, oldest first", + "items": { + "properties": { + "agent_paid": { + "properties": { + "amount": { + "type": [ + "number", + "null" + ] + }, + "currency": { + "type": "string" + }, + "date": { + "type": [ + "string", + "null" + ] + }, + "rail": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "date": { + "type": "string" + }, + "engine": { + "type": "object" + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": "integer" + }, + "paid": { + "type": "boolean" + }, + "rules_date": { + "type": "string" + }, + "run": { + "type": "string" + }, + "why": { + "enum": [ + "product", + "rules", + "noise", + "agent" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + "icon": { + "description": "The product's logo, a path on this site", + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "The product's stable id", + "pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$", + "type": "string" + }, + "ids": { + "description": "What the product joins on", + "properties": { + "domain": { + "type": [ + "string", + "null" + ] + }, + "mcp_registry": { + "items": { + "type": "string" + }, + "type": "array" + }, + "org": { + "type": [ + "string", + "null" + ] + }, + "slugs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "surfaces": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "wikidata": { + "type": "string" + } + }, + "type": "object" + }, + "in_stripe_directory": { + "description": "The product's profile handle in Stripe Directory, the same as stripe_directory.profile", + "type": [ + "string", + "null" + ] + }, + "issues_found": { + "description": "How many issues the drive found", + "minimum": 0, + "type": "integer" + }, + "json": { + "description": "Its full record", + "type": "string" + }, + "ladder": { + "description": "The nine checkpoints, each with status and note, in the order of the agent's eight steps (Discover → Docs → Sign up → Get a key → Do the work → Pay → Cancel …", + "type": "object" + }, + "lets_agent": { + "description": "A bot check that let our signed agent through (null", + "type": [ + "string", + "null" + ] + }, + "level": { + "description": "Agent level, the only rank", + "maximum": 5, + "minimum": 0, + "type": "integer" + }, + "level_name": { + "type": "string" + }, + "level_selfhost": { + "description": "The level of the self-hosted edition, when it was driven (null", + "type": [ + "integer", + "null" + ] + }, + "license": { + "description": "The licence of this record", + "properties": { + "name": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "mcp": { + "description": "Whether it has an MCP server", + "enum": [ + "official", + "third-party", + "docs", + "none", + null + ], + "type": [ + "string", + "null" + ] + }, + "minutes": { + "description": "Minutes to the first call on the fastest way in", + "type": [ + "number", + "null" + ] + }, + "name": { + "type": "string" + }, + "newer_drives": { + "description": "Finished drives after the listed one, not listed yet", + "properties": { + "count": { + "type": "integer" + }, + "newest": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "next": { + "properties": { + "text": { + "type": "string" + }, + "to": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "not_driven_since": { + "description": "The day of the last drive, when the product's owner asked us to stop driving it", + "type": [ + "string", + "null" + ] + }, + "nothing_to_pay": { + "description": "The product has nothing to pay for", + "type": "boolean" + }, + "origin": { + "description": "editorial", + "enum": [ + "editorial", + "owner" + ] + }, + "outcomes": { + "description": "The five outcomes", + "items": { + "description": "One of the five outcomes (from the rules of 13 Oct 2026)", + "properties": { + "after_hours": { + "type": "number" + }, + "delete": { + "type": [ + "object", + "null" + ] + }, + "docs": { + "type": "string" + }, + "have": { + "items": { + "enum": [ + "llms_txt", + "openapi", + "mcp" + ] + }, + "type": "array" + }, + "key": { + "enum": [ + "find", + "access", + "use", + "pay", + "leave" + ] + }, + "label": { + "type": "string" + }, + "left": { + "enum": [ + "deleted", + "data_only", + "nothing_made", + "removed", + "expires", + "stuck", + "wallet_kept" + ] + }, + "per_call": { + "properties": { + "caps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "core": { + "type": "integer" + }, + "share": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "route": { + "enum": [ + "agent_rail", + "projects", + "billing_api", + "agent_checkout", + "card_checkout", + "portal", + "sales", + "none" + ], + "type": "string" + }, + "stage": { + "enum": [ + "in", + "work", + "pay", + "leave" + ], + "type": "string" + }, + "state": { + "enum": [ + "yes", + "part", + "no", + "unreached", + "na" + ] + }, + "text": { + "type": "string" + }, + "value": { + "enum": [ + "paid", + "partial", + "ready", + "checkout", + "person", + "not_tried", + "unreached", + "nothing" + ] + }, + "way": { + "type": "string" + }, + "why": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "page": { + "description": "The product's page with us", + "type": "string" + }, + "paid": { + "description": "Our side made and proved a payment on one of them (the transaction is in the tool's pay_options.paid)", + "type": "boolean" + }, + "parts": { + "description": "The part scores, 0-100, null when not measured", + "properties": { + "docs_match": { + "type": [ + "integer", + "null" + ] + }, + "holds_up": { + "type": [ + "integer", + "null" + ] + }, + "security": { + "enum": [ + "private", + null + ], + "type": [ + "string", + "null" + ] + }, + "setup": { + "type": [ + "integer", + "null" + ] + }, + "standards": { + "items": { + "properties": { + "behind": { + "type": [ + "integer", + "null" + ] + }, + "standard": { + "type": "string" + }, + "state": { + "enum": [ + "current", + "behind" + ] + }, + "value": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "pay": { + "description": "How an agent can pay for it, as a grade from P0 (no self-serve purchase) up to P5 (an agent-native payment method sells the product)", + "type": [ + "string", + "null" + ] + }, + "pay_options": { + "description": "The pay checkpoint", + "properties": { + "agentic": { + "items": { + "type": "string" + }, + "type": "array" + }, + "checked": { + "type": "string" + }, + "detected_grade": { + "type": [ + "string", + "null" + ] + }, + "exercised": { + "type": [ + "boolean", + "null" + ] + }, + "options": { + "items": { + "properties": { + "first_party": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "kind": { + "enum": [ + "agent-rail", + "agent-checkout", + "mcp-tool", + "billing", + "checkout" + ] + }, + "lead": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "networks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "testnet": { + "type": "boolean" + } + }, + "type": "object" + }, + "type": "array" + }, + "owner_fixes": { + "items": { + "properties": { + "how": { + "type": "string" + }, + "title": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "paid": { + "properties": { + "amount": { + "type": [ + "number", + "string", + "null" + ] + }, + "at": { + "type": [ + "string", + "null" + ] + }, + "currency": { + "type": "string" + }, + "network": { + "type": [ + "string", + "null" + ] + }, + "rail": { + "type": "string" + }, + "testnet": { + "type": "boolean" + }, + "tx": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "source": { + "enum": [ + "probe", + "drive" + ] + }, + "trial": { + "properties": { + "card_required": { + "type": [ + "boolean", + "null" + ] + }, + "free_plan": { + "type": [ + "boolean", + "null" + ] + }, + "no_card": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": "object" + } + }, + "type": [ + "object", + "null" + ] + }, + "pay_rails": { + "description": "Each agent-native payment rail (x402, mpp, l402, acp, ucp, ap2, mcp-payment) the drive saw on the product (drive true", + "items": { + "properties": { + "drive": { + "type": "boolean" + }, + "listed": { + "properties": { + "checked": { + "type": "string" + }, + "registry": { + "type": "string" + }, + "source": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "rail": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "pays_with": { + "description": "The agent-native ways to pay it offers, from our pay probe or the drive (x402, mpp, l402, stripe-projects, acp, ucp, ap2, mcp-payment)", + "items": { + "type": "string" + }, + "type": "array" + }, + "peers": { + "additionalProperties": { + "properties": { + "above": { + "type": "integer" + }, + "basis": { + "enum": [ + "category", + "all" + ], + "type": "string" + }, + "below": { + "type": "integer" + }, + "n": { + "type": "integer" + }, + "percentile": { + "type": "integer" + }, + "quartile": { + "type": "integer" + } + }, + "type": "object" + }, + "description": "Each graded criterion of the standard (by its id) next to its peers, the products measured on it", + "type": [ + "object", + "null" + ] + }, + "rank": { + "description": "Its place in its category among the products our agent got into on its own (with the directory on", + "minimum": 1, + "type": [ + "integer", + "null" + ] + }, + "rank_change": { + "description": "How many places it moved the last time its place changed", + "type": [ + "integer", + "null" + ] + }, + "rank_of": { + "description": "How many products of its category are ranked", + "type": "integer" + }, + "rank_since": { + "description": "The day of that move, or the day it entered the ranking", + "type": [ + "string", + "null" + ] + }, + "robots": { + "description": "robots.txt on the way in (null", + "properties": { + "held": { + "type": "boolean" + }, + "rule": { + "enum": [ + "named", + "star" + ] + }, + "seen": { + "type": "string" + }, + "step": { + "enum": [ + "signup", + "verify", + "credentials", + "first_call", + null + ], + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "routes": { + "description": "Every way in the product offers, tried agent-native first (since the rules of 12 Oct 2026", + "items": { + "properties": { + "brings": { + "type": [ + "string", + "null" + ] + }, + "browser": { + "type": [ + "boolean", + "null" + ] + }, + "fresh": { + "type": [ + "boolean", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "not_tried": { + "enum": [ + "no_kit", + "over_cap", + "policy", + "time", + "same_as", + "assisted_only", + "idp_blocked", + "sign_in_code", + "robots", + "terms", + "beyond", + null + ], + "type": [ + "string", + "null" + ] + }, + "offered": { + "enum": [ + "documented", + "seen", + "listed", + "no", + "unknown" + ] + }, + "person": { + "enum": [ + "none", + "once", + "each", + null + ], + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "in", + "partial", + "walled", + "refused", + "broken", + "not_reached", + "not_counted", + null + ], + "type": [ + "string", + "null" + ] + }, + "route": { + "type": "string" + }, + "tried": { + "type": "boolean" + }, + "wall": { + "properties": { + "owner": { + "enum": [ + "product", + "idp", + "platform", + "ours", + null + ] + }, + "type": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "why": { + "enum": [ + "terms", + null + ], + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + "rules_date": { + "description": "The date of those rules, as pages name them (\"Rules of ...\"", + "type": "string" + }, + "rules_url": { + "description": "That rules version's entry", + "type": [ + "string", + "null" + ] + }, + "rules_version": { + "description": "The rules version this level was judged under", + "type": [ + "string", + "null" + ] + }, + "same_level_drives": { + "description": "The latest drives in a row that gave this level", + "type": "integer" + }, + "scores": { + "description": "The measures behind the parts", + "type": "object" + }, + "slug": { + "description": "The product's address in the directory (can change", + "type": "string" + }, + "stages": { + "items": { + "description": "One of the four stages that decide the level (in", + "properties": { + "after_hours": { + "type": "number" + }, + "delete": { + "properties": { + "state": { + "enum": [ + "yes", + "part", + "no", + "na", + "unreached" + ] + }, + "text": { + "type": "string" + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "key": { + "enum": [ + "in", + "work", + "pay", + "leave" + ] + }, + "label": { + "type": "string" + }, + "left": { + "enum": [ + "deleted", + "data_only", + "nothing_made", + "removed", + "expires", + "stuck", + "wallet_kept" + ] + }, + "per_call": { + "properties": { + "caps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "core": { + "type": "integer" + }, + "share": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "route": { + "enum": [ + "agent_rail", + "projects", + "billing_api", + "agent_checkout", + "card_checkout", + "portal", + "sales", + "none" + ], + "type": "string" + }, + "state": { + "enum": [ + "yes", + "part", + "no", + "unreached", + "na" + ] + }, + "text": { + "type": "string" + }, + "value": { + "enum": [ + "paid", + "partial", + "ready", + "checkout", + "person", + "not_tried", + "unreached", + "nothing" + ] + }, + "way": { + "type": "string" + }, + "why": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "stale": { + "description": "Always false", + "type": "boolean" + }, + "stop": { + "description": "The first checkpoint the agent did not get past (null", + "type": [ + "string", + "null" + ] + }, + "stripe_directory": { + "description": "The product's profile in Stripe's agent directory (what an agent finds with stripe directory search), as we searched it on checked", + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "profile": { + "type": "string" + }, + "routes": { + "items": { + "enum": [ + "projects", + "mpp", + "mcp", + "app", + "link" + ] + }, + "type": "array" + }, + "source": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "stripe_projects": { + "description": "The product as a provider in the Stripe Projects catalog (an agent creates its account and gets credentials with `stripe projects add`), read on checked", + "properties": { + "checked": { + "type": "string" + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "provider": { + "type": "string" + }, + "services": { + "type": [ + "integer", + "null" + ] + }, + "source": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "summary": { + "description": "What an agent can do with it, in a sentence or two", + "type": "string" + }, + "terms": { + "description": "The product's terms say automated sign-up isn't allowed", + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "document": { + "type": [ + "string", + "null" + ] + }, + "finding": { + "type": "string" + }, + "fix": { + "type": [ + "string", + "null" + ] + }, + "quote": { + "type": "string" + }, + "section": { + "type": [ + "string", + "null" + ] + }, + "terms_date": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": "string" + }, + "work": { + "enum": [ + "not_counted", + "part", + null + ], + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tested_at": { + "description": "The day of the drive behind the level", + "type": "string" + }, + "unreachable_since": { + "description": "The day the product's site has been unreachable since", + "type": [ + "string", + "null" + ] + }, + "url": { + "description": "The product's page here", + "type": "string" + }, + "wall_type": { + "description": "What kind of bot check it was", + "enum": [ + "network", + "challenge", + null + ] + }, + "wall_vendor": { + "description": "The company whose bot check or sign-in our agent stopped at", + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "kind": { + "enum": [ + "bot check", + "sign-in" + ] + }, + "vendor": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "ways_in": { + "description": "The ways in that got our agent in (route ids, e.g", + "items": { + "type": "string" + }, + "type": "array" + }, + "who_gets_in": { + "description": "Who gets in, next to the level and never part of it", + "properties": { + "browser": { + "properties": { + "measured": { + "type": "boolean" + }, + "state": { + "enum": [ + "in", + "through", + "captcha", + "unknown" + ] + } + }, + "type": "object" + }, + "our_key": { + "enum": [ + "verified", + "pending" + ] + }, + "robots": { + "enum": [ + "closed", + null + ] + }, + "server": { + "properties": { + "state": { + "enum": [ + "in", + "edge", + "captcha", + "form", + "robots", + "closed" + ] + } + }, + "type": "object" + }, + "signed": { + "properties": { + "at": { + "type": "string" + }, + "kind": { + "enum": [ + "signup", + "home" + ] + }, + "state": { + "enum": [ + "page", + "check", + "block", + "robots", + "unknown" + ] + } + }, + "type": "object" + }, + "tip": { + "type": "boolean" + } + }, + "type": [ + "object", + "null" + ] + }, + "works_assisted": { + "description": "What the agent did once a person set up the account or cleared a step at the door, from the newest drive that measured it", + "properties": { + "core": { + "type": [ + "string", + "null" + ] + }, + "coverage_core": { + "type": "integer" + }, + "date": { + "type": "string" + }, + "run": { + "type": "string" + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + } + }, + "required": [ + "slug", + "name", + "level", + "page" + ], + "type": "object" + }, + { + "description": "The headline (brief true)", + "properties": { + "access": { + "items": { + "properties": { + "core": { + "type": [ + "number", + "string", + "null" + ] + }, + "key": { + "type": "string" + }, + "label": { + "type": "string" + }, + "minutes": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + "agent_surfaces": { + "description": "Each way an agent works the product, as the product page's tiles show it, whether or not our agent got in", + "properties": { + "api": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "reachable": { + "type": [ + "boolean", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + }, + "cli": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "reachable": { + "type": [ + "boolean", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + }, + "docs": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + }, + "mcp": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "reachable": { + "type": [ + "boolean", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + }, + "payment": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + }, + "sdk": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + } + }, + "required": [ + "api", + "mcp", + "cli", + "sdk", + "docs", + "payment" + ], + "type": [ + "object", + "null" + ] + }, + "attempts_count": { + "type": "integer" + }, + "blockers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "can_do": { + "items": { + "type": "string" + }, + "type": "array" + }, + "cannot_do": { + "items": { + "properties": { + "what": { + "type": "string" + }, + "why": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "category": { + "description": "The category's name", + "type": "string" + }, + "confirmation": { + "description": "How far its drives back the level", + "properties": { + "agree": { + "type": "integer" + }, + "confirmed": { + "type": "boolean" + }, + "drives": { + "type": "integer" + }, + "line": { + "type": [ + "string", + "null" + ] + }, + "review": { + "properties": { + "by": { + "type": "string" + }, + "date": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "state": { + "enum": [ + "awaiting", + "confirmed", + "signed_off", + "not_needed", + "rechecking" + ] + }, + "text": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "connect": { + "description": "How to connect in your next step, from the drive and the product's own docs", + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": "object" + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": "object" + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + } + }, + "type": "object" + }, + "copilot_connector": { + "description": "The product in GitHub's list of Copilot connectors (GitHub-verified MCP servers), read on checked", + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "server": { + "type": "string" + }, + "source": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "correction": { + "description": "The listing's correction status", + "properties": { + "open": { + "type": "integer" + }, + "reply_by": { + "type": [ + "string", + "null" + ] + }, + "since": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "disputed", + "none" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "detail": { + "description": "The attempt log with its evidence, for the product's verified owner", + "properties": { + "needs": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "disclosure": { + "description": "Only on a drive its owner paid for", + "type": "string" + }, + "docs_url": { + "description": "The docs' home page the drive found", + "type": [ + "string", + "null" + ] + }, + "door": { + "description": "How far the sign-up got on its own", + "properties": { + "passed": { + "type": "integer" + }, + "self_start": { + "type": "boolean" + }, + "tries": { + "type": "integer" + } + }, + "type": [ + "object", + "null" + ] + }, + "draft": { + "description": "Not reviewed yet", + "type": "boolean" + }, + "evidence_sha256": { + "type": [ + "string", + "null" + ] + }, + "first_seen": { + "type": [ + "string", + "null" + ] + }, + "fix_counts": { + "description": "How many fixes the drive found, by size and in all", + "properties": { + "large": { + "type": "integer" + }, + "medium": { + "type": "integer" + }, + "small": { + "type": "integer" + }, + "total": { + "type": "integer" + } + }, + "type": [ + "object", + "null" + ] + }, + "freshness": { + "enum": [ + "fresh", + "aging", + "redrive", + null + ] + }, + "history": { + "items": { + "properties": { + "date": { + "type": "string" + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": "integer" + }, + "stop": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + "in_stripe_directory": { + "description": "The product's profile handle in Stripe Directory, the same as stripe_directory.profile", + "type": [ + "string", + "null" + ] + }, + "issues_found": { + "description": "How many issues the drive found", + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level": { + "description": "Agent level, the only rank", + "maximum": 5, + "minimum": 0, + "type": "integer" + }, + "level_name": { + "type": "string" + }, + "license": { + "description": "The licence of this record", + "properties": { + "name": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "llms_txt_url": { + "description": "Its llms.txt, from the daily check or the drive", + "type": [ + "string", + "null" + ] + }, + "mcp_url": { + "description": "Its own remote MCP server's URL", + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + }, + "newer_drives": { + "description": "Finished drives after the listed one, not listed yet", + "properties": { + "count": { + "type": "integer" + }, + "newest": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "next": { + "description": "What would raise the level", + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "description": "Its OpenAPI document, from the daily check", + "type": [ + "string", + "null" + ] + }, + "origin": { + "description": "editorial", + "enum": [ + "editorial", + "owner" + ] + }, + "outcomes": { + "items": { + "properties": { + "key": { + "type": "string" + }, + "state": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "page": { + "description": "The product's page with us", + "type": "string" + }, + "paid": { + "description": "The payment our agent made and we checked", + "properties": { + "amount": { + "type": [ + "number", + "string", + "null" + ] + }, + "at": { + "type": [ + "string", + "null" + ] + }, + "currency": { + "type": "string" + }, + "network": { + "type": [ + "string", + "null" + ] + }, + "rail": { + "type": "string" + }, + "testnet": { + "type": "boolean" + }, + "tx": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "pay_rails": { + "description": "Each agent-native payment rail (x402, mpp, l402, acp, ucp, ap2, mcp-payment) the drive saw on the product (drive true", + "items": { + "properties": { + "drive": { + "type": "boolean" + }, + "listed": { + "properties": { + "checked": { + "type": "string" + }, + "registry": { + "type": "string" + }, + "source": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "rail": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "pays_with": { + "description": "The agent-native ways to pay it offers, from our pay probe or the drive (x402, mpp, l402, stripe-projects, acp, ucp, ap2, mcp-payment)", + "items": { + "type": "string" + }, + "type": "array" + }, + "signup": { + "description": "How our agent got in on its own (its first way in)", + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "way": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "description": "The product's address in the directory (can change", + "type": "string" + }, + "stop": { + "properties": { + "at": { + "type": "string" + }, + "evidence": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "stripe_directory": { + "description": "The product's profile in Stripe's agent directory (what an agent finds with stripe directory search), as we searched it on checked", + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "profile": { + "type": "string" + }, + "routes": { + "items": { + "enum": [ + "projects", + "mpp", + "mcp", + "app", + "link" + ] + }, + "type": "array" + }, + "source": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "stripe_projects": { + "description": "The product as a provider in the Stripe Projects catalog (an agent creates its account and gets credentials with `stripe projects add`), read on checked", + "properties": { + "checked": { + "type": "string" + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "provider": { + "type": "string" + }, + "services": { + "type": [ + "integer", + "null" + ] + }, + "source": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "summary": { + "description": "What an agent can do with it, in a sentence or two", + "type": [ + "string", + "null" + ] + }, + "tested_at": { + "description": "The day of the drive behind the level", + "type": "string" + }, + "tips_for_agents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "url": { + "description": "The product's page here", + "type": "string" + }, + "wall": { + "description": "The main bot check or wall the drive met", + "type": [ + "string", + "null" + ] + }, + "wall_vendor": { + "description": "The company whose bot check or sign-in our agent stopped at", + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "kind": { + "enum": [ + "bot check", + "sign-in" + ] + }, + "vendor": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "work_done": { + "description": "Share of the core tasks done, 0-100", + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "slug", + "name", + "level", + "page" + ], + "type": "object" + } +]
- Changed
mark_fix2 fields changed- changed
Output schema / properties / result / descriptionPrevious value: -"Mark a fix on your Audit's list: Set one fix's state: fixed when you made it, as_is to leave it as it is (with a one-line reason, shown on your certificate), doesnt_apply when our finding is wrong or not for you (with a one-line reason; a person answers within 2 working days), open to undo."New value: +"Mark a fix on your Audit's list: Set one fix's state: fixed when you made it, as_is to leave it as it is (with a one-line reason, shown on your certificate), doesnt_apply when our finding is wrong or not for you (with a one-line reason; a person decides it), open to undo." - changed
Output schema / properties / result / properties / target_level / descriptionPrevious value: -"Your goal, never a promise"New value: +"Your goal, shown on your dashboard"
- Changed
order1 field changed- changed
Input schema / properties / target / descriptionPrevious value: -"audit or renewal: the level you aim for. It is your goal, shown on your dashboard, never a promise: the level is the one the drives find"New value: +"audit or renewal: the level you aim for. Your goal, shown on your dashboard"
1 tool update
- Changed
free_drive1 field changed- changed
Output schema / properties / result / descriptionPrevious value: -"Ask for a free drive of your product: A free drive of your proved product (a verified claim) when we haven't driven it: our agent signs up and uses it like a new customer, the same drive every listing gets, once per product every 90 days."New value: +"Ask for a free drive of your product: A free drive of your proved product (a verified claim) when we haven't driven it: our agent signs up and uses it like a new customer, once per product every 90 days."
4 tool updates
- Changed
claim_domain1 field changed- added
Output schema / properties / result / properties / claim / properties / free_driveAdded value: +{ + "properties": { + "asked_at": { + "type": [ + "string", + "null" + ] + }, + "available": { + "type": "boolean" + }, + "domain": { + "type": "string" + }, + "every_days": { + "type": "integer" + }, + "job": { + "type": [ + "string", + "null" + ] + }, + "next_free_at": { + "type": [ + "string", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "open", + "queued", + "running", + "done", + "waiting", + "driven" + ] + } + }, + "required": [ + "domain", + "state", + "available", + "every_days" + ], + "type": [ + "object", + "null" + ] +}
- Added
free_drive - Changed
verify_claim1 field changed- added
Output schema / properties / result / properties / claim / properties / free_driveAdded value: +{ + "properties": { + "asked_at": { + "type": [ + "string", + "null" + ] + }, + "available": { + "type": "boolean" + }, + "domain": { + "type": "string" + }, + "every_days": { + "type": "integer" + }, + "job": { + "type": [ + "string", + "null" + ] + }, + "next_free_at": { + "type": [ + "string", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "open", + "queued", + "running", + "done", + "waiting", + "driven" + ] + } + }, + "required": [ + "domain", + "state", + "available", + "every_days" + ], + "type": [ + "object", + "null" + ] +}
- Changed
whoami1 field changed- added
Output schema / properties / result / properties / claims / items / properties / free_driveAdded value: +{ + "properties": { + "asked_at": { + "type": [ + "string", + "null" + ] + }, + "available": { + "type": "boolean" + }, + "domain": { + "type": "string" + }, + "every_days": { + "type": "integer" + }, + "job": { + "type": [ + "string", + "null" + ] + }, + "next_free_at": { + "type": [ + "string", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "open", + "queued", + "running", + "done", + "waiting", + "driven" + ] + } + }, + "required": [ + "domain", + "state", + "available", + "every_days" + ], + "type": [ + "object", + "null" + ] +}
2 tool updates
- Changed
find_tools_for_task2 fields changed- changed
Input schema / properties / pays_with / descriptionPrevious value: -"only products that take this way to pay: x402 or mpp (agent-native rails, seen or paid) or card (a card checkout); a comma list takes any one, e.g. x402,mpp"New value: +"only products that take this way to pay: x402 or mpp (agent-native rails our drive met or the product documents) or card (a card checkout); a comma list takes any one, e.g. x402,mpp" - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "description": "By task", - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": "array" - }, - "capability": { - "description": "With a task that names a capability", - "properties": { - "definition": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - "category": { - "type": "string" - }, - "checks": { - "description": "Which of the common filters hold for it, from the drive of `checked`", - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": "boolean" - }, - "self_signup": { - "type": "boolean" - }, - "x402": { - "type": "boolean" - } - }, - "type": "object" - }, - "cite": { - "description": "How to cite this result", - "properties": { - "as_of": { - "type": [ - "string", - "null" - ] - }, - "source": { - "enum": [ - "AgentDrives drive data, CC BY 4.0", - "AgentDrives directory data, CC BY 4.0" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "as_of", - "source" - ], - "type": "object" - }, - "connect": { - "description": "How to connect in your next step, from the drive and the product's own docs", - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": "object" - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": "object" - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - } - }, - "type": "object" - }, - "disclosure": { - "type": "string" - }, - "docs_url": { - "description": "The docs' home page the drive found", - "type": [ - "string", - "null" - ] - }, - "evidence": { - "description": "With capability", - "type": "string" - }, - "free_tier": { - "description": "A free plan or nothing to pay", - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "description": "Our agent signed up and got a key without a person", - "type": [ - "boolean", - "null" - ] - }, - "level": { - "description": "The agent level, 0-5", - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "description": "null for a product listed, not driven", - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "description": "Its llms.txt, from the daily check or the drive", - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "description": "With status listed", - "type": "string" - }, - "match": { - "description": "capability", - "enum": [ - "strong", - "partial", - "capability", - "name", - "listed" - ] - }, - "mcp_url": { - "description": "Its own remote MCP server's URL", - "type": [ - "string", - "null" - ] - }, - "missing": { - "description": "Only in nearest_tools", - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with" - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean" - ] - } - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "near": { - "description": "With match near", - "type": "string" - }, - "note": { - "description": "With status listed", - "type": "string" - }, - "openapi_url": { - "description": "Its OpenAPI document, from the daily check", - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner" - ] - }, - "pays_with": { - "description": "The ways it takes payment", - "items": { - "type": "string" - }, - "type": "array" - }, - "product_url": { - "description": "The product's own site", - "type": [ - "string", - "null" - ] - }, - "signup": { - "description": "How our agent got in on its own (its first way in)", - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "way": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": "string" - }, - "status": { - "description": "Only on a product listed, not driven", - "enum": [ - "listed" - ] - }, - "stop": { - "properties": { - "at": { - "type": "string" - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "description": "With status listed", - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": "array" - }, - "task": { - "properties": { - "matched": { - "type": "string" - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown" - ] - }, - "via": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "description": "With capability", - "items": { - "type": "string" - }, - "type": "array" - }, - "tested_at": { - "type": "string" - }, - "url": { - "description": "The product's page with us", - "type": "string" - }, - "work_done": { - "description": "Share of the core tasks done, 0-100", - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "description": "By capability", - "properties": { - "capability": { - "description": "A capability of the shared vocabulary (GET /api/capabilities)", - "properties": { - "definition": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - "of": { - "description": "The listed products that have it", - "type": "integer" - }, - "results": { - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": "array" - }, - "capability": { - "properties": { - "definition": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - "category": { - "type": "string" - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": "boolean" - }, - "self_signup": { - "type": "boolean" - }, - "x402": { - "type": "boolean" - } - }, - "type": "object" - }, - "cite": { - "properties": { - "as_of": { - "type": [ - "string", - "null" - ] - }, - "source": { - "enum": [ - "AgentDrives drive data, CC BY 4.0", - "AgentDrives directory data, CC BY 4.0" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "as_of", - "source" - ], - "type": "object" - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": "object" - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": "object" - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - } - }, - "type": "object" - }, - "disclosure": { - "type": "string" - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": "string" - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "type": "string" - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "name", - "listed" - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with" - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean" - ] - } - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "near": { - "type": "string" - }, - "note": { - "type": "string" - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner" - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": "array" - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "way": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": "string" - }, - "status": { - "enum": [ - "listed" - ] - }, - "stop": { - "properties": { - "at": { - "type": "string" - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": "array" - }, - "task": { - "properties": { - "matched": { - "type": "string" - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown" - ] - }, - "via": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": "array" - }, - "tested_at": { - "type": "string" - }, - "url": { - "type": "string" - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "results" - ], - "type": "object" - }, - { - "description": "A task no product we drove does", - "properties": { - "covered": { - "const": false, - "description": "Only when no product meets the task and every filter (results is empty)" - }, - "nearest_category": { - "description": "With covered", - "properties": { - "name": { - "type": [ - "string", - "null" - ] - }, - "products": { - "type": [ - "integer", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "nearest_tools": { - "description": "With covered, when products do the task but none meets every filter", - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "category": { - "type": [ - "string", - "null" - ] - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": [ - "boolean", - "null" - ] - }, - "self_signup": { - "type": [ - "boolean", - "null" - ] - }, - "x402": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "cite": { - "properties": { - "as_of": { - "type": [ - "string", - "null" - ] - }, - "source": { - "enum": [ - "AgentDrives drive data, CC BY 4.0", - "AgentDrives directory data, CC BY 4.0" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "as_of", - "source" - ], - "type": [ - "object", - "null" - ] - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse", - null - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "disclosure": { - "type": [ - "string", - "null" - ] - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": [ - "string", - "null" - ] - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "type": [ - "string", - "null" - ] - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "near", - "listed", - null - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with", - null - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "near": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner", - null - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "way": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "listed", - null - ] - }, - "stop": { - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown", - null - ] - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "tested_at": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "request_drive": { - "description": "With covered", - "properties": { - "api": { - "type": [ - "string", - "null" - ] - }, - "fix": { - "type": [ - "string", - "null" - ] - }, - "mcp_tool": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "results": { - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "category": { - "type": [ - "string", - "null" - ] - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": [ - "boolean", - "null" - ] - }, - "self_signup": { - "type": [ - "boolean", - "null" - ] - }, - "x402": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "cite": { - "properties": { - "as_of": { - "type": [ - "string", - "null" - ] - }, - "source": { - "enum": [ - "AgentDrives drive data, CC BY 4.0", - "AgentDrives directory data, CC BY 4.0" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "as_of", - "source" - ], - "type": [ - "object", - "null" - ] - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse", - null - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "disclosure": { - "type": [ - "string", - "null" - ] - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": [ - "string", - "null" - ] - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "type": [ - "string", - "null" - ] - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "near", - "listed", - null - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with", - null - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "near": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner", - null - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "way": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "listed", - null - ] - }, - "stop": { - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown", - null - ] - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "tested_at": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "covered", - "results", - "nearest_category" - ], - "type": "object" - }, - { - "description": "Products do the task but none meets every filter", - "properties": { - "covered": { - "const": false, - "description": "Only when no product meets the task and every filter (results is empty)" - }, - "nearest_tools": { - "description": "With covered, when products do the task but none meets every filter", - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "category": { - "type": [ - "string", - "null" - ] - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": [ - "boolean", - "null" - ] - }, - "self_signup": { - "type": [ - "boolean", - "null" - ] - }, - "x402": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "cite": { - "properties": { - "as_of": { - "type": [ - "string", - "null" - ] - }, - "source": { - "enum": [ - "AgentDrives drive data, CC BY 4.0", - "AgentDrives directory data, CC BY 4.0" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "as_of", - "source" - ], - "type": [ - "object", - "null" - ] - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse", - null - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "disclosure": { - "type": [ - "string", - "null" - ] - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": [ - "string", - "null" - ] - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "type": [ - "string", - "null" - ] - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "near", - "listed", - null - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with", - null - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "near": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner", - null - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "way": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "listed", - null - ] - }, - "stop": { - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown", - null - ] - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "tested_at": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "results": { - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "category": { - "type": [ - "string", - "null" - ] - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": [ - "boolean", - "null" - ] - }, - "self_signup": { - "type": [ - "boolean", - "null" - ] - }, - "x402": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "cite": { - "properties": { - "as_of": { - "type": [ - "string", - "null" - ] - }, - "source": { - "enum": [ - "AgentDrives drive data, CC BY 4.0", - "AgentDrives directory data, CC BY 4.0" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "as_of", - "source" - ], - "type": [ - "object", - "null" - ] - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse", - null - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "disclosure": { - "type": [ - "string", - "null" - ] - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": [ - "string", - "null" - ] - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "type": [ - "string", - "null" - ] - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "near", - "listed", - null - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with", - null - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "near": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner", - null - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "way": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "listed", - null - ] - }, - "stop": { - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown", - null - ] - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "tested_at": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "covered", - "results", - "nearest_tools" - ], - "type": "object" - } -]New value: +[ + { + "description": "By task", + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": "array" + }, + "capability": { + "description": "With a task that names a capability", + "properties": { + "definition": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "category": { + "type": "string" + }, + "checks": { + "description": "Which of the common filters hold for it, from the drive of `checked`", + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": "boolean" + }, + "self_signup": { + "type": "boolean" + }, + "x402": { + "type": "boolean" + } + }, + "type": "object" + }, + "cite": { + "description": "How to cite this result", + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": "object" + }, + "connect": { + "description": "How to connect in your next step, from the drive and the product's own docs", + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": "object" + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": "object" + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + } + }, + "type": "object" + }, + "disclosure": { + "type": "string" + }, + "docs_url": { + "description": "The docs' home page the drive found", + "type": [ + "string", + "null" + ] + }, + "evidence": { + "description": "With capability", + "type": "string" + }, + "free_tier": { + "description": "A free plan or nothing to pay", + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "description": "Our agent signed up and got a key without a person", + "type": [ + "boolean", + "null" + ] + }, + "level": { + "description": "The agent level, 0-5", + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "description": "null for a product listed, not driven", + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "description": "Its llms.txt, from the daily check or the drive", + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "description": "With status listed", + "type": "string" + }, + "match": { + "description": "capability", + "enum": [ + "strong", + "partial", + "capability", + "name", + "listed" + ] + }, + "mcp_url": { + "description": "Its own remote MCP server's URL", + "type": [ + "string", + "null" + ] + }, + "missing": { + "description": "Only in nearest_tools", + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with" + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean" + ] + } + }, + "type": "object" + }, + "name": { + "type": "string" + }, + "near": { + "description": "With match near", + "type": "string" + }, + "note": { + "description": "With status listed", + "type": "string" + }, + "openapi_url": { + "description": "Its OpenAPI document, from the daily check", + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner" + ] + }, + "pay_rails": { + "description": "Each agent-native rail on its record and how", + "items": { + "properties": { + "rail": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "rail", + "state" + ], + "type": "object" + }, + "type": "array" + }, + "pays_with": { + "description": "The ways it takes payment", + "items": { + "type": "string" + }, + "type": "array" + }, + "product_url": { + "description": "The product's own site", + "type": [ + "string", + "null" + ] + }, + "signup": { + "description": "How our agent got in on its own (its first way in)", + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "way": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": "string" + }, + "status": { + "description": "Only on a product listed, not driven", + "enum": [ + "listed" + ] + }, + "stop": { + "properties": { + "at": { + "type": "string" + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "description": "With status listed", + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": "array" + }, + "task": { + "properties": { + "matched": { + "type": "string" + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown" + ] + }, + "via": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "description": "With capability", + "items": { + "type": "string" + }, + "type": "array" + }, + "tested_at": { + "type": "string" + }, + "url": { + "description": "The product's page with us", + "type": "string" + }, + "work_done": { + "description": "Share of the core tasks done, 0-100", + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "description": "By capability", + "properties": { + "capability": { + "description": "A capability of the shared vocabulary (GET /api/capabilities)", + "properties": { + "definition": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "of": { + "description": "The listed products that have it", + "type": "integer" + }, + "results": { + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": "array" + }, + "capability": { + "properties": { + "definition": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "category": { + "type": "string" + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": "boolean" + }, + "self_signup": { + "type": "boolean" + }, + "x402": { + "type": "boolean" + } + }, + "type": "object" + }, + "cite": { + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": "object" + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": "object" + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": "object" + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + } + }, + "type": "object" + }, + "disclosure": { + "type": "string" + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": "string" + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": "string" + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "name", + "listed" + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with" + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean" + ] + } + }, + "type": "object" + }, + "name": { + "type": "string" + }, + "near": { + "type": "string" + }, + "note": { + "type": "string" + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner" + ] + }, + "pay_rails": { + "items": { + "properties": { + "rail": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "rail", + "state" + ], + "type": "object" + }, + "type": "array" + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": "array" + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "way": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": "string" + }, + "status": { + "enum": [ + "listed" + ] + }, + "stop": { + "properties": { + "at": { + "type": "string" + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": "array" + }, + "task": { + "properties": { + "matched": { + "type": "string" + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown" + ] + }, + "via": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tested_at": { + "type": "string" + }, + "url": { + "type": "string" + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "results" + ], + "type": "object" + }, + { + "description": "A task no product we drove does", + "properties": { + "covered": { + "const": false, + "description": "Only when no product meets the task and every filter (results is empty)" + }, + "nearest_category": { + "description": "With covered", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "products": { + "type": [ + "integer", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "nearest_tools": { + "description": "With covered, when products do the task but none meets every filter", + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": [ + "boolean", + "null" + ] + }, + "self_signup": { + "type": [ + "boolean", + "null" + ] + }, + "x402": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "cite": { + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": [ + "object", + "null" + ] + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse", + null + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "disclosure": { + "type": [ + "string", + "null" + ] + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": [ + "string", + "null" + ] + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "near", + "listed", + null + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with", + null + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "near": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner", + null + ] + }, + "pay_rails": { + "items": { + "properties": { + "rail": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "rail", + "state" + ], + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "way": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "listed", + null + ] + }, + "stop": { + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "properties": { + "matched": { + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown", + null + ] + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "tested_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "request_drive": { + "description": "With covered", + "properties": { + "api": { + "type": [ + "string", + "null" + ] + }, + "fix": { + "type": [ + "string", + "null" + ] + }, + "mcp_tool": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "results": { + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": [ + "boolean", + "null" + ] + }, + "self_signup": { + "type": [ + "boolean", + "null" + ] + }, + "x402": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "cite": { + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": [ + "object", + "null" + ] + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse", + null + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "disclosure": { + "type": [ + "string", + "null" + ] + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": [ + "string", + "null" + ] + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "near", + "listed", + null + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with", + null + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "near": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner", + null + ] + }, + "pay_rails": { + "items": { + "properties": { + "rail": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "rail", + "state" + ], + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "way": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "listed", + null + ] + }, + "stop": { + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "properties": { + "matched": { + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown", + null + ] + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "tested_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "covered", + "results", + "nearest_category" + ], + "type": "object" + }, + { + "description": "Products do the task but none meets every filter", + "properties": { + "covered": { + "const": false, + "description": "Only when no product meets the task and every filter (results is empty)" + }, + "nearest_tools": { + "description": "With covered, when products do the task but none meets every filter", + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": [ + "boolean", + "null" + ] + }, + "self_signup": { + "type": [ + "boolean", + "null" + ] + }, + "x402": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "cite": { + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": [ + "object", + "null" + ] + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse", + null + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "disclosure": { + "type": [ + "string", + "null" + ] + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": [ + "string", + "null" + ] + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "near", + "listed", + null + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with", + null + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "near": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner", + null + ] + }, + "pay_rails": { + "items": { + "properties": { + "rail": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "rail", + "state" + ], + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "way": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "listed", + null + ] + }, + "stop": { + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "properties": { + "matched": { + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown", + null + ] + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "tested_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "results": { + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": [ + "boolean", + "null" + ] + }, + "self_signup": { + "type": [ + "boolean", + "null" + ] + }, + "x402": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "cite": { + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": [ + "object", + "null" + ] + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse", + null + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "disclosure": { + "type": [ + "string", + "null" + ] + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": [ + "string", + "null" + ] + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "near", + "listed", + null + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with", + null + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "near": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner", + null + ] + }, + "pay_rails": { + "items": { + "properties": { + "rail": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "rail", + "state" + ], + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "way": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "listed", + null + ] + }, + "stop": { + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "properties": { + "matched": { + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown", + null + ] + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "tested_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "covered", + "results", + "nearest_tools" + ], + "type": "object" + } +]
- Changed
search_tools2 fields changed- changed
Input schema / properties / pays_with / descriptionPrevious value: -"only products that take this way to pay: x402 or mpp (agent-native rails, seen or paid) or card (a card checkout); a comma list takes any one, e.g. x402,mpp; also l402, stripe-projects, acp, ucp, ap2, mcp-payment"New value: +"only products that take this way to pay: x402 or mpp (agent-native rails our drive met or the product documents) or card (a card checkout); a comma list takes any one, e.g. x402,mpp; also l402, stripe-projects, acp, ucp, ap2, mcp-payment" - added
Output schema / properties / result / items / properties / pay_railsAdded value: +{ + "description": "Each agent-native rail on its record and how", + "items": { + "properties": { + "rail": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "rail", + "state" + ], + "type": "object" + }, + "type": "array" +}
1 tool update
- Changed
find_tools_for_task1 field changed- changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "description": "By task", - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": "array" - }, - "capability": { - "description": "With a task that names a capability", - "properties": { - "definition": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - "category": { - "type": "string" - }, - "checks": { - "description": "Which of the common filters hold for it, from the drive of `checked`", - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": "boolean" - }, - "self_signup": { - "type": "boolean" - }, - "x402": { - "type": "boolean" - } - }, - "type": "object" - }, - "connect": { - "description": "How to connect in your next step, from the drive and the product's own docs", - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": "object" - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": "object" - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - } - }, - "type": "object" - }, - "disclosure": { - "type": "string" - }, - "docs_url": { - "description": "The docs' home page the drive found", - "type": [ - "string", - "null" - ] - }, - "evidence": { - "description": "With capability", - "type": "string" - }, - "free_tier": { - "description": "A free plan or nothing to pay", - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "description": "Our agent signed up and got a key without a person", - "type": [ - "boolean", - "null" - ] - }, - "level": { - "description": "The agent level, 0-5", - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "description": "null for a product listed, not driven", - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "description": "Its llms.txt, from the daily check or the drive", - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "description": "With status listed", - "type": "string" - }, - "match": { - "description": "capability", - "enum": [ - "strong", - "partial", - "capability", - "name", - "listed" - ] - }, - "mcp_url": { - "description": "Its own remote MCP server's URL", - "type": [ - "string", - "null" - ] - }, - "missing": { - "description": "Only in nearest_tools", - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with" - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean" - ] - } - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "near": { - "description": "With match near", - "type": "string" - }, - "note": { - "description": "With status listed", - "type": "string" - }, - "openapi_url": { - "description": "Its OpenAPI document, from the daily check", - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner" - ] - }, - "pays_with": { - "description": "The ways it takes payment", - "items": { - "type": "string" - }, - "type": "array" - }, - "product_url": { - "description": "The product's own site", - "type": [ - "string", - "null" - ] - }, - "signup": { - "description": "How our agent got in on its own (its first way in)", - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "way": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": "string" - }, - "status": { - "description": "Only on a product listed, not driven", - "enum": [ - "listed" - ] - }, - "stop": { - "properties": { - "at": { - "type": "string" - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "description": "With status listed", - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": "array" - }, - "task": { - "properties": { - "matched": { - "type": "string" - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown" - ] - }, - "via": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "description": "With capability", - "items": { - "type": "string" - }, - "type": "array" - }, - "tested_at": { - "type": "string" - }, - "url": { - "description": "The product's page with us", - "type": "string" - }, - "work_done": { - "description": "Share of the core tasks done, 0-100", - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "description": "By capability", - "properties": { - "capability": { - "description": "A capability of the shared vocabulary (GET /api/capabilities)", - "properties": { - "definition": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - "of": { - "description": "The listed products that have it", - "type": "integer" - }, - "results": { - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": "array" - }, - "capability": { - "properties": { - "definition": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - "category": { - "type": "string" - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": "boolean" - }, - "self_signup": { - "type": "boolean" - }, - "x402": { - "type": "boolean" - } - }, - "type": "object" - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": "object" - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": "object" - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - } - }, - "type": "object" - }, - "disclosure": { - "type": "string" - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": "string" - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "type": "string" - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "name", - "listed" - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with" - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean" - ] - } - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "near": { - "type": "string" - }, - "note": { - "type": "string" - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner" - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": "array" - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "way": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": "string" - }, - "status": { - "enum": [ - "listed" - ] - }, - "stop": { - "properties": { - "at": { - "type": "string" - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": "array" - }, - "task": { - "properties": { - "matched": { - "type": "string" - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown" - ] - }, - "via": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": "array" - }, - "tested_at": { - "type": "string" - }, - "url": { - "type": "string" - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "results" - ], - "type": "object" - }, - { - "description": "A task no product we drove does", - "properties": { - "covered": { - "const": false, - "description": "Only when no product meets the task and every filter (results is empty)" - }, - "nearest_category": { - "description": "With covered", - "properties": { - "name": { - "type": [ - "string", - "null" - ] - }, - "products": { - "type": [ - "integer", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "nearest_tools": { - "description": "With covered, when products do the task but none meets every filter", - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "category": { - "type": [ - "string", - "null" - ] - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": [ - "boolean", - "null" - ] - }, - "self_signup": { - "type": [ - "boolean", - "null" - ] - }, - "x402": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse", - null - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "disclosure": { - "type": [ - "string", - "null" - ] - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": [ - "string", - "null" - ] - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "type": [ - "string", - "null" - ] - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "near", - "listed", - null - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with", - null - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "near": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner", - null - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "way": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "listed", - null - ] - }, - "stop": { - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown", - null - ] - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "tested_at": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "request_drive": { - "description": "With covered", - "properties": { - "api": { - "type": [ - "string", - "null" - ] - }, - "fix": { - "type": [ - "string", - "null" - ] - }, - "mcp_tool": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "results": { - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "category": { - "type": [ - "string", - "null" - ] - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": [ - "boolean", - "null" - ] - }, - "self_signup": { - "type": [ - "boolean", - "null" - ] - }, - "x402": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse", - null - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "disclosure": { - "type": [ - "string", - "null" - ] - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": [ - "string", - "null" - ] - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "type": [ - "string", - "null" - ] - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "near", - "listed", - null - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with", - null - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "near": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner", - null - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "way": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "listed", - null - ] - }, - "stop": { - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown", - null - ] - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "tested_at": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "covered", - "results", - "nearest_category" - ], - "type": "object" - }, - { - "description": "Products do the task but none meets every filter", - "properties": { - "covered": { - "const": false, - "description": "Only when no product meets the task and every filter (results is empty)" - }, - "nearest_tools": { - "description": "With covered, when products do the task but none meets every filter", - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "category": { - "type": [ - "string", - "null" - ] - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": [ - "boolean", - "null" - ] - }, - "self_signup": { - "type": [ - "boolean", - "null" - ] - }, - "x402": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse", - null - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "disclosure": { - "type": [ - "string", - "null" - ] - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": [ - "string", - "null" - ] - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "type": [ - "string", - "null" - ] - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "near", - "listed", - null - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with", - null - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "near": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner", - null - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "way": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "listed", - null - ] - }, - "stop": { - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown", - null - ] - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "tested_at": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "results": { - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "category": { - "type": [ - "string", - "null" - ] - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": [ - "boolean", - "null" - ] - }, - "self_signup": { - "type": [ - "boolean", - "null" - ] - }, - "x402": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse", - null - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "disclosure": { - "type": [ - "string", - "null" - ] - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": [ - "string", - "null" - ] - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "mapped_at": { - "type": [ - "string", - "null" - ] - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "near", - "listed", - null - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with", - null - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "near": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner", - null - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "way": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "listed", - null - ] - }, - "stop": { - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "surfaces": { - "items": { - "enum": [ - "api", - "mcp", - "cli", - "sdk" - ] - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown", - null - ] - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "tested_at": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "covered", - "results", - "nearest_tools" - ], - "type": "object" - } -]New value: +[ + { + "description": "By task", + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": "array" + }, + "capability": { + "description": "With a task that names a capability", + "properties": { + "definition": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "category": { + "type": "string" + }, + "checks": { + "description": "Which of the common filters hold for it, from the drive of `checked`", + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": "boolean" + }, + "self_signup": { + "type": "boolean" + }, + "x402": { + "type": "boolean" + } + }, + "type": "object" + }, + "cite": { + "description": "How to cite this result", + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": "object" + }, + "connect": { + "description": "How to connect in your next step, from the drive and the product's own docs", + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": "object" + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": "object" + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + } + }, + "type": "object" + }, + "disclosure": { + "type": "string" + }, + "docs_url": { + "description": "The docs' home page the drive found", + "type": [ + "string", + "null" + ] + }, + "evidence": { + "description": "With capability", + "type": "string" + }, + "free_tier": { + "description": "A free plan or nothing to pay", + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "description": "Our agent signed up and got a key without a person", + "type": [ + "boolean", + "null" + ] + }, + "level": { + "description": "The agent level, 0-5", + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "description": "null for a product listed, not driven", + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "description": "Its llms.txt, from the daily check or the drive", + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "description": "With status listed", + "type": "string" + }, + "match": { + "description": "capability", + "enum": [ + "strong", + "partial", + "capability", + "name", + "listed" + ] + }, + "mcp_url": { + "description": "Its own remote MCP server's URL", + "type": [ + "string", + "null" + ] + }, + "missing": { + "description": "Only in nearest_tools", + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with" + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean" + ] + } + }, + "type": "object" + }, + "name": { + "type": "string" + }, + "near": { + "description": "With match near", + "type": "string" + }, + "note": { + "description": "With status listed", + "type": "string" + }, + "openapi_url": { + "description": "Its OpenAPI document, from the daily check", + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner" + ] + }, + "pays_with": { + "description": "The ways it takes payment", + "items": { + "type": "string" + }, + "type": "array" + }, + "product_url": { + "description": "The product's own site", + "type": [ + "string", + "null" + ] + }, + "signup": { + "description": "How our agent got in on its own (its first way in)", + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "way": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": "string" + }, + "status": { + "description": "Only on a product listed, not driven", + "enum": [ + "listed" + ] + }, + "stop": { + "properties": { + "at": { + "type": "string" + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "description": "With status listed", + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": "array" + }, + "task": { + "properties": { + "matched": { + "type": "string" + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown" + ] + }, + "via": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "description": "With capability", + "items": { + "type": "string" + }, + "type": "array" + }, + "tested_at": { + "type": "string" + }, + "url": { + "description": "The product's page with us", + "type": "string" + }, + "work_done": { + "description": "Share of the core tasks done, 0-100", + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "description": "By capability", + "properties": { + "capability": { + "description": "A capability of the shared vocabulary (GET /api/capabilities)", + "properties": { + "definition": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "of": { + "description": "The listed products that have it", + "type": "integer" + }, + "results": { + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": "array" + }, + "capability": { + "properties": { + "definition": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "category": { + "type": "string" + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": "boolean" + }, + "self_signup": { + "type": "boolean" + }, + "x402": { + "type": "boolean" + } + }, + "type": "object" + }, + "cite": { + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": "object" + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": "object" + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": "object" + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + } + }, + "type": "object" + }, + "disclosure": { + "type": "string" + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": "string" + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": "string" + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "name", + "listed" + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with" + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean" + ] + } + }, + "type": "object" + }, + "name": { + "type": "string" + }, + "near": { + "type": "string" + }, + "note": { + "type": "string" + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner" + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": "array" + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "way": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": "string" + }, + "status": { + "enum": [ + "listed" + ] + }, + "stop": { + "properties": { + "at": { + "type": "string" + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": "array" + }, + "task": { + "properties": { + "matched": { + "type": "string" + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown" + ] + }, + "via": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tested_at": { + "type": "string" + }, + "url": { + "type": "string" + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "results" + ], + "type": "object" + }, + { + "description": "A task no product we drove does", + "properties": { + "covered": { + "const": false, + "description": "Only when no product meets the task and every filter (results is empty)" + }, + "nearest_category": { + "description": "With covered", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "products": { + "type": [ + "integer", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "nearest_tools": { + "description": "With covered, when products do the task but none meets every filter", + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": [ + "boolean", + "null" + ] + }, + "self_signup": { + "type": [ + "boolean", + "null" + ] + }, + "x402": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "cite": { + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": [ + "object", + "null" + ] + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse", + null + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "disclosure": { + "type": [ + "string", + "null" + ] + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": [ + "string", + "null" + ] + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "near", + "listed", + null + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with", + null + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "near": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner", + null + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "way": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "listed", + null + ] + }, + "stop": { + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "properties": { + "matched": { + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown", + null + ] + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "tested_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "request_drive": { + "description": "With covered", + "properties": { + "api": { + "type": [ + "string", + "null" + ] + }, + "fix": { + "type": [ + "string", + "null" + ] + }, + "mcp_tool": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "results": { + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": [ + "boolean", + "null" + ] + }, + "self_signup": { + "type": [ + "boolean", + "null" + ] + }, + "x402": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "cite": { + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": [ + "object", + "null" + ] + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse", + null + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "disclosure": { + "type": [ + "string", + "null" + ] + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": [ + "string", + "null" + ] + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "near", + "listed", + null + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with", + null + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "near": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner", + null + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "way": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "listed", + null + ] + }, + "stop": { + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "properties": { + "matched": { + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown", + null + ] + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "tested_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "covered", + "results", + "nearest_category" + ], + "type": "object" + }, + { + "description": "Products do the task but none meets every filter", + "properties": { + "covered": { + "const": false, + "description": "Only when no product meets the task and every filter (results is empty)" + }, + "nearest_tools": { + "description": "With covered, when products do the task but none meets every filter", + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": [ + "boolean", + "null" + ] + }, + "self_signup": { + "type": [ + "boolean", + "null" + ] + }, + "x402": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "cite": { + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": [ + "object", + "null" + ] + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse", + null + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "disclosure": { + "type": [ + "string", + "null" + ] + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": [ + "string", + "null" + ] + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "near", + "listed", + null + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with", + null + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "near": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner", + null + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "way": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "listed", + null + ] + }, + "stop": { + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "properties": { + "matched": { + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown", + null + ] + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "tested_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "results": { + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": [ + "boolean", + "null" + ] + }, + "self_signup": { + "type": [ + "boolean", + "null" + ] + }, + "x402": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "cite": { + "properties": { + "as_of": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "AgentDrives drive data, CC BY 4.0", + "AgentDrives directory data, CC BY 4.0" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "as_of", + "source" + ], + "type": [ + "object", + "null" + ] + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse", + null + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "disclosure": { + "type": [ + "string", + "null" + ] + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": [ + "string", + "null" + ] + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "near", + "listed", + null + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with", + null + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "near": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner", + null + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "way": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "listed", + null + ] + }, + "stop": { + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "properties": { + "matched": { + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown", + null + ] + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "tested_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "covered", + "results", + "nearest_tools" + ], + "type": "object" + } +]
1 tool update
- Added
compare_tools
1 tool update
- Changed
find_tools_for_task1 field changed- changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "description": "By task", - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": "array" - }, - "capability": { - "description": "With a task that names a capability", - "properties": { - "definition": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - "category": { - "type": "string" - }, - "checks": { - "description": "Which of the common filters hold for it, from the drive of `checked`", - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": "boolean" - }, - "self_signup": { - "type": "boolean" - }, - "x402": { - "type": "boolean" - } - }, - "type": "object" - }, - "connect": { - "description": "How to connect in your next step, from the drive and the product's own docs", - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": "object" - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": "object" - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - } - }, - "type": "object" - }, - "disclosure": { - "type": "string" - }, - "docs_url": { - "description": "The docs' home page the drive found", - "type": [ - "string", - "null" - ] - }, - "evidence": { - "description": "With capability", - "type": "string" - }, - "free_tier": { - "description": "A free plan or nothing to pay", - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "description": "Our agent signed up and got a key without a person", - "type": "boolean" - }, - "level": { - "description": "The agent level, 0-5", - "maximum": 5, - "minimum": 0, - "type": "integer" - }, - "level_name": { - "type": "string" - }, - "llms_txt_url": { - "description": "Its llms.txt, from the daily check or the drive", - "type": [ - "string", - "null" - ] - }, - "match": { - "description": "capability", - "enum": [ - "strong", - "partial", - "capability", - "name" - ] - }, - "mcp_url": { - "description": "Its own remote MCP server's URL", - "type": [ - "string", - "null" - ] - }, - "missing": { - "description": "Only in nearest_tools", - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with" - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean" - ] - } - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "near": { - "description": "With match near", - "type": "string" - }, - "openapi_url": { - "description": "Its OpenAPI document, from the daily check", - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner" - ] - }, - "pays_with": { - "description": "The ways it takes payment", - "items": { - "type": "string" - }, - "type": "array" - }, - "product_url": { - "description": "The product's own site", - "type": [ - "string", - "null" - ] - }, - "signup": { - "description": "How our agent got in on its own (its first way in)", - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "way": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": "string" - }, - "stop": { - "properties": { - "at": { - "type": "string" - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": "string" - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown" - ] - }, - "via": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "description": "With capability", - "items": { - "type": "string" - }, - "type": "array" - }, - "tested_at": { - "type": "string" - }, - "url": { - "description": "The product's page with us", - "type": "string" - }, - "work_done": { - "description": "Share of the core tasks done, 0-100", - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "description": "By capability", - "properties": { - "capability": { - "description": "A capability of the shared vocabulary (GET /api/capabilities)", - "properties": { - "definition": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - "of": { - "description": "The listed products that have it", - "type": "integer" - }, - "results": { - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": "array" - }, - "capability": { - "properties": { - "definition": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - "category": { - "type": "string" - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": "boolean" - }, - "self_signup": { - "type": "boolean" - }, - "x402": { - "type": "boolean" - } - }, - "type": "object" - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": "object" - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": "object" - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - } - }, - "type": "object" - }, - "disclosure": { - "type": "string" - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": "string" - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": "boolean" - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": "integer" - }, - "level_name": { - "type": "string" - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "name" - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with" - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean" - ] - } - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "near": { - "type": "string" - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner" - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": "array" - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "way": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": "string" - }, - "stop": { - "properties": { - "at": { - "type": "string" - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": "string" - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown" - ] - }, - "via": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": "array" - }, - "tested_at": { - "type": "string" - }, - "url": { - "type": "string" - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "results" - ], - "type": "object" - }, - { - "description": "A task no product we drove does", - "properties": { - "covered": { - "const": false, - "description": "Only when no product meets the task and every filter (results is empty)" - }, - "nearest_category": { - "description": "With covered", - "properties": { - "name": { - "type": [ - "string", - "null" - ] - }, - "products": { - "type": [ - "integer", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "nearest_tools": { - "description": "With covered, when products do the task but none meets every filter", - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "category": { - "type": [ - "string", - "null" - ] - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": [ - "boolean", - "null" - ] - }, - "self_signup": { - "type": [ - "boolean", - "null" - ] - }, - "x402": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse", - null - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "disclosure": { - "type": [ - "string", - "null" - ] - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": [ - "string", - "null" - ] - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "near", - null - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with", - null - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "near": { - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner", - null - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "way": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "stop": { - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown", - null - ] - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "tested_at": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "request_drive": { - "description": "With covered", - "properties": { - "api": { - "type": [ - "string", - "null" - ] - }, - "fix": { - "type": [ - "string", - "null" - ] - }, - "mcp_tool": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "results": { - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "category": { - "type": [ - "string", - "null" - ] - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": [ - "boolean", - "null" - ] - }, - "self_signup": { - "type": [ - "boolean", - "null" - ] - }, - "x402": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse", - null - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "disclosure": { - "type": [ - "string", - "null" - ] - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": [ - "string", - "null" - ] - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "near", - null - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with", - null - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "near": { - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner", - null - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "way": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "stop": { - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown", - null - ] - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "tested_at": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "covered", - "results", - "nearest_category" - ], - "type": "object" - }, - { - "description": "Products do the task but none meets every filter", - "properties": { - "covered": { - "const": false, - "description": "Only when no product meets the task and every filter (results is empty)" - }, - "nearest_tools": { - "description": "With covered, when products do the task but none meets every filter", - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "category": { - "type": [ - "string", - "null" - ] - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": [ - "boolean", - "null" - ] - }, - "self_signup": { - "type": [ - "boolean", - "null" - ] - }, - "x402": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse", - null - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "disclosure": { - "type": [ - "string", - "null" - ] - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": [ - "string", - "null" - ] - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "near", - null - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with", - null - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "near": { - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner", - null - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "way": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "stop": { - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown", - null - ] - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "tested_at": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "results": { - "items": { - "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", - "properties": { - "can_do": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "category": { - "type": [ - "string", - "null" - ] - }, - "checks": { - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "cli": { - "type": [ - "boolean", - "null" - ] - }, - "mcp": { - "type": [ - "boolean", - "null" - ] - }, - "mpp": { - "type": [ - "boolean", - "null" - ] - }, - "self_signup": { - "type": [ - "boolean", - "null" - ] - }, - "x402": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "connect": { - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse", - null - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": [ - "object", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "disclosure": { - "type": [ - "string", - "null" - ] - }, - "docs_url": { - "type": [ - "string", - "null" - ] - }, - "evidence": { - "type": [ - "string", - "null" - ] - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "gets_in_alone": { - "type": [ - "boolean", - "null" - ] - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level_name": { - "type": [ - "string", - "null" - ] - }, - "llms_txt_url": { - "type": [ - "string", - "null" - ] - }, - "match": { - "enum": [ - "strong", - "partial", - "capability", - "near", - null - ] - }, - "mcp_url": { - "type": [ - "string", - "null" - ] - }, - "missing": { - "properties": { - "filter": { - "enum": [ - "min_level", - "self_signup", - "access", - "surface", - "pays_with", - null - ] - }, - "wanted": { - "type": [ - "string", - "integer", - "boolean", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "near": { - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "type": [ - "string", - "null" - ] - }, - "origin": { - "enum": [ - "editorial", - "owner", - null - ] - }, - "pays_with": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "product_url": { - "type": [ - "string", - "null" - ] - }, - "signup": { - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "way": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "stop": { - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "task": { - "properties": { - "matched": { - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "done", - "partial", - "plan_gated", - "failed", - "blocked", - "not_tried", - "unknown", - null - ] - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tasks": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "tested_at": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - }, - "work_done": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "type": [ - "array", - "null" - ] - }, - "task": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "covered", - "results", - "nearest_tools" - ], - "type": "object" - } -]New value: +[ + { + "description": "By task", + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": "array" + }, + "capability": { + "description": "With a task that names a capability", + "properties": { + "definition": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "category": { + "type": "string" + }, + "checks": { + "description": "Which of the common filters hold for it, from the drive of `checked`", + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": "boolean" + }, + "self_signup": { + "type": "boolean" + }, + "x402": { + "type": "boolean" + } + }, + "type": "object" + }, + "connect": { + "description": "How to connect in your next step, from the drive and the product's own docs", + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": "object" + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": "object" + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + } + }, + "type": "object" + }, + "disclosure": { + "type": "string" + }, + "docs_url": { + "description": "The docs' home page the drive found", + "type": [ + "string", + "null" + ] + }, + "evidence": { + "description": "With capability", + "type": "string" + }, + "free_tier": { + "description": "A free plan or nothing to pay", + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "description": "Our agent signed up and got a key without a person", + "type": [ + "boolean", + "null" + ] + }, + "level": { + "description": "The agent level, 0-5", + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "description": "null for a product listed, not driven", + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "description": "Its llms.txt, from the daily check or the drive", + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "description": "With status listed", + "type": "string" + }, + "match": { + "description": "capability", + "enum": [ + "strong", + "partial", + "capability", + "name", + "listed" + ] + }, + "mcp_url": { + "description": "Its own remote MCP server's URL", + "type": [ + "string", + "null" + ] + }, + "missing": { + "description": "Only in nearest_tools", + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with" + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean" + ] + } + }, + "type": "object" + }, + "name": { + "type": "string" + }, + "near": { + "description": "With match near", + "type": "string" + }, + "note": { + "description": "With status listed", + "type": "string" + }, + "openapi_url": { + "description": "Its OpenAPI document, from the daily check", + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner" + ] + }, + "pays_with": { + "description": "The ways it takes payment", + "items": { + "type": "string" + }, + "type": "array" + }, + "product_url": { + "description": "The product's own site", + "type": [ + "string", + "null" + ] + }, + "signup": { + "description": "How our agent got in on its own (its first way in)", + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "way": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": "string" + }, + "status": { + "description": "Only on a product listed, not driven", + "enum": [ + "listed" + ] + }, + "stop": { + "properties": { + "at": { + "type": "string" + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "description": "With status listed", + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": "array" + }, + "task": { + "properties": { + "matched": { + "type": "string" + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown" + ] + }, + "via": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "description": "With capability", + "items": { + "type": "string" + }, + "type": "array" + }, + "tested_at": { + "type": "string" + }, + "url": { + "description": "The product's page with us", + "type": "string" + }, + "work_done": { + "description": "Share of the core tasks done, 0-100", + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "description": "By capability", + "properties": { + "capability": { + "description": "A capability of the shared vocabulary (GET /api/capabilities)", + "properties": { + "definition": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "of": { + "description": "The listed products that have it", + "type": "integer" + }, + "results": { + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": "array" + }, + "capability": { + "properties": { + "definition": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "category": { + "type": "string" + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": "boolean" + }, + "self_signup": { + "type": "boolean" + }, + "x402": { + "type": "boolean" + } + }, + "type": "object" + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": "object" + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": "object" + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + } + }, + "type": "object" + }, + "disclosure": { + "type": "string" + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": "string" + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": "string" + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "name", + "listed" + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with" + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean" + ] + } + }, + "type": "object" + }, + "name": { + "type": "string" + }, + "near": { + "type": "string" + }, + "note": { + "type": "string" + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner" + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": "array" + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "way": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": "string" + }, + "status": { + "enum": [ + "listed" + ] + }, + "stop": { + "properties": { + "at": { + "type": "string" + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": "array" + }, + "task": { + "properties": { + "matched": { + "type": "string" + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown" + ] + }, + "via": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tested_at": { + "type": "string" + }, + "url": { + "type": "string" + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "results" + ], + "type": "object" + }, + { + "description": "A task no product we drove does", + "properties": { + "covered": { + "const": false, + "description": "Only when no product meets the task and every filter (results is empty)" + }, + "nearest_category": { + "description": "With covered", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "products": { + "type": [ + "integer", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "nearest_tools": { + "description": "With covered, when products do the task but none meets every filter", + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": [ + "boolean", + "null" + ] + }, + "self_signup": { + "type": [ + "boolean", + "null" + ] + }, + "x402": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse", + null + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "disclosure": { + "type": [ + "string", + "null" + ] + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": [ + "string", + "null" + ] + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "near", + "listed", + null + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with", + null + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "near": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner", + null + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "way": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "listed", + null + ] + }, + "stop": { + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "properties": { + "matched": { + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown", + null + ] + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "tested_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "request_drive": { + "description": "With covered", + "properties": { + "api": { + "type": [ + "string", + "null" + ] + }, + "fix": { + "type": [ + "string", + "null" + ] + }, + "mcp_tool": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "results": { + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": [ + "boolean", + "null" + ] + }, + "self_signup": { + "type": [ + "boolean", + "null" + ] + }, + "x402": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse", + null + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "disclosure": { + "type": [ + "string", + "null" + ] + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": [ + "string", + "null" + ] + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "near", + "listed", + null + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with", + null + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "near": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner", + null + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "way": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "listed", + null + ] + }, + "stop": { + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "properties": { + "matched": { + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown", + null + ] + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "tested_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "covered", + "results", + "nearest_category" + ], + "type": "object" + }, + { + "description": "Products do the task but none meets every filter", + "properties": { + "covered": { + "const": false, + "description": "Only when no product meets the task and every filter (results is empty)" + }, + "nearest_tools": { + "description": "With covered, when products do the task but none meets every filter", + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": [ + "boolean", + "null" + ] + }, + "self_signup": { + "type": [ + "boolean", + "null" + ] + }, + "x402": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse", + null + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "disclosure": { + "type": [ + "string", + "null" + ] + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": [ + "string", + "null" + ] + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "near", + "listed", + null + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with", + null + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "near": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner", + null + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "way": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "listed", + null + ] + }, + "stop": { + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "properties": { + "matched": { + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown", + null + ] + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "tested_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "results": { + "items": { + "description": "One product for a task (GET /api/find-tools, MCP find_tools_for_task)", + "properties": { + "can_do": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "checks": { + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "cli": { + "type": [ + "boolean", + "null" + ] + }, + "mcp": { + "type": [ + "boolean", + "null" + ] + }, + "mpp": { + "type": [ + "boolean", + "null" + ] + }, + "self_signup": { + "type": [ + "boolean", + "null" + ] + }, + "x402": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "connect": { + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse", + null + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": [ + "object", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "disclosure": { + "type": [ + "string", + "null" + ] + }, + "docs_url": { + "type": [ + "string", + "null" + ] + }, + "evidence": { + "type": [ + "string", + "null" + ] + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "gets_in_alone": { + "type": [ + "boolean", + "null" + ] + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level_name": { + "type": [ + "string", + "null" + ] + }, + "llms_txt_url": { + "type": [ + "string", + "null" + ] + }, + "mapped_at": { + "type": [ + "string", + "null" + ] + }, + "match": { + "enum": [ + "strong", + "partial", + "capability", + "near", + "listed", + null + ] + }, + "mcp_url": { + "type": [ + "string", + "null" + ] + }, + "missing": { + "properties": { + "filter": { + "enum": [ + "min_level", + "self_signup", + "access", + "surface", + "pays_with", + null + ] + }, + "wanted": { + "type": [ + "string", + "integer", + "boolean", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "near": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "type": [ + "string", + "null" + ] + }, + "origin": { + "enum": [ + "editorial", + "owner", + null + ] + }, + "pays_with": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "product_url": { + "type": [ + "string", + "null" + ] + }, + "signup": { + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "way": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "listed", + null + ] + }, + "stop": { + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "surfaces": { + "items": { + "enum": [ + "api", + "mcp", + "cli", + "sdk" + ] + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "properties": { + "matched": { + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "done", + "partial", + "plan_gated", + "failed", + "blocked", + "not_tried", + "unknown", + null + ] + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tasks": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "tested_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "work_done": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "type": [ + "array", + "null" + ] + }, + "task": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "covered", + "results", + "nearest_tools" + ], + "type": "object" + } +]
3 tool updates
- Changed
get_agent_surfaces6 fields changed- added
Output schema / properties / result / properties / surfaces / properties / api / properties / sourceAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / result / properties / surfaces / properties / cli / properties / sourceAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / result / properties / surfaces / properties / docs / properties / sourceAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / result / properties / surfaces / properties / mcp / properties / sourceAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / result / properties / surfaces / properties / payment / properties / sourceAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / result / properties / surfaces / properties / sdk / properties / sourceAdded value: +{ + "type": [ + "string", + "null" + ] +}
- Changed
get_tool1 field changed- changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "description": "The full result (brief false)", - "properties": { - "access": { - "description": "How an agent gets in", - "items": { - "description": "How an agent gets in (rules of 13 Oct 2026)", - "properties": { - "by_route": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "core": { - "type": [ - "string", - "null" - ] - }, - "key": { - "enum": [ - "keyless", - "local", - "try_first", - "no_account", - "pay_per_call", - "key_by_api", - "mcp_signin", - "email_signup", - "browser_signup", - "by_name", - "person" - ] - }, - "label": { - "type": "string" - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "type": "array" - }, - "after_wall": { - "description": "After the wall", - "properties": { - "agent_steps": { - "items": { - "properties": { - "rung": { - "type": "string" - }, - "status": { - "enum": [ - "headless", - "browser" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - "coverage_core": { - "type": [ - "integer", - "null" - ] - }, - "done": { - "items": { - "properties": { - "cap": { - "type": "string" - }, - "capability": { - "type": "string" - }, - "route": { - "enum": [ - "headless", - "browser" - ] - }, - "weight": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "kind": { - "enum": [ - "challenge", - "browser-check", - "phone", - "card", - "signup-refused", - "other", - null - ], - "type": [ - "string", - "null" - ] - }, - "label": { - "type": "string" - }, - "parts": { - "items": { - "enum": [ - "holds_up", - "docs_match" - ] - }, - "type": "array" - }, - "step": { - "type": "string" - }, - "steps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "via": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "agent_surfaces": { - "description": "Each way an agent works the product, as the product page's tiles show it, whether or not our agent got in", - "properties": { - "api": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested" - ], - "type": "object" - }, - "cli": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested" - ], - "type": "object" - }, - "docs": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested" - ], - "type": "object" - }, - "mcp": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested" - ], - "type": "object" - }, - "payment": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested" - ], - "type": "object" - }, - "sdk": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested" - ], - "type": "object" - } - }, - "required": [ - "api", - "mcp", - "cli", - "sdk", - "docs", - "payment" - ], - "type": "object" - }, - "attempts_count": { - "type": "integer" - }, - "badges": { - "description": "agent-can-buy", - "items": { - "enum": [ - "agent-can-buy", - "agent-can-leave" - ] - }, - "type": "array" - }, - "blocks_agent": { - "description": "The bot check that stopped our signed agent on at least one way in, from sign-up to the first call (null", - "type": [ - "string", - "null" - ] - }, - "category": { - "description": "The category id", - "type": "string" - }, - "category_median": { - "additionalProperties": { - "properties": { - "median": { - "type": "integer" - }, - "n": { - "type": "integer" - } - }, - "type": "object" - }, - "description": "Each part score's median in this product's category (holds_up, docs_match", - "type": [ - "object", - "null" - ] - }, - "category_name": { - "type": "string" - }, - "checkout": { - "description": "The walk to the last click", - "type": [ - "object", - "null" - ] - }, - "claims": { - "description": "The claims ledger", - "properties": { - "broken": { - "type": "integer" - }, - "claimed": { - "type": "integer" - }, - "held": { - "type": "integer" - }, - "not_tried": { - "type": "integer" - }, - "tried": { - "type": "integer" - }, - "unclear": { - "type": "integer" - }, - "undocumented_works": { - "type": "integer" - } - }, - "type": [ - "object", - "null" - ] - }, - "confirmation": { - "description": "How far its drives back the level", - "properties": { - "agree": { - "type": "integer" - }, - "drives": { - "type": "integer" - }, - "review": { - "properties": { - "by": { - "type": "string" - }, - "date": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "state": { - "enum": [ - "awaiting", - "confirmed", - "signed_off", - "not_needed", - "rechecking" - ] - }, - "text": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "copilot_connector": { - "description": "The product in GitHub's list of Copilot connectors (GitHub-verified MCP servers), read on checked", - "properties": { - "checked": { - "type": "string" - }, - "name": { - "type": "string" - }, - "server": { - "type": "string" - }, - "source": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "core": { - "description": "Core features done of all, as done/total", - "type": [ - "string", - "null" - ] - }, - "correction": { - "description": "The listing's correction status", - "properties": { - "open": { - "type": "integer" - }, - "reply_by": { - "type": [ - "string", - "null" - ] - }, - "since": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "disputed", - "none" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "coverage_core": { - "description": "Work done", - "type": [ - "integer", - "null" - ] - }, - "coverage_source": { - "description": "computed", - "enum": [ - "computed", - "reported" - ] - }, - "detail": { - "description": "The attempt log with its evidence, for the product's verified owner", - "properties": { - "needs": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": "object" - }, - "disclosure": { - "description": "Only on a drive its owner paid for", - "type": "string" - }, - "docs": { - "description": "The docs read and judged by us before the drive", - "type": [ - "object", - "null" - ] - }, - "docs_overall": { - "description": "The docs pass's verdict (null", - "enum": [ - "complete", - "gaps", - "thin", - "unreachable", - null - ], - "type": [ - "string", - "null" - ] - }, - "domain": { - "type": "string" - }, - "draft": { - "description": "Not reviewed yet", - "type": "boolean" - }, - "drives": { - "description": "Every drive of the product so far", - "type": "integer" - }, - "email_gate": { - "description": "Its sign-up refused our agent's own email address (invalid, disposable, not a work email, only Gmail or Outlook)", - "properties": { - "date": { - "type": "string" - }, - "finding": { - "type": "string" - }, - "fix": { - "type": "string" - }, - "said": { - "type": [ - "string", - "null" - ] - }, - "step": { - "enum": [ - "signup", - "verify" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "engine": { - "description": "What made this drive on our end, so a level that moves with it can be told from one the product moved", - "properties": { - "commit": { - "type": [ - "string", - "null" - ] - }, - "driver": { - "type": [ - "integer", - "null" - ] - }, - "inbox": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "model": { - "type": [ - "string", - "null" - ] - }, - "prompts": { - "properties": { - "commit": { - "type": [ - "string", - "null" - ] - }, - "version": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "robots": { - "enum": [ - "start", - "obey", - "skip", - "consent" - ] - }, - "rules": { - "properties": { - "commit": { - "type": [ - "string", - "null" - ] - }, - "version": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "signed": { - "type": "boolean" - }, - "version": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "entry": { - "description": "self-start", - "enum": [ - "self-start", - "setup", - "closed" - ] - }, - "evidence_sha256": { - "description": "The sha256 of the drive's record, which lists every evidence file of the drive with its own sha256", - "type": [ - "string", - "null" - ] - }, - "first_blocker": { - "description": "The first thing that stops or slows an agent", - "type": "string" - }, - "first_seen": { - "description": "The day we first drove the product", - "type": [ - "string", - "null" - ] - }, - "fix_counts": { - "description": "How many fixes the drive found, by size and in all", - "properties": { - "large": { - "type": "integer" - }, - "medium": { - "type": "integer" - }, - "small": { - "type": "integer" - }, - "total": { - "type": "integer" - } - }, - "type": [ - "object", - "null" - ] - }, - "freshness": { - "description": "How old the listed drive is", - "enum": [ - "fresh", - "aging", - "redrive" - ] - }, - "history": { - "description": "The level per day, oldest first", - "items": { - "properties": { - "agent_paid": { - "properties": { - "amount": { - "type": [ - "number", - "null" - ] - }, - "currency": { - "type": "string" - }, - "date": { - "type": [ - "string", - "null" - ] - }, - "rail": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "date": { - "type": "string" - }, - "engine": { - "type": "object" - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": "integer" - }, - "paid": { - "type": "boolean" - }, - "rules_date": { - "type": "string" - }, - "run": { - "type": "string" - }, - "why": { - "enum": [ - "product", - "rules", - "noise", - "agent" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - "icon": { - "description": "The product's logo, a path on this site", - "type": [ - "string", - "null" - ] - }, - "id": { - "description": "The product's stable id", - "pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$", - "type": "string" - }, - "ids": { - "description": "What the product joins on", - "properties": { - "domain": { - "type": [ - "string", - "null" - ] - }, - "mcp_registry": { - "items": { - "type": "string" - }, - "type": "array" - }, - "org": { - "type": [ - "string", - "null" - ] - }, - "slugs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "surfaces": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "wikidata": { - "type": "string" - } - }, - "type": "object" - }, - "in_stripe_directory": { - "description": "The product's profile handle in Stripe Directory, the same as stripe_directory.profile", - "type": [ - "string", - "null" - ] - }, - "issues_found": { - "description": "How many issues the drive found", - "minimum": 0, - "type": "integer" - }, - "json": { - "description": "Its full record", - "type": "string" - }, - "ladder": { - "description": "The nine checkpoints, each with status and note, in the order of the agent's eight steps (Discover → Docs → Sign up → Get a key → Do the work → Pay → Cancel …", - "type": "object" - }, - "lets_agent": { - "description": "A bot check that let our signed agent through (null", - "type": [ - "string", - "null" - ] - }, - "level": { - "description": "Agent level, the only rank", - "maximum": 5, - "minimum": 0, - "type": "integer" - }, - "level_name": { - "type": "string" - }, - "level_selfhost": { - "description": "The level of the self-hosted edition, when it was driven (null", - "type": [ - "integer", - "null" - ] - }, - "license": { - "description": "The licence of this record", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "mcp": { - "description": "Whether it has an MCP server", - "enum": [ - "official", - "third-party", - "docs", - "none", - null - ], - "type": [ - "string", - "null" - ] - }, - "minutes": { - "description": "Minutes to the first call on the fastest way in", - "type": [ - "number", - "null" - ] - }, - "name": { - "type": "string" - }, - "newer_drives": { - "description": "Finished drives after the listed one, not listed yet", - "properties": { - "count": { - "type": "integer" - }, - "newest": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "next": { - "properties": { - "text": { - "type": "string" - }, - "to": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "not_driven_since": { - "description": "The day of the last drive, when the product's owner asked us to stop driving it", - "type": [ - "string", - "null" - ] - }, - "nothing_to_pay": { - "description": "The product has nothing to pay for", - "type": "boolean" - }, - "origin": { - "description": "editorial", - "enum": [ - "editorial", - "owner" - ] - }, - "outcomes": { - "description": "The five outcomes", - "items": { - "description": "One of the five outcomes (from the rules of 13 Oct 2026)", - "properties": { - "after_hours": { - "type": "number" - }, - "delete": { - "type": [ - "object", - "null" - ] - }, - "docs": { - "type": "string" - }, - "have": { - "items": { - "enum": [ - "llms_txt", - "openapi", - "mcp" - ] - }, - "type": "array" - }, - "key": { - "enum": [ - "find", - "access", - "use", - "pay", - "leave" - ] - }, - "label": { - "type": "string" - }, - "left": { - "enum": [ - "deleted", - "data_only", - "nothing_made", - "removed", - "expires", - "stuck", - "wallet_kept" - ] - }, - "per_call": { - "properties": { - "caps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "core": { - "type": "integer" - }, - "share": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "route": { - "enum": [ - "agent_rail", - "projects", - "billing_api", - "agent_checkout", - "card_checkout", - "portal", - "sales", - "none" - ], - "type": "string" - }, - "stage": { - "enum": [ - "in", - "work", - "pay", - "leave" - ], - "type": "string" - }, - "state": { - "enum": [ - "yes", - "part", - "no", - "unreached", - "na" - ] - }, - "text": { - "type": "string" - }, - "value": { - "enum": [ - "paid", - "partial", - "ready", - "checkout", - "person", - "not_tried", - "unreached", - "nothing" - ] - }, - "way": { - "type": "string" - }, - "why": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "page": { - "description": "The product's page with us", - "type": "string" - }, - "paid": { - "description": "Our side made and proved a payment on one of them (the transaction is in the tool's pay_options.paid)", - "type": "boolean" - }, - "parts": { - "description": "The part scores, 0-100, null when not measured", - "properties": { - "docs_match": { - "type": [ - "integer", - "null" - ] - }, - "holds_up": { - "type": [ - "integer", - "null" - ] - }, - "security": { - "enum": [ - "private", - null - ], - "type": [ - "string", - "null" - ] - }, - "setup": { - "type": [ - "integer", - "null" - ] - }, - "standards": { - "items": { - "properties": { - "behind": { - "type": [ - "integer", - "null" - ] - }, - "standard": { - "type": "string" - }, - "state": { - "enum": [ - "current", - "behind" - ] - }, - "value": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "pay": { - "description": "How an agent can pay for it, as a grade from P0 (no self-serve purchase) up to P5 (an agent-native payment method sells the product)", - "type": [ - "string", - "null" - ] - }, - "pay_options": { - "description": "The pay checkpoint", - "properties": { - "agentic": { - "items": { - "type": "string" - }, - "type": "array" - }, - "checked": { - "type": "string" - }, - "detected_grade": { - "type": [ - "string", - "null" - ] - }, - "exercised": { - "type": [ - "boolean", - "null" - ] - }, - "options": { - "items": { - "properties": { - "first_party": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "kind": { - "enum": [ - "agent-rail", - "agent-checkout", - "mcp-tool", - "billing", - "checkout" - ] - }, - "lead": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "networks": { - "items": { - "type": "string" - }, - "type": "array" - }, - "testnet": { - "type": "boolean" - } - }, - "type": "object" - }, - "type": "array" - }, - "owner_fixes": { - "items": { - "properties": { - "how": { - "type": "string" - }, - "title": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "paid": { - "properties": { - "amount": { - "type": [ - "number", - "string", - "null" - ] - }, - "at": { - "type": [ - "string", - "null" - ] - }, - "currency": { - "type": "string" - }, - "network": { - "type": [ - "string", - "null" - ] - }, - "rail": { - "type": "string" - }, - "testnet": { - "type": "boolean" - }, - "tx": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "source": { - "enum": [ - "probe", - "drive" - ] - }, - "trial": { - "properties": { - "card_required": { - "type": [ - "boolean", - "null" - ] - }, - "free_plan": { - "type": [ - "boolean", - "null" - ] - }, - "no_card": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": "object" - } - }, - "type": [ - "object", - "null" - ] - }, - "pay_rails": { - "description": "Each agent-native payment rail (x402, mpp, l402, acp, ucp, ap2, mcp-payment) the drive saw on the product (drive true", - "items": { - "properties": { - "drive": { - "type": "boolean" - }, - "listed": { - "properties": { - "checked": { - "type": "string" - }, - "registry": { - "type": "string" - }, - "source": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "rail": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "pays_with": { - "description": "The agent-native ways to pay it offers, from our pay probe or the drive (x402, mpp, l402, stripe-projects, acp, ucp, ap2, mcp-payment)", - "items": { - "type": "string" - }, - "type": "array" - }, - "peers": { - "additionalProperties": { - "properties": { - "above": { - "type": "integer" - }, - "basis": { - "enum": [ - "category", - "all" - ], - "type": "string" - }, - "below": { - "type": "integer" - }, - "n": { - "type": "integer" - }, - "percentile": { - "type": "integer" - }, - "quartile": { - "type": "integer" - } - }, - "type": "object" - }, - "description": "Each graded criterion of the standard (by its id) next to its peers, the products measured on it", - "type": [ - "object", - "null" - ] - }, - "rank": { - "description": "Its place in its category among the products our agent got into on its own (with the directory on", - "minimum": 1, - "type": [ - "integer", - "null" - ] - }, - "rank_change": { - "description": "How many places it moved the last time its place changed", - "type": [ - "integer", - "null" - ] - }, - "rank_of": { - "description": "How many products of its category are ranked", - "type": "integer" - }, - "rank_since": { - "description": "The day of that move, or the day it entered the ranking", - "type": [ - "string", - "null" - ] - }, - "robots": { - "description": "robots.txt on the way in (null", - "properties": { - "held": { - "type": "boolean" - }, - "rule": { - "enum": [ - "named", - "star" - ] - }, - "seen": { - "type": "string" - }, - "step": { - "enum": [ - "signup", - "verify", - "credentials", - "first_call", - null - ], - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "routes": { - "description": "Every way in the product offers, tried agent-native first (since the rules of 12 Oct 2026", - "items": { - "properties": { - "brings": { - "type": [ - "string", - "null" - ] - }, - "browser": { - "type": [ - "boolean", - "null" - ] - }, - "fresh": { - "type": [ - "boolean", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "not_tried": { - "enum": [ - "no_kit", - "over_cap", - "policy", - "time", - "same_as", - "assisted_only", - "idp_blocked", - "sign_in_code", - "robots", - "terms", - "beyond", - null - ], - "type": [ - "string", - "null" - ] - }, - "offered": { - "enum": [ - "documented", - "seen", - "listed", - "no", - "unknown" - ] - }, - "person": { - "enum": [ - "none", - "once", - "each", - null - ], - "type": [ - "string", - "null" - ] - }, - "result": { - "enum": [ - "in", - "partial", - "walled", - "refused", - "broken", - "not_reached", - "not_counted", - null - ], - "type": [ - "string", - "null" - ] - }, - "route": { - "type": "string" - }, - "tried": { - "type": "boolean" - }, - "wall": { - "properties": { - "owner": { - "enum": [ - "product", - "idp", - "platform", - "ours", - null - ] - }, - "type": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "why": { - "enum": [ - "terms", - null - ], - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - "rules_date": { - "description": "The date of those rules, as pages name them (\"Rules of ...\"", - "type": "string" - }, - "rules_url": { - "description": "That rules version's entry", - "type": [ - "string", - "null" - ] - }, - "rules_version": { - "description": "The rules version this level was judged under", - "type": [ - "string", - "null" - ] - }, - "same_level_drives": { - "description": "The latest drives in a row that gave this level", - "type": "integer" - }, - "scores": { - "description": "The measures behind the parts", - "type": "object" - }, - "slug": { - "description": "The product's address in the directory (can change", - "type": "string" - }, - "stages": { - "items": { - "description": "One of the four stages that decide the level (in", - "properties": { - "after_hours": { - "type": "number" - }, - "delete": { - "properties": { - "state": { - "enum": [ - "yes", - "part", - "no", - "na", - "unreached" - ] - }, - "text": { - "type": "string" - }, - "why": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "key": { - "enum": [ - "in", - "work", - "pay", - "leave" - ] - }, - "label": { - "type": "string" - }, - "left": { - "enum": [ - "deleted", - "data_only", - "nothing_made", - "removed", - "expires", - "stuck", - "wallet_kept" - ] - }, - "per_call": { - "properties": { - "caps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "core": { - "type": "integer" - }, - "share": { - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, - "route": { - "enum": [ - "agent_rail", - "projects", - "billing_api", - "agent_checkout", - "card_checkout", - "portal", - "sales", - "none" - ], - "type": "string" - }, - "state": { - "enum": [ - "yes", - "part", - "no", - "unreached", - "na" - ] - }, - "text": { - "type": "string" - }, - "value": { - "enum": [ - "paid", - "partial", - "ready", - "checkout", - "person", - "not_tried", - "unreached", - "nothing" - ] - }, - "way": { - "type": "string" - }, - "why": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "stale": { - "description": "Always false", - "type": "boolean" - }, - "stop": { - "description": "The first checkpoint the agent did not get past (null", - "type": [ - "string", - "null" - ] - }, - "stripe_directory": { - "description": "The product's profile in Stripe's agent directory (what an agent finds with stripe directory search), as we searched it on checked", - "properties": { - "checked": { - "type": "string" - }, - "name": { - "type": "string" - }, - "profile": { - "type": "string" - }, - "routes": { - "items": { - "enum": [ - "projects", - "mpp", - "mcp", - "app", - "link" - ] - }, - "type": "array" - }, - "source": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "stripe_projects": { - "description": "The product as a provider in the Stripe Projects catalog (an agent creates its account and gets credentials with `stripe projects add`), read on checked", - "properties": { - "checked": { - "type": "string" - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "provider": { - "type": "string" - }, - "services": { - "type": [ - "integer", - "null" - ] - }, - "source": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "summary": { - "description": "What an agent can do with it, in a sentence or two", - "type": "string" - }, - "terms": { - "description": "The product's terms say automated sign-up isn't allowed", - "properties": { - "checked": { - "type": [ - "string", - "null" - ] - }, - "document": { - "type": [ - "string", - "null" - ] - }, - "finding": { - "type": "string" - }, - "fix": { - "type": [ - "string", - "null" - ] - }, - "quote": { - "type": "string" - }, - "section": { - "type": [ - "string", - "null" - ] - }, - "terms_date": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": "string" - }, - "work": { - "enum": [ - "not_counted", - "part", - null - ], - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "tested_at": { - "description": "The day of the drive behind the level", - "type": "string" - }, - "unreachable_since": { - "description": "The day the product's site has been unreachable since", - "type": [ - "string", - "null" - ] - }, - "url": { - "description": "The product's page here", - "type": "string" - }, - "wall_type": { - "description": "What kind of bot check it was", - "enum": [ - "network", - "challenge", - null - ] - }, - "wall_vendor": { - "description": "The company whose bot check or sign-in our agent stopped at", - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "id": { - "type": "string" - }, - "kind": { - "enum": [ - "bot check", - "sign-in" - ] - }, - "vendor": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "ways_in": { - "description": "The ways in that got our agent in (route ids, e.g", - "items": { - "type": "string" - }, - "type": "array" - }, - "who_gets_in": { - "description": "Who gets in, next to the level and never part of it", - "properties": { - "browser": { - "properties": { - "measured": { - "type": "boolean" - }, - "state": { - "enum": [ - "in", - "through", - "captcha", - "unknown" - ] - } - }, - "type": "object" - }, - "our_key": { - "enum": [ - "verified", - "pending" - ] - }, - "robots": { - "enum": [ - "closed", - null - ] - }, - "server": { - "properties": { - "state": { - "enum": [ - "in", - "edge", - "captcha", - "form", - "robots", - "closed" - ] - } - }, - "type": "object" - }, - "signed": { - "properties": { - "at": { - "type": "string" - }, - "kind": { - "enum": [ - "signup", - "home" - ] - }, - "state": { - "enum": [ - "page", - "check", - "block", - "robots", - "unknown" - ] - } - }, - "type": "object" - }, - "tip": { - "type": "boolean" - } - }, - "type": [ - "object", - "null" - ] - }, - "works_assisted": { - "description": "What the agent did once a person set up the account or cleared a step at the door, from the newest drive that measured it", - "properties": { - "core": { - "type": [ - "string", - "null" - ] - }, - "coverage_core": { - "type": "integer" - }, - "date": { - "type": "string" - }, - "run": { - "type": "string" - }, - "via": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - } - }, - "required": [ - "slug", - "name", - "level", - "page" - ], - "type": "object" - }, - { - "description": "The headline (brief true)", - "properties": { - "access": { - "items": { - "properties": { - "core": { - "type": [ - "number", - "string", - "null" - ] - }, - "key": { - "type": "string" - }, - "label": { - "type": "string" - }, - "minutes": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - "agent_surfaces": { - "description": "Each way an agent works the product, as the product page's tiles show it, whether or not our agent got in", - "properties": { - "api": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested" - ], - "type": "object" - }, - "cli": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested" - ], - "type": "object" - }, - "docs": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested" - ], - "type": "object" - }, - "mcp": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "reachable": { - "type": [ - "boolean", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested" - ], - "type": "object" - }, - "payment": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested" - ], - "type": "object" - }, - "sdk": { - "properties": { - "documented": { - "type": [ - "integer", - "null" - ] - }, - "state": { - "enum": [ - "tested", - "documented", - "none_found", - "unknown" - ] - }, - "tested": { - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "state", - "documented", - "tested" - ], - "type": "object" - } - }, - "required": [ - "api", - "mcp", - "cli", - "sdk", - "docs", - "payment" - ], - "type": [ - "object", - "null" - ] - }, - "attempts_count": { - "type": "integer" - }, - "blockers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "can_do": { - "items": { - "type": "string" - }, - "type": "array" - }, - "cannot_do": { - "items": { - "properties": { - "what": { - "type": "string" - }, - "why": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "category": { - "description": "The category's name", - "type": "string" - }, - "confirmation": { - "description": "How far its drives back the level", - "properties": { - "agree": { - "type": "integer" - }, - "drives": { - "type": "integer" - }, - "review": { - "properties": { - "by": { - "type": "string" - }, - "date": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "state": { - "enum": [ - "awaiting", - "confirmed", - "signed_off", - "not_needed", - "rechecking" - ] - }, - "text": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "connect": { - "description": "How to connect in your next step, from the drive and the product's own docs", - "properties": { - "api": { - "properties": { - "base_url": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "base_url", - "state" - ], - "type": "object" - }, - "cli": { - "properties": { - "ecosystem": { - "enum": [ - "npm", - "pypi", - "homebrew", - "go", - "cargo", - "gem" - ] - }, - "install": { - "type": "string" - }, - "package": { - "type": "string" - }, - "source": { - "type": "string" - }, - "state": { - "enum": [ - "tested", - "documented" - ] - } - }, - "required": [ - "install", - "package", - "ecosystem", - "state" - ], - "type": "object" - }, - "docs": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "mcp": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "transport": { - "enum": [ - "streamable-http", - "sse" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - }, - "signup": { - "properties": { - "state": { - "enum": [ - "tested", - "documented" - ] - }, - "url": { - "type": "string" - } - }, - "required": [ - "url", - "state" - ], - "type": "object" - } - }, - "type": "object" - }, - "copilot_connector": { - "description": "The product in GitHub's list of Copilot connectors (GitHub-verified MCP servers), read on checked", - "properties": { - "checked": { - "type": "string" - }, - "name": { - "type": "string" - }, - "server": { - "type": "string" - }, - "source": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "correction": { - "description": "The listing's correction status", - "properties": { - "open": { - "type": "integer" - }, - "reply_by": { - "type": [ - "string", - "null" - ] - }, - "since": { - "type": [ - "string", - "null" - ] - }, - "status": { - "enum": [ - "disputed", - "none" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "detail": { - "description": "The attempt log with its evidence, for the product's verified owner", - "properties": { - "needs": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": "object" - }, - "disclosure": { - "description": "Only on a drive its owner paid for", - "type": "string" - }, - "docs_url": { - "description": "The docs' home page the drive found", - "type": [ - "string", - "null" - ] - }, - "door": { - "description": "How far the sign-up got on its own", - "properties": { - "passed": { - "type": "integer" - }, - "self_start": { - "type": "boolean" - }, - "tries": { - "type": "integer" - } - }, - "type": [ - "object", - "null" - ] - }, - "draft": { - "description": "Not reviewed yet", - "type": "boolean" - }, - "evidence_sha256": { - "type": [ - "string", - "null" - ] - }, - "first_seen": { - "type": [ - "string", - "null" - ] - }, - "fix_counts": { - "description": "How many fixes the drive found, by size and in all", - "properties": { - "large": { - "type": "integer" - }, - "medium": { - "type": "integer" - }, - "small": { - "type": "integer" - }, - "total": { - "type": "integer" - } - }, - "type": [ - "object", - "null" - ] - }, - "freshness": { - "enum": [ - "fresh", - "aging", - "redrive", - null - ] - }, - "history": { - "items": { - "properties": { - "date": { - "type": "string" - }, - "level": { - "maximum": 5, - "minimum": 0, - "type": "integer" - }, - "stop": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - "in_stripe_directory": { - "description": "The product's profile handle in Stripe Directory, the same as stripe_directory.profile", - "type": [ - "string", - "null" - ] - }, - "issues_found": { - "description": "How many issues the drive found", - "minimum": 0, - "type": [ - "integer", - "null" - ] - }, - "level": { - "description": "Agent level, the only rank", - "maximum": 5, - "minimum": 0, - "type": "integer" - }, - "level_name": { - "type": "string" - }, - "license": { - "description": "The licence of this record", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "llms_txt_url": { - "description": "Its llms.txt, from the daily check or the drive", - "type": [ - "string", - "null" - ] - }, - "mcp_url": { - "description": "Its own remote MCP server's URL", - "type": [ - "string", - "null" - ] - }, - "name": { - "type": "string" - }, - "newer_drives": { - "description": "Finished drives after the listed one, not listed yet", - "properties": { - "count": { - "type": "integer" - }, - "newest": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "next": { - "description": "What would raise the level", - "type": [ - "string", - "null" - ] - }, - "openapi_url": { - "description": "Its OpenAPI document, from the daily check", - "type": [ - "string", - "null" - ] - }, - "origin": { - "description": "editorial", - "enum": [ - "editorial", - "owner" - ] - }, - "outcomes": { - "items": { - "properties": { - "key": { - "type": "string" - }, - "state": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "page": { - "description": "The product's page with us", - "type": "string" - }, - "paid": { - "description": "The payment our agent made and we checked", - "properties": { - "amount": { - "type": [ - "number", - "string", - "null" - ] - }, - "at": { - "type": [ - "string", - "null" - ] - }, - "currency": { - "type": "string" - }, - "network": { - "type": [ - "string", - "null" - ] - }, - "rail": { - "type": "string" - }, - "testnet": { - "type": "boolean" - }, - "tx": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "pay_rails": { - "description": "Each agent-native payment rail (x402, mpp, l402, acp, ucp, ap2, mcp-payment) the drive saw on the product (drive true", - "items": { - "properties": { - "drive": { - "type": "boolean" - }, - "listed": { - "properties": { - "checked": { - "type": "string" - }, - "registry": { - "type": "string" - }, - "source": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "rail": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "pays_with": { - "description": "The agent-native ways to pay it offers, from our pay probe or the drive (x402, mpp, l402, stripe-projects, acp, ucp, ap2, mcp-payment)", - "items": { - "type": "string" - }, - "type": "array" - }, - "signup": { - "description": "How our agent got in on its own (its first way in)", - "properties": { - "label": { - "type": [ - "string", - "null" - ] - }, - "minutes": { - "type": [ - "number", - "null" - ] - }, - "routes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "way": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "slug": { - "description": "The product's address in the directory (can change", - "type": "string" - }, - "stop": { - "properties": { - "at": { - "type": "string" - }, - "evidence": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] - }, - "stripe_directory": { - "description": "The product's profile in Stripe's agent directory (what an agent finds with stripe directory search), as we searched it on checked", - "properties": { - "checked": { - "type": "string" - }, - "name": { - "type": "string" - }, - "profile": { - "type": "string" - }, - "routes": { - "items": { - "enum": [ - "projects", - "mpp", - "mcp", - "app", - "link" - ] - }, - "type": "array" - }, - "source": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "stripe_projects": { - "description": "The product as a provider in the Stripe Projects catalog (an agent creates its account and gets credentials with `stripe projects add`), read on checked", - "properties": { - "checked": { - "type": "string" - }, - "free_tier": { - "type": [ - "boolean", - "null" - ] - }, - "provider": { - "type": "string" - }, - "services": { - "type": [ - "integer", - "null" - ] - }, - "source": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "summary": { - "description": "What an agent can do with it, in a sentence or two", - "type": [ - "string", - "null" - ] - }, - "tested_at": { - "description": "The day of the drive behind the level", - "type": "string" - }, - "tips_for_agents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "url": { - "description": "The product's page here", - "type": "string" - }, - "wall": { - "description": "The main bot check or wall the drive met", - "type": [ - "string", - "null" - ] - }, - "wall_vendor": { - "description": "The company whose bot check or sign-in our agent stopped at", - "properties": { - "at": { - "type": [ - "string", - "null" - ] - }, - "id": { - "type": "string" - }, - "kind": { - "enum": [ - "bot check", - "sign-in" - ] - }, - "vendor": { - "type": "string" - } - }, - "type": [ - "object", - "null" - ] - }, - "work_done": { - "description": "Share of the core tasks done, 0-100", - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "slug", - "name", - "level", - "page" - ], - "type": "object" - } -]New value: +[ + { + "description": "The full result (brief false)", + "properties": { + "access": { + "description": "How an agent gets in", + "items": { + "description": "How an agent gets in (rules of 13 Oct 2026)", + "properties": { + "by_route": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "core": { + "type": [ + "string", + "null" + ] + }, + "key": { + "enum": [ + "keyless", + "local", + "try_first", + "no_account", + "pay_per_call", + "key_by_api", + "mcp_signin", + "email_signup", + "browser_signup", + "by_name", + "person" + ] + }, + "label": { + "type": "string" + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "type": "array" + }, + "after_wall": { + "description": "After the wall", + "properties": { + "agent_steps": { + "items": { + "properties": { + "rung": { + "type": "string" + }, + "status": { + "enum": [ + "headless", + "browser" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + "coverage_core": { + "type": [ + "integer", + "null" + ] + }, + "done": { + "items": { + "properties": { + "cap": { + "type": "string" + }, + "capability": { + "type": "string" + }, + "route": { + "enum": [ + "headless", + "browser" + ] + }, + "weight": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "kind": { + "enum": [ + "challenge", + "browser-check", + "phone", + "card", + "signup-refused", + "other", + null + ], + "type": [ + "string", + "null" + ] + }, + "label": { + "type": "string" + }, + "parts": { + "items": { + "enum": [ + "holds_up", + "docs_match" + ] + }, + "type": "array" + }, + "step": { + "type": "string" + }, + "steps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "via": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "agent_surfaces": { + "description": "Each way an agent works the product, as the product page's tiles show it, whether or not our agent got in", + "properties": { + "api": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "reachable": { + "type": [ + "boolean", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + }, + "cli": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "reachable": { + "type": [ + "boolean", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + }, + "docs": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + }, + "mcp": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "reachable": { + "type": [ + "boolean", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + }, + "payment": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + }, + "sdk": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + } + }, + "required": [ + "api", + "mcp", + "cli", + "sdk", + "docs", + "payment" + ], + "type": "object" + }, + "attempts_count": { + "type": "integer" + }, + "badges": { + "description": "agent-can-buy", + "items": { + "enum": [ + "agent-can-buy", + "agent-can-leave" + ] + }, + "type": "array" + }, + "blocks_agent": { + "description": "The bot check that stopped our signed agent on at least one way in, from sign-up to the first call (null", + "type": [ + "string", + "null" + ] + }, + "category": { + "description": "The category id", + "type": "string" + }, + "category_median": { + "additionalProperties": { + "properties": { + "median": { + "type": "integer" + }, + "n": { + "type": "integer" + } + }, + "type": "object" + }, + "description": "Each part score's median in this product's category (holds_up, docs_match", + "type": [ + "object", + "null" + ] + }, + "category_name": { + "type": "string" + }, + "checkout": { + "description": "The walk to the last click", + "type": [ + "object", + "null" + ] + }, + "claims": { + "description": "The claims ledger", + "properties": { + "broken": { + "type": "integer" + }, + "claimed": { + "type": "integer" + }, + "held": { + "type": "integer" + }, + "not_tried": { + "type": "integer" + }, + "tried": { + "type": "integer" + }, + "unclear": { + "type": "integer" + }, + "undocumented_works": { + "type": "integer" + } + }, + "type": [ + "object", + "null" + ] + }, + "confirmation": { + "description": "How far its drives back the level", + "properties": { + "agree": { + "type": "integer" + }, + "drives": { + "type": "integer" + }, + "review": { + "properties": { + "by": { + "type": "string" + }, + "date": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "state": { + "enum": [ + "awaiting", + "confirmed", + "signed_off", + "not_needed", + "rechecking" + ] + }, + "text": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "copilot_connector": { + "description": "The product in GitHub's list of Copilot connectors (GitHub-verified MCP servers), read on checked", + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "server": { + "type": "string" + }, + "source": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "core": { + "description": "Core features done of all, as done/total", + "type": [ + "string", + "null" + ] + }, + "correction": { + "description": "The listing's correction status", + "properties": { + "open": { + "type": "integer" + }, + "reply_by": { + "type": [ + "string", + "null" + ] + }, + "since": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "disputed", + "none" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "coverage_core": { + "description": "Work done", + "type": [ + "integer", + "null" + ] + }, + "coverage_source": { + "description": "computed", + "enum": [ + "computed", + "reported" + ] + }, + "detail": { + "description": "The attempt log with its evidence, for the product's verified owner", + "properties": { + "needs": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "disclosure": { + "description": "Only on a drive its owner paid for", + "type": "string" + }, + "docs": { + "description": "The docs read and judged by us before the drive", + "type": [ + "object", + "null" + ] + }, + "docs_overall": { + "description": "The docs pass's verdict (null", + "enum": [ + "complete", + "gaps", + "thin", + "unreachable", + null + ], + "type": [ + "string", + "null" + ] + }, + "domain": { + "type": "string" + }, + "draft": { + "description": "Not reviewed yet", + "type": "boolean" + }, + "drives": { + "description": "Every drive of the product so far", + "type": "integer" + }, + "email_gate": { + "description": "Its sign-up refused our agent's own email address (invalid, disposable, not a work email, only Gmail or Outlook)", + "properties": { + "date": { + "type": "string" + }, + "finding": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "said": { + "type": [ + "string", + "null" + ] + }, + "step": { + "enum": [ + "signup", + "verify" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "engine": { + "description": "What made this drive on our end, so a level that moves with it can be told from one the product moved", + "properties": { + "commit": { + "type": [ + "string", + "null" + ] + }, + "driver": { + "type": [ + "integer", + "null" + ] + }, + "inbox": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "model": { + "type": [ + "string", + "null" + ] + }, + "prompts": { + "properties": { + "commit": { + "type": [ + "string", + "null" + ] + }, + "version": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "robots": { + "enum": [ + "start", + "obey", + "skip", + "consent" + ] + }, + "rules": { + "properties": { + "commit": { + "type": [ + "string", + "null" + ] + }, + "version": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "signed": { + "type": "boolean" + }, + "version": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "entry": { + "description": "self-start", + "enum": [ + "self-start", + "setup", + "closed" + ] + }, + "evidence_sha256": { + "description": "The sha256 of the drive's record, which lists every evidence file of the drive with its own sha256", + "type": [ + "string", + "null" + ] + }, + "first_blocker": { + "description": "The first thing that stops or slows an agent", + "type": "string" + }, + "first_seen": { + "description": "The day we first drove the product", + "type": [ + "string", + "null" + ] + }, + "fix_counts": { + "description": "How many fixes the drive found, by size and in all", + "properties": { + "large": { + "type": "integer" + }, + "medium": { + "type": "integer" + }, + "small": { + "type": "integer" + }, + "total": { + "type": "integer" + } + }, + "type": [ + "object", + "null" + ] + }, + "freshness": { + "description": "How old the listed drive is", + "enum": [ + "fresh", + "aging", + "redrive" + ] + }, + "history": { + "description": "The level per day, oldest first", + "items": { + "properties": { + "agent_paid": { + "properties": { + "amount": { + "type": [ + "number", + "null" + ] + }, + "currency": { + "type": "string" + }, + "date": { + "type": [ + "string", + "null" + ] + }, + "rail": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "date": { + "type": "string" + }, + "engine": { + "type": "object" + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": "integer" + }, + "paid": { + "type": "boolean" + }, + "rules_date": { + "type": "string" + }, + "run": { + "type": "string" + }, + "why": { + "enum": [ + "product", + "rules", + "noise", + "agent" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + "icon": { + "description": "The product's logo, a path on this site", + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "The product's stable id", + "pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$", + "type": "string" + }, + "ids": { + "description": "What the product joins on", + "properties": { + "domain": { + "type": [ + "string", + "null" + ] + }, + "mcp_registry": { + "items": { + "type": "string" + }, + "type": "array" + }, + "org": { + "type": [ + "string", + "null" + ] + }, + "slugs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "surfaces": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "wikidata": { + "type": "string" + } + }, + "type": "object" + }, + "in_stripe_directory": { + "description": "The product's profile handle in Stripe Directory, the same as stripe_directory.profile", + "type": [ + "string", + "null" + ] + }, + "issues_found": { + "description": "How many issues the drive found", + "minimum": 0, + "type": "integer" + }, + "json": { + "description": "Its full record", + "type": "string" + }, + "ladder": { + "description": "The nine checkpoints, each with status and note, in the order of the agent's eight steps (Discover → Docs → Sign up → Get a key → Do the work → Pay → Cancel …", + "type": "object" + }, + "lets_agent": { + "description": "A bot check that let our signed agent through (null", + "type": [ + "string", + "null" + ] + }, + "level": { + "description": "Agent level, the only rank", + "maximum": 5, + "minimum": 0, + "type": "integer" + }, + "level_name": { + "type": "string" + }, + "level_selfhost": { + "description": "The level of the self-hosted edition, when it was driven (null", + "type": [ + "integer", + "null" + ] + }, + "license": { + "description": "The licence of this record", + "properties": { + "name": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "mcp": { + "description": "Whether it has an MCP server", + "enum": [ + "official", + "third-party", + "docs", + "none", + null + ], + "type": [ + "string", + "null" + ] + }, + "minutes": { + "description": "Minutes to the first call on the fastest way in", + "type": [ + "number", + "null" + ] + }, + "name": { + "type": "string" + }, + "newer_drives": { + "description": "Finished drives after the listed one, not listed yet", + "properties": { + "count": { + "type": "integer" + }, + "newest": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "next": { + "properties": { + "text": { + "type": "string" + }, + "to": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "not_driven_since": { + "description": "The day of the last drive, when the product's owner asked us to stop driving it", + "type": [ + "string", + "null" + ] + }, + "nothing_to_pay": { + "description": "The product has nothing to pay for", + "type": "boolean" + }, + "origin": { + "description": "editorial", + "enum": [ + "editorial", + "owner" + ] + }, + "outcomes": { + "description": "The five outcomes", + "items": { + "description": "One of the five outcomes (from the rules of 13 Oct 2026)", + "properties": { + "after_hours": { + "type": "number" + }, + "delete": { + "type": [ + "object", + "null" + ] + }, + "docs": { + "type": "string" + }, + "have": { + "items": { + "enum": [ + "llms_txt", + "openapi", + "mcp" + ] + }, + "type": "array" + }, + "key": { + "enum": [ + "find", + "access", + "use", + "pay", + "leave" + ] + }, + "label": { + "type": "string" + }, + "left": { + "enum": [ + "deleted", + "data_only", + "nothing_made", + "removed", + "expires", + "stuck", + "wallet_kept" + ] + }, + "per_call": { + "properties": { + "caps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "core": { + "type": "integer" + }, + "share": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "route": { + "enum": [ + "agent_rail", + "projects", + "billing_api", + "agent_checkout", + "card_checkout", + "portal", + "sales", + "none" + ], + "type": "string" + }, + "stage": { + "enum": [ + "in", + "work", + "pay", + "leave" + ], + "type": "string" + }, + "state": { + "enum": [ + "yes", + "part", + "no", + "unreached", + "na" + ] + }, + "text": { + "type": "string" + }, + "value": { + "enum": [ + "paid", + "partial", + "ready", + "checkout", + "person", + "not_tried", + "unreached", + "nothing" + ] + }, + "way": { + "type": "string" + }, + "why": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "page": { + "description": "The product's page with us", + "type": "string" + }, + "paid": { + "description": "Our side made and proved a payment on one of them (the transaction is in the tool's pay_options.paid)", + "type": "boolean" + }, + "parts": { + "description": "The part scores, 0-100, null when not measured", + "properties": { + "docs_match": { + "type": [ + "integer", + "null" + ] + }, + "holds_up": { + "type": [ + "integer", + "null" + ] + }, + "security": { + "enum": [ + "private", + null + ], + "type": [ + "string", + "null" + ] + }, + "setup": { + "type": [ + "integer", + "null" + ] + }, + "standards": { + "items": { + "properties": { + "behind": { + "type": [ + "integer", + "null" + ] + }, + "standard": { + "type": "string" + }, + "state": { + "enum": [ + "current", + "behind" + ] + }, + "value": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "pay": { + "description": "How an agent can pay for it, as a grade from P0 (no self-serve purchase) up to P5 (an agent-native payment method sells the product)", + "type": [ + "string", + "null" + ] + }, + "pay_options": { + "description": "The pay checkpoint", + "properties": { + "agentic": { + "items": { + "type": "string" + }, + "type": "array" + }, + "checked": { + "type": "string" + }, + "detected_grade": { + "type": [ + "string", + "null" + ] + }, + "exercised": { + "type": [ + "boolean", + "null" + ] + }, + "options": { + "items": { + "properties": { + "first_party": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "kind": { + "enum": [ + "agent-rail", + "agent-checkout", + "mcp-tool", + "billing", + "checkout" + ] + }, + "lead": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "networks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "testnet": { + "type": "boolean" + } + }, + "type": "object" + }, + "type": "array" + }, + "owner_fixes": { + "items": { + "properties": { + "how": { + "type": "string" + }, + "title": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "paid": { + "properties": { + "amount": { + "type": [ + "number", + "string", + "null" + ] + }, + "at": { + "type": [ + "string", + "null" + ] + }, + "currency": { + "type": "string" + }, + "network": { + "type": [ + "string", + "null" + ] + }, + "rail": { + "type": "string" + }, + "testnet": { + "type": "boolean" + }, + "tx": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "source": { + "enum": [ + "probe", + "drive" + ] + }, + "trial": { + "properties": { + "card_required": { + "type": [ + "boolean", + "null" + ] + }, + "free_plan": { + "type": [ + "boolean", + "null" + ] + }, + "no_card": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": "object" + } + }, + "type": [ + "object", + "null" + ] + }, + "pay_rails": { + "description": "Each agent-native payment rail (x402, mpp, l402, acp, ucp, ap2, mcp-payment) the drive saw on the product (drive true", + "items": { + "properties": { + "drive": { + "type": "boolean" + }, + "listed": { + "properties": { + "checked": { + "type": "string" + }, + "registry": { + "type": "string" + }, + "source": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "rail": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "pays_with": { + "description": "The agent-native ways to pay it offers, from our pay probe or the drive (x402, mpp, l402, stripe-projects, acp, ucp, ap2, mcp-payment)", + "items": { + "type": "string" + }, + "type": "array" + }, + "peers": { + "additionalProperties": { + "properties": { + "above": { + "type": "integer" + }, + "basis": { + "enum": [ + "category", + "all" + ], + "type": "string" + }, + "below": { + "type": "integer" + }, + "n": { + "type": "integer" + }, + "percentile": { + "type": "integer" + }, + "quartile": { + "type": "integer" + } + }, + "type": "object" + }, + "description": "Each graded criterion of the standard (by its id) next to its peers, the products measured on it", + "type": [ + "object", + "null" + ] + }, + "rank": { + "description": "Its place in its category among the products our agent got into on its own (with the directory on", + "minimum": 1, + "type": [ + "integer", + "null" + ] + }, + "rank_change": { + "description": "How many places it moved the last time its place changed", + "type": [ + "integer", + "null" + ] + }, + "rank_of": { + "description": "How many products of its category are ranked", + "type": "integer" + }, + "rank_since": { + "description": "The day of that move, or the day it entered the ranking", + "type": [ + "string", + "null" + ] + }, + "robots": { + "description": "robots.txt on the way in (null", + "properties": { + "held": { + "type": "boolean" + }, + "rule": { + "enum": [ + "named", + "star" + ] + }, + "seen": { + "type": "string" + }, + "step": { + "enum": [ + "signup", + "verify", + "credentials", + "first_call", + null + ], + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "routes": { + "description": "Every way in the product offers, tried agent-native first (since the rules of 12 Oct 2026", + "items": { + "properties": { + "brings": { + "type": [ + "string", + "null" + ] + }, + "browser": { + "type": [ + "boolean", + "null" + ] + }, + "fresh": { + "type": [ + "boolean", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "not_tried": { + "enum": [ + "no_kit", + "over_cap", + "policy", + "time", + "same_as", + "assisted_only", + "idp_blocked", + "sign_in_code", + "robots", + "terms", + "beyond", + null + ], + "type": [ + "string", + "null" + ] + }, + "offered": { + "enum": [ + "documented", + "seen", + "listed", + "no", + "unknown" + ] + }, + "person": { + "enum": [ + "none", + "once", + "each", + null + ], + "type": [ + "string", + "null" + ] + }, + "result": { + "enum": [ + "in", + "partial", + "walled", + "refused", + "broken", + "not_reached", + "not_counted", + null + ], + "type": [ + "string", + "null" + ] + }, + "route": { + "type": "string" + }, + "tried": { + "type": "boolean" + }, + "wall": { + "properties": { + "owner": { + "enum": [ + "product", + "idp", + "platform", + "ours", + null + ] + }, + "type": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "why": { + "enum": [ + "terms", + null + ], + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + "rules_date": { + "description": "The date of those rules, as pages name them (\"Rules of ...\"", + "type": "string" + }, + "rules_url": { + "description": "That rules version's entry", + "type": [ + "string", + "null" + ] + }, + "rules_version": { + "description": "The rules version this level was judged under", + "type": [ + "string", + "null" + ] + }, + "same_level_drives": { + "description": "The latest drives in a row that gave this level", + "type": "integer" + }, + "scores": { + "description": "The measures behind the parts", + "type": "object" + }, + "slug": { + "description": "The product's address in the directory (can change", + "type": "string" + }, + "stages": { + "items": { + "description": "One of the four stages that decide the level (in", + "properties": { + "after_hours": { + "type": "number" + }, + "delete": { + "properties": { + "state": { + "enum": [ + "yes", + "part", + "no", + "na", + "unreached" + ] + }, + "text": { + "type": "string" + }, + "why": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "key": { + "enum": [ + "in", + "work", + "pay", + "leave" + ] + }, + "label": { + "type": "string" + }, + "left": { + "enum": [ + "deleted", + "data_only", + "nothing_made", + "removed", + "expires", + "stuck", + "wallet_kept" + ] + }, + "per_call": { + "properties": { + "caps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "core": { + "type": "integer" + }, + "share": { + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "route": { + "enum": [ + "agent_rail", + "projects", + "billing_api", + "agent_checkout", + "card_checkout", + "portal", + "sales", + "none" + ], + "type": "string" + }, + "state": { + "enum": [ + "yes", + "part", + "no", + "unreached", + "na" + ] + }, + "text": { + "type": "string" + }, + "value": { + "enum": [ + "paid", + "partial", + "ready", + "checkout", + "person", + "not_tried", + "unreached", + "nothing" + ] + }, + "way": { + "type": "string" + }, + "why": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "stale": { + "description": "Always false", + "type": "boolean" + }, + "stop": { + "description": "The first checkpoint the agent did not get past (null", + "type": [ + "string", + "null" + ] + }, + "stripe_directory": { + "description": "The product's profile in Stripe's agent directory (what an agent finds with stripe directory search), as we searched it on checked", + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "profile": { + "type": "string" + }, + "routes": { + "items": { + "enum": [ + "projects", + "mpp", + "mcp", + "app", + "link" + ] + }, + "type": "array" + }, + "source": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "stripe_projects": { + "description": "The product as a provider in the Stripe Projects catalog (an agent creates its account and gets credentials with `stripe projects add`), read on checked", + "properties": { + "checked": { + "type": "string" + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "provider": { + "type": "string" + }, + "services": { + "type": [ + "integer", + "null" + ] + }, + "source": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "summary": { + "description": "What an agent can do with it, in a sentence or two", + "type": "string" + }, + "terms": { + "description": "The product's terms say automated sign-up isn't allowed", + "properties": { + "checked": { + "type": [ + "string", + "null" + ] + }, + "document": { + "type": [ + "string", + "null" + ] + }, + "finding": { + "type": "string" + }, + "fix": { + "type": [ + "string", + "null" + ] + }, + "quote": { + "type": "string" + }, + "section": { + "type": [ + "string", + "null" + ] + }, + "terms_date": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": "string" + }, + "work": { + "enum": [ + "not_counted", + "part", + null + ], + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "tested_at": { + "description": "The day of the drive behind the level", + "type": "string" + }, + "unreachable_since": { + "description": "The day the product's site has been unreachable since", + "type": [ + "string", + "null" + ] + }, + "url": { + "description": "The product's page here", + "type": "string" + }, + "wall_type": { + "description": "What kind of bot check it was", + "enum": [ + "network", + "challenge", + null + ] + }, + "wall_vendor": { + "description": "The company whose bot check or sign-in our agent stopped at", + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "kind": { + "enum": [ + "bot check", + "sign-in" + ] + }, + "vendor": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "ways_in": { + "description": "The ways in that got our agent in (route ids, e.g", + "items": { + "type": "string" + }, + "type": "array" + }, + "who_gets_in": { + "description": "Who gets in, next to the level and never part of it", + "properties": { + "browser": { + "properties": { + "measured": { + "type": "boolean" + }, + "state": { + "enum": [ + "in", + "through", + "captcha", + "unknown" + ] + } + }, + "type": "object" + }, + "our_key": { + "enum": [ + "verified", + "pending" + ] + }, + "robots": { + "enum": [ + "closed", + null + ] + }, + "server": { + "properties": { + "state": { + "enum": [ + "in", + "edge", + "captcha", + "form", + "robots", + "closed" + ] + } + }, + "type": "object" + }, + "signed": { + "properties": { + "at": { + "type": "string" + }, + "kind": { + "enum": [ + "signup", + "home" + ] + }, + "state": { + "enum": [ + "page", + "check", + "block", + "robots", + "unknown" + ] + } + }, + "type": "object" + }, + "tip": { + "type": "boolean" + } + }, + "type": [ + "object", + "null" + ] + }, + "works_assisted": { + "description": "What the agent did once a person set up the account or cleared a step at the door, from the newest drive that measured it", + "properties": { + "core": { + "type": [ + "string", + "null" + ] + }, + "coverage_core": { + "type": "integer" + }, + "date": { + "type": "string" + }, + "run": { + "type": "string" + }, + "via": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + } + }, + "required": [ + "slug", + "name", + "level", + "page" + ], + "type": "object" + }, + { + "description": "The headline (brief true)", + "properties": { + "access": { + "items": { + "properties": { + "core": { + "type": [ + "number", + "string", + "null" + ] + }, + "key": { + "type": "string" + }, + "label": { + "type": "string" + }, + "minutes": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + "agent_surfaces": { + "description": "Each way an agent works the product, as the product page's tiles show it, whether or not our agent got in", + "properties": { + "api": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "reachable": { + "type": [ + "boolean", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + }, + "cli": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "reachable": { + "type": [ + "boolean", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + }, + "docs": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + }, + "mcp": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "reachable": { + "type": [ + "boolean", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + }, + "payment": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + }, + "sdk": { + "properties": { + "documented": { + "type": [ + "integer", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "state": { + "enum": [ + "tested", + "documented", + "none_found", + "unknown" + ] + }, + "tested": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "state", + "documented", + "tested", + "source" + ], + "type": "object" + } + }, + "required": [ + "api", + "mcp", + "cli", + "sdk", + "docs", + "payment" + ], + "type": [ + "object", + "null" + ] + }, + "attempts_count": { + "type": "integer" + }, + "blockers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "can_do": { + "items": { + "type": "string" + }, + "type": "array" + }, + "cannot_do": { + "items": { + "properties": { + "what": { + "type": "string" + }, + "why": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "category": { + "description": "The category's name", + "type": "string" + }, + "confirmation": { + "description": "How far its drives back the level", + "properties": { + "agree": { + "type": "integer" + }, + "drives": { + "type": "integer" + }, + "review": { + "properties": { + "by": { + "type": "string" + }, + "date": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "state": { + "enum": [ + "awaiting", + "confirmed", + "signed_off", + "not_needed", + "rechecking" + ] + }, + "text": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "connect": { + "description": "How to connect in your next step, from the drive and the product's own docs", + "properties": { + "api": { + "properties": { + "base_url": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "base_url", + "state" + ], + "type": "object" + }, + "cli": { + "properties": { + "ecosystem": { + "enum": [ + "npm", + "pypi", + "homebrew", + "go", + "cargo", + "gem" + ] + }, + "install": { + "type": "string" + }, + "package": { + "type": "string" + }, + "source": { + "type": "string" + }, + "state": { + "enum": [ + "tested", + "documented" + ] + } + }, + "required": [ + "install", + "package", + "ecosystem", + "state" + ], + "type": "object" + }, + "docs": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "mcp": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "transport": { + "enum": [ + "streamable-http", + "sse" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + }, + "signup": { + "properties": { + "state": { + "enum": [ + "tested", + "documented" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "state" + ], + "type": "object" + } + }, + "type": "object" + }, + "copilot_connector": { + "description": "The product in GitHub's list of Copilot connectors (GitHub-verified MCP servers), read on checked", + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "server": { + "type": "string" + }, + "source": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "correction": { + "description": "The listing's correction status", + "properties": { + "open": { + "type": "integer" + }, + "reply_by": { + "type": [ + "string", + "null" + ] + }, + "since": { + "type": [ + "string", + "null" + ] + }, + "status": { + "enum": [ + "disputed", + "none" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "detail": { + "description": "The attempt log with its evidence, for the product's verified owner", + "properties": { + "needs": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "disclosure": { + "description": "Only on a drive its owner paid for", + "type": "string" + }, + "docs_url": { + "description": "The docs' home page the drive found", + "type": [ + "string", + "null" + ] + }, + "door": { + "description": "How far the sign-up got on its own", + "properties": { + "passed": { + "type": "integer" + }, + "self_start": { + "type": "boolean" + }, + "tries": { + "type": "integer" + } + }, + "type": [ + "object", + "null" + ] + }, + "draft": { + "description": "Not reviewed yet", + "type": "boolean" + }, + "evidence_sha256": { + "type": [ + "string", + "null" + ] + }, + "first_seen": { + "type": [ + "string", + "null" + ] + }, + "fix_counts": { + "description": "How many fixes the drive found, by size and in all", + "properties": { + "large": { + "type": "integer" + }, + "medium": { + "type": "integer" + }, + "small": { + "type": "integer" + }, + "total": { + "type": "integer" + } + }, + "type": [ + "object", + "null" + ] + }, + "freshness": { + "enum": [ + "fresh", + "aging", + "redrive", + null + ] + }, + "history": { + "items": { + "properties": { + "date": { + "type": "string" + }, + "level": { + "maximum": 5, + "minimum": 0, + "type": "integer" + }, + "stop": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + "in_stripe_directory": { + "description": "The product's profile handle in Stripe Directory, the same as stripe_directory.profile", + "type": [ + "string", + "null" + ] + }, + "issues_found": { + "description": "How many issues the drive found", + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "level": { + "description": "Agent level, the only rank", + "maximum": 5, + "minimum": 0, + "type": "integer" + }, + "level_name": { + "type": "string" + }, + "license": { + "description": "The licence of this record", + "properties": { + "name": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "llms_txt_url": { + "description": "Its llms.txt, from the daily check or the drive", + "type": [ + "string", + "null" + ] + }, + "mcp_url": { + "description": "Its own remote MCP server's URL", + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + }, + "newer_drives": { + "description": "Finished drives after the listed one, not listed yet", + "properties": { + "count": { + "type": "integer" + }, + "newest": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "next": { + "description": "What would raise the level", + "type": [ + "string", + "null" + ] + }, + "openapi_url": { + "description": "Its OpenAPI document, from the daily check", + "type": [ + "string", + "null" + ] + }, + "origin": { + "description": "editorial", + "enum": [ + "editorial", + "owner" + ] + }, + "outcomes": { + "items": { + "properties": { + "key": { + "type": "string" + }, + "state": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "page": { + "description": "The product's page with us", + "type": "string" + }, + "paid": { + "description": "The payment our agent made and we checked", + "properties": { + "amount": { + "type": [ + "number", + "string", + "null" + ] + }, + "at": { + "type": [ + "string", + "null" + ] + }, + "currency": { + "type": "string" + }, + "network": { + "type": [ + "string", + "null" + ] + }, + "rail": { + "type": "string" + }, + "testnet": { + "type": "boolean" + }, + "tx": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "pay_rails": { + "description": "Each agent-native payment rail (x402, mpp, l402, acp, ucp, ap2, mcp-payment) the drive saw on the product (drive true", + "items": { + "properties": { + "drive": { + "type": "boolean" + }, + "listed": { + "properties": { + "checked": { + "type": "string" + }, + "registry": { + "type": "string" + }, + "source": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "rail": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "pays_with": { + "description": "The agent-native ways to pay it offers, from our pay probe or the drive (x402, mpp, l402, stripe-projects, acp, ucp, ap2, mcp-payment)", + "items": { + "type": "string" + }, + "type": "array" + }, + "signup": { + "description": "How our agent got in on its own (its first way in)", + "properties": { + "label": { + "type": [ + "string", + "null" + ] + }, + "minutes": { + "type": [ + "number", + "null" + ] + }, + "routes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "way": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "slug": { + "description": "The product's address in the directory (can change", + "type": "string" + }, + "stop": { + "properties": { + "at": { + "type": "string" + }, + "evidence": { + "type": [ + "string", + "null" + ] + } + }, + "type": [ + "object", + "null" + ] + }, + "stripe_directory": { + "description": "The product's profile in Stripe's agent directory (what an agent finds with stripe directory search), as we searched it on checked", + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "profile": { + "type": "string" + }, + "routes": { + "items": { + "enum": [ + "projects", + "mpp", + "mcp", + "app", + "link" + ] + }, + "type": "array" + }, + "source": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "stripe_projects": { + "description": "The product as a provider in the Stripe Projects catalog (an agent creates its account and gets credentials with `stripe projects add`), read on checked", + "properties": { + "checked": { + "type": "string" + }, + "free_tier": { + "type": [ + "boolean", + "null" + ] + }, + "provider": { + "type": "string" + }, + "services": { + "type": [ + "integer", + "null" + ] + }, + "source": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "summary": { + "description": "What an agent can do with it, in a sentence or two", + "type": [ + "string", + "null" + ] + }, + "tested_at": { + "description": "The day of the drive behind the level", + "type": "string" + }, + "tips_for_agents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "url": { + "description": "The product's page here", + "type": "string" + }, + "wall": { + "description": "The main bot check or wall the drive met", + "type": [ + "string", + "null" + ] + }, + "wall_vendor": { + "description": "The company whose bot check or sign-in our agent stopped at", + "properties": { + "at": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "kind": { + "enum": [ + "bot check", + "sign-in" + ] + }, + "vendor": { + "type": "string" + } + }, + "type": [ + "object", + "null" + ] + }, + "work_done": { + "description": "Share of the core tasks done, 0-100", + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "slug", + "name", + "level", + "page" + ], + "type": "object" + } +]
- Changed
search_tools12 fields changed- added
Output schema / properties / result / items / properties / agent_surfaces / properties / api / properties / sourceAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / properties / result / items / properties / agent_surfaces / properties / api / requiredPrevious value: -[ - "state", - "documented", - "tested" -]New value: +[ + "state", + "documented", + "tested", + "source" +] - added
Output schema / properties / result / items / properties / agent_surfaces / properties / cli / properties / sourceAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / properties / result / items / properties / agent_surfaces / properties / cli / requiredPrevious value: -[ - "state", - "documented", - "tested" -]New value: +[ + "state", + "documented", + "tested", + "source" +] - added
Output schema / properties / result / items / properties / agent_surfaces / properties / docs / properties / sourceAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / properties / result / items / properties / agent_surfaces / properties / docs / requiredPrevious value: -[ - "state", - "documented", - "tested" -]New value: +[ + "state", + "documented", + "tested", + "source" +] - added
Output schema / properties / result / items / properties / agent_surfaces / properties / mcp / properties / sourceAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / properties / result / items / properties / agent_surfaces / properties / mcp / requiredPrevious value: -[ - "state", - "documented", - "tested" -]New value: +[ + "state", + "documented", + "tested", + "source" +] - added
Output schema / properties / result / items / properties / agent_surfaces / properties / payment / properties / sourceAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / properties / result / items / properties / agent_surfaces / properties / payment / requiredPrevious value: -[ - "state", - "documented", - "tested" -]New value: +[ + "state", + "documented", + "tested", + "source" +] - added
Output schema / properties / result / items / properties / agent_surfaces / properties / sdk / properties / sourceAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / properties / result / items / properties / agent_surfaces / properties / sdk / requiredPrevious value: -[ - "state", - "documented", - "tested" -]New value: +[ + "state", + "documented", + "tested", + "source" +]
Related MCP Connectors
Paid remote MCP for persistent AI agent memory, analytics, checkout, and search-readiness.
Test whether AI agents complete SaaS pricing, signup or sales journeys; get evidence-backed reports.
Hosted MCP for e-commerce: live product catalog, stock, and pricing for AI agents.
Paid remote MCP for LLM security scans, jailbreak checks, analytics, checkout, and readiness.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMCP server for AgentPay — the payment gateway for autonomous AI agents. Fund a wallet once, give your agent the key, and it discovers, provisions, and pays for tool APIs on its own. One key, every tool.112 npm1MIT
- AlicenseNot gradedqualityDmaintenanceStripe-native marketplace where AI agents autonomously discover and purchase API services via MCP. Pay-per-call, no accounts needed. 6 live services including Phone Validator, Web Scraper, PDF Generator and Screenshot API.1MIT
- AlicenseNot gradedqualityCmaintenanceAn open-source MCP server that lets an AI agent read product pages, fill carts, and reach payment, then hands the user a UPI QR to approve; it also supports optional capped auto-pay from a pre-funded balance while keeping payment credentials away from the AI.Apache 2.0
- AlicenseNot gradedqualityDmaintenanceMCP server for the x402 protocol that lets AI agents discover and call payment-gated HTTP APIs automatically.216 npmApache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.