此 MCP 可以做什么
Provides catalog search, comparison, scoring, enrichment, lists, and dataset exports for APIs, providers, specifications, workflows, and agent-readiness artifacts.
工具
输入模式
{'type': 'object', 'required': ['id', 'members'], 'properties': {'id': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'members': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'properties': {'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'area': {'type': 'array', 'items': {'type': 'string'}}, 'band': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Rating bands: exemplar, strong, developing, thin, minimal.'}, 'sort': {'enum': ['relevance', 'composite', 'name', 'created', 'modified', 'api_count', 'demand'], 'type': 'string', 'description': 'Order results. Default: relevance with a query, composite (quality) when browsing. `demand` = Fortune-1000 adoption, scoped to the query.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 5, 'maximum': 25, 'minimum': 1, 'description': 'Top matches to return per section (apis/providers/tags).'}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'region': {'type': 'array', 'items': {'type': 'string'}}, 'return': {'enum': ['apis', 'providers', 'tags'], 'type': 'string', 'description': 'Return only this kind of match. Default: every kind.'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'industry': {'type': 'array', 'items': {'type': 'string'}}, 'min_score': {'type': 'number'}, 'providers': {'type': 'array', 'items': {'type': 'string'}}, 'artifact_types': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['kind', 'slug'], 'properties': {'kind': {'enum': ['tag', 'industry', 'region', 'area', 'vc'], 'type': 'string'}, 'slug': {'type': 'string'}, 'cursor': {'type': 'integer', 'minimum': 0, 'description': "Resume offset from a previous response's next_cursor. Omit for the first page; keep calling while next_cursor is not null."}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['kind', 'slug'], 'properties': {'kind': {'enum': ['tag', 'industry', 'region', 'area', 'vc'], 'type': 'string'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'slug': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['kind', 'slug'], 'properties': {'kind': {'enum': ['tag', 'industry', 'region', 'area', 'vc'], 'type': 'string'}, 'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['kind', 'slug'], 'properties': {'kind': {'enum': ['tag', 'industry', 'region', 'area', 'vc'], 'type': 'string'}, 'page': {'type': 'integer'}, 'slug': {'type': 'string'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['kind', 'slug'], 'properties': {'kind': {'enum': ['tag', 'industry', 'region', 'area', 'vc'], 'type': 'string'}, 'page': {'type': 'integer'}, 'slug': {'type': 'string'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['kind', 'slug'], 'properties': {'kind': {'enum': ['tag', 'industry', 'region', 'area', 'vc'], 'type': 'string'}, 'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['a', 'b'], 'properties': {'a': {'type': 'string', 'description': 'First cohort as <kind>:<slug>, e.g. "tag:payments".'}, 'b': {'type': 'string', 'description': 'Second cohort as <kind>:<slug>, e.g. "industry:banking".'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['providers'], 'properties': {'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'providers': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Provider slugs to compare (2+).'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'url': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'contact': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'industries': {'type': 'array', 'items': {'type': 'string'}}, 'description': {'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'members': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Provider slugs and/or aids to seed the list.'}}}
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'properties': {'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug', 'claim'], 'properties': {'slug': {'type': 'string'}, 'claim': {'type': 'string'}, 'contact': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'evidence_url': {'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Provider slug OR any identifier resolve() accepts.'}, 'fields': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Field groups: profile, onboarding, artifacts, rating, security, insights. Default: profile+onboarding+artifacts+rating.'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'properties': {'cursor': {'type': 'integer', 'minimum': 0, 'description': "Resume offset from a previous response's next_cursor. Omit for the first page; keep calling while next_cursor is not null."}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'dataset': {'enum': ['ratings', 'providers', 'history'], 'type': 'string', 'default': 'ratings'}, 'co_brand': {'type': 'string', 'description': 'Optional partner name for a co-branded license — stamps the attribution the license carries.'}}}
输入模式
{'type': 'object', 'required': ['capabilities'], 'properties': {'region': {'type': 'string', 'description': 'Optional region slug to prefer.'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'capabilities': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The capabilities the stack needs, e.g. ["payments","email","identity"].'}}}
输入模式
{'type': 'object', 'properties': {'has': {'type': 'string', 'description': 'Comma-separated dimensions the provider MUST satisfy (ANDed), e.g. mcp_server,idempotency.'}, 'band': {'type': 'string', 'description': 'Restrict to one or more agent-readiness bands.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['agent_score'], 'type': 'string', 'description': 'Ranked by agent readiness, highest first.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'missing': {'type': 'string', 'description': 'Comma-separated dimensions the provider must NOT satisfy (ANDed) — the gap view.'}, 'min_score': {'type': 'number', 'description': 'Minimum agent-readiness score, 0-100.'}}}
输入模式
{'type': 'object', 'properties': {'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'area': {'type': 'array', 'items': {'type': 'string'}}, 'band': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Rating bands: exemplar, strong, developing, thin, minimal.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'composite', 'name', 'created', 'modified', 'api_count', 'demand'], 'type': 'string', 'description': 'Order results. Default: relevance with a query, composite (quality) when browsing. `demand` = Fortune-1000 adoption, scoped to the query.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'view': {'enum': ['summary', 'full'], 'type': 'string', 'default': 'summary', 'description': 'summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity).'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'fields': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Return exactly these top-level keys (overrides view).'}, 'public': {'type': 'boolean', 'description': 'Only providers callable publicly with no signup (onboarding=open). (providers only)'}, 'region': {'type': 'array', 'items': {'type': 'string'}}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['via_provider']}, 'description': 'via_provider — also return the APIs of providers whose name matched `q`, the union apis_io_search counts. Needs `q`; adds nothing without one.'}, 'pricing': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Access model — pricing: free, freemium, free-trial, paid, enterprise. (providers only)'}, 'resolve': {'enum': ['on', 'off'], 'type': 'string', 'default': 'on', 'description': 'When `q` exactly names a tag, apis.io uses it: on PROVIDERS a resource tag (order, webhook, image) replaces the text search with the companies that classify themselves there — 2,182 text matches for "order" become the 92 that claim it; on APIS the tag\'s members are ADDED to the text matches, never swapped for them. Market tags (payments) and tags almost no company claims are reported and not applied. Set `off` for pure text. The resolution is always echoed as `resolved_tag`.'}, 'try_now': {'type': 'boolean', 'description': 'Only providers a developer can start using at no cost right now (free/trial + self-serve/open). (providers only)'}, 'industry': {'type': 'array', 'items': {'type': 'string'}}, 'min_score': {'type': 'number'}, 'providers': {'type': 'array', 'items': {'type': 'string'}}, 'onboarding': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Access model — how to start: open (no key), self-serve, approval. (providers only)'}, 'provenance': {'enum': ['modeled', 'unpublished', 'published', 'documented'], 'type': 'string', 'description': 'modeled: real APIs behind a partner/contract gate whose shape API Evangelist drew (no public reference); unpublished: product areas with NO API behind them (listed for completeness, not counted); published: every real API, modeled included; documented: only entries with neither mark. Omit to list all; every marked row carries `provenance`.'}, 'artifact_types': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'provider', 'name'], 'type': 'string', 'description': 'Order: relevance (catalog order), provider, or name.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'providers': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'provider', 'name'], 'type': 'string', 'description': 'Order: relevance (catalog order), provider, or name.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'providers': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['type'], 'properties': {'q': {'type': 'string'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'type': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'providers': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'provider', 'name'], 'type': 'string', 'description': 'Order: relevance (catalog order), provider, or name.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'version': {'type': 'string', 'description': 'AsyncAPI spec version — the `asyncapi:` declaration, e.g. 2.6.0 or 3.0.0.'}, 'providers': {'type': 'array', 'items': {'type': 'string'}}, 'info_version': {'type': 'string', 'description': "The document's OWN version from info.version, set by whoever wrote the spec. Absent on 70% of them."}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Match against name, BC id or industry.'}, 'all': {'type': 'boolean', 'description': 'Include capabilities with zero catalog coverage (default false).'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'industry': {'type': 'string', 'description': 'e.g. "Banking & Capital Markets", "Software & Technology".'}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'provider', 'name'], 'type': 'string', 'description': 'Order: relevance (catalog order), provider, or name.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'version': {'type': 'string', 'description': 'AsyncAPI spec version the channel is defined in, e.g. 2.6.0 or 3.0.0.'}, 'protocol': {'type': 'string', 'description': 'Transport the channel runs over: ws, http, sse, kafka, mqtt, amqp, nats, grpc… Empty where the document never says, which is most of them.'}, 'providers': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Substring match on cohort name or slug.'}, 'kind': {'enum': ['tag', 'industry', 'region', 'area', 'vc'], 'type': 'string', 'description': 'Restrict to one roster source.'}, 'page': {'type': 'integer'}, 'tier': {'enum': ['report', 'brief', 'data'], 'type': 'string', 'description': 'Promotion tier: report (100+, report-grade), brief (25+), data (everything else).'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'min_providers': {'type': 'integer', 'description': 'Only cohorts with at least this many providers. 25+ is brief-grade, 100+ report-grade.'}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'provider', 'name', 'item_count'], 'type': 'string', 'description': 'Order: relevance / provider / name, or item_count (largest first).'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'providers': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'industry': {'type': 'string'}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'type': 'string'}, 'type': {'enum': ['country', 'country-industry', 'all'], 'type': 'string', 'default': 'country', 'description': 'Which record kind to list. `country` (default) is the dimension itself — the 27 countries the catalog covers; `country-industry` is the crossover pages ("Education & EdTech in China"); `all` is both.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'provider', 'name', 'key_count'], 'type': 'string', 'description': 'Order: relevance / provider / name, or key_count (largest first).'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'providers': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'provider', 'name'], 'type': 'string', 'description': 'Order: relevance (catalog order), provider, or name.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'providers': {'type': 'array', 'items': {'type': 'string'}}, 'billing_model': {'type': 'string', 'description': 'Billing model, e.g. subscription, consumption, prepaid.'}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'provider', 'name'], 'type': 'string', 'description': 'Order: relevance (catalog order), provider, or name.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'providers': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'provider', 'name', 'class_count', 'property_count'], 'type': 'string', 'description': 'Order: relevance / provider / name, or class_count / property_count (largest first).'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'providers': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'provider', 'name'], 'type': 'string', 'description': 'Order: relevance (catalog order), provider, or name.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'providers': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'provider', 'name', 'property_count'], 'type': 'string', 'description': 'Order: relevance / provider / name, or property_count (largest first).'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'providers': {'type': 'array', 'items': {'type': 'string'}}, 'struct_type': {'type': 'string', 'description': 'Root type: object, array, datetime, …'}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'provider', 'name'], 'type': 'string', 'description': 'Order: relevance (catalog order), provider, or name.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'providers': {'type': 'array', 'items': {'type': 'string'}}, 'install_method': {'type': 'string', 'description': 'How the server is delivered: "Hosted endpoint", "GitHub repo", "Documentation link".'}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'provider', 'name'], 'type': 'string', 'description': 'Order: relevance (catalog order), provider, or name.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'providers': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string', 'description': 'Path words, all of which must appear, e.g. "refunds" or "payment intents".'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'method': {'enum': ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS'], 'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'deprecated': {'type': 'boolean', 'description': 'Only operations the provider marked deprecated.'}, 'max_providers': {'type': 'integer', 'description': 'How many matching providers to read (default 40, cap 100).'}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'provider', 'name', 'plan_count'], 'type': 'string', 'description': 'Order: relevance / provider / name, or plan_count (largest first).'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'providers': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'provider', 'name'], 'type': 'string', 'description': 'Order: relevance (catalog order), provider, or name.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'providers': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'area': {'type': 'array', 'items': {'type': 'string'}}, 'band': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Rating bands: exemplar, strong, developing, thin, minimal.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'composite', 'name', 'created', 'modified', 'api_count', 'demand'], 'type': 'string', 'description': 'Order results. Default: relevance with a query, composite (quality) when browsing. `demand` = Fortune-1000 adoption, scoped to the query.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'view': {'enum': ['summary', 'full'], 'type': 'string', 'default': 'summary', 'description': 'summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity).'}, 'facet': {'type': 'string', 'description': 'Quality facet to threshold on: discoverability, contract_quality, governance, operational_transparency, developer_ergonomics, commercial_clarity. Needs min_facet.'}, 'group': {'enum': ['estate'], 'type': 'string', 'description': 'estate = rank each corporate estate ONCE: keep the best-ranked member of each estate root (Cvent, Oracle, Amazon) in the order applied, and nest the other members of that estate found in this result set under it as `estate_members`, with `estate_member_count`. Rows outside any estate are unaffected. meta.query.ungrouped_total is the flat count. Off by default; every row carries `estate` and `estate_root` either way.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'trend': {'type': 'string', 'description': 'up | down | flat — direction of the composite since the previous scoring pass.'}, 'fields': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Return exactly these top-level keys (overrides view).'}, 'public': {'type': 'boolean', 'description': 'Only providers callable publicly with no signup (onboarding=open). (providers only)'}, 'region': {'type': 'array', 'items': {'type': 'string'}}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'country': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Providers whose derived country membership includes these slugs (e.g. united-kingdom). Membership is partial — a count is a floor.'}, 'pricing': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Access model — pricing: free, freemium, free-trial, paid, enterprise. (providers only)'}, 'resolve': {'enum': ['on', 'off'], 'type': 'string', 'default': 'on', 'description': 'When `q` exactly names a tag, apis.io uses it: on PROVIDERS a resource tag (order, webhook, image) replaces the text search with the companies that classify themselves there — 2,182 text matches for "order" become the 92 that claim it; on APIS the tag\'s members are ADDED to the text matches, never swapped for them. Market tags (payments) and tags almost no company claims are reported and not applied. Set `off` for pure text. The resolution is always echoed as `resolved_tag`.'}, 'try_now': {'type': 'boolean', 'description': 'Only providers a developer can start using at no cost right now (free/trial + self-serve/open). (providers only)'}, 'api_tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Providers that publish an API, spec or OPERATION carrying these tags, without claiming it as their business. The complement of `tags`, and disjoint from it.'}, 'industry': {'type': 'array', 'items': {'type': 'string'}}, 'platform': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Providers running on these platform vendors, by registry key or catalog slug (mintlify, readme, gitbook, redocly, apigee, kong, cloudflare, vercel…). "Who are Mintlify\'s customers" = platform=mintlify; "who runs on a competitor" = platform=readme. Each row carries `platforms` with the evidence. Detection covers ~1,240 providers — absent means not detected, not "none".'}, 'max_score': {'type': 'number', 'description': 'Only providers at or below this composite. Pair with min_score for a band-free range.'}, 'min_facet': {'type': 'number', 'description': 'Minimum score on `facet`. Without `facet` this does nothing.'}, 'min_score': {'type': 'number'}, 'providers': {'type': 'array', 'items': {'type': 'string'}}, 'min_acting': {'type': 'integer', 'description': 'Minimum number of acting (non-read) operations. Use to require real write depth rather than a single write endpoint.'}, 'onboarding': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Access model — how to start: open (no key), self-serve, approval. (providers only)'}, 'size_basis': {'type': 'string', 'description': 'Which rung produced the band: sec-edgar | companies-house | wikidata | editorial | derived | inferred | unknown. Ask for the filed ones when you need a defensible number. Understanding plan.'}, 'size_status': {'type': 'string', 'description': 'probed | unprobed. USE size_status=probed when filtering for small companies: without it, "not enterprise" sweeps in every provider we have not looked at yet and counts them as small. Absence of a band is not a measurement. Understanding plan.'}, 'revenue_band': {'type': 'string', 'description': 'Revenue band(s): <$1M | $1-10M | $10-100M | $100M-1B | $1B+. Estimates; filed where size_basis is sec-edgar or companies-house. Understanding plan.'}, 'platform_area': {'type': 'string', 'description': 'Narrow `platform` (or all detected platforms) to one area: documentation, developer-portal, api-gateway, hosting, cdn, status-page, support, identity, mcp-hosting.'}, 'publishes_api': {'type': 'boolean', 'description': 'true = the provider publishes at least one API (api_count > 0), including partner-gated APIs whose shape API Evangelist modeled; false = it publishes none. Product areas marked as not an API (unpublished_api_count) are not counted, so a company whose every entry is one reads false.'}, 'accepts_writes': {'type': 'boolean', 'description': 'true = the provider has operations that ACT (create/update/send), so you can push something to it; false = measured and read-only. Use this when the question is "where can I publish/send/post to" — text search cannot tell direction, and without it a query about syndicating content returns RSS feeds and read-only APIs. Providers with no agentic-access reading are excluded either way: absent is unmeasured, not zero.'}, 'artifact_types': {'type': 'array', 'items': {'type': 'string'}}, 'employees_band': {'type': 'string', 'description': 'Company size band(s), comma-separated: 1-10 | 11-50 | 51-200 | 201-1000 | 1001-5000 | 5000+ | 1000+ (the last is the open-ended band the inferred rung emits when it can tell "big" but not how big). ESTIMATES from free public sources — Wikidata, SEC EDGAR, the provider\'s own About page, our own signals — never a headcount. Understanding plan.'}, 'include_narrower': {'type': 'boolean', 'description': "With `tags`: also return the members of each tag's CURATED narrower tags (the `narrower` list on get_tag — Payments under Fintech), after the tag's own members. Each added row carries `via: <narrower-tag>`. Off by default, and provider_count on the tag stays the tag's own membership; provider_count_with_narrower is this total. On a tag with senses (payments, media, supply-chain), every row is routed into a sense: it carries `sense: <tag>:<id>`, meta.query.senses counts own and added members per sense, and `sense=<tag>:<id>` with include_narrower=true (REST) reads one routed sense."}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'provider', 'name', 'limit_count'], 'type': 'string', 'description': 'Order: relevance / provider / name, or limit_count (largest first).'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'providers': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'properties': {'band': {'type': 'array', 'items': {'type': 'string'}}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['composite', 'delta', 'discoverability', 'contract_quality', 'contract_governance', 'operational_transparency', 'developer_ergonomics', 'access_clarity', 'governance', 'commercial_clarity'], 'type': 'string', 'description': 'Leaderboard order; default composite.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'facet': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'trend': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'max_score': {'type': 'number', 'description': 'Only ratings at or below this composite. Pair with min_score for a range.'}, 'min_facet': {'type': 'number'}, 'min_score': {'type': 'number'}, 'providers': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Restrict to these provider slugs — the ratings of a named set.'}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'type': 'string'}, 'type': {'enum': ['region', 'region-industry', 'all'], 'type': 'string', 'default': 'region', 'description': 'Which record kind to list. `region` (default) is the dimension itself; `region-industry` is the crossover pages; `all` is both.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string'}, 'kind': {'type': 'string'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'scope': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'jurisdiction': {'type': 'string'}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'provider', 'name', 'rule_count'], 'type': 'string', 'description': 'Order: relevance / provider / name, or rule_count (largest first).'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'providers': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'provider', 'name', 'scope_count'], 'type': 'string', 'description': 'Order: relevance / provider / name, or scope_count (largest first).'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'providers': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'provider', 'name', 'scheme_count'], 'type': 'string', 'description': 'Order: relevance / provider / name, or scheme_count (largest first).'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'providers': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'required': ['aid'], 'properties': {'aid': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include_family': {'type': 'boolean', 'description': 'Rank same-owner products in with the rivals (flagged same_estate) instead of listing them in meta.query.family.'}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'provider', 'name'], 'type': 'string', 'description': 'Order: relevance (catalog order), provider, or name.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'providers': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Substring match on group name, slug or member tag.'}, 'page': {'type': 'integer'}, 'basis': {'enum': ['cooccurrence', 'facet'], 'type': 'string', 'description': 'cooccurrence groups are evidence-based; facet groups are a weaker fallback bucket for tags with no co-occurrence edge.'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'exclude': {'type': 'string', 'description': 'Comma-separated: cross_cutting (plumbing every provider has), sparse (a chain label propagation strung together, not a cluster). Use both when drawing a capabilities map.'}, 'min_tags': {'type': 'integer', 'description': 'Only groups holding at least this many tags.'}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'axis': {'type': 'string', 'description': 'market | capability | persona | posture. Comma-separated for more than one.'}, 'band': {'type': 'string', 'description': 'canonical | established | emerging | niche | stale | posture.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['relevance', 'composite', 'name', 'created', 'modified', 'api_count', 'demand'], 'type': 'string', 'description': 'Order results. Default: relevance with a query, composite (quality) when browsing. `demand` = Fortune-1000 adoption, scoped to the query.'}, 'view': {'enum': ['summary', 'full'], 'type': 'string', 'default': 'summary', 'description': 'summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity).'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'fields': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Return exactly these top-level keys (overrides view).'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'min_api_count': {'type': 'integer', 'minimum': 0, 'description': 'Only tags applied to at least this many APIs.'}}}
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'sort': {'enum': ['portfolio_on_network', 'portfolio_total', 'portfolio_rating', 'name'], 'type': 'string'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'category': {'type': 'string', 'description': 'Firm category, e.g. "Venture Capital".'}}}
输入模式
{'type': 'object', 'required': ['providers'], 'properties': {'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'min_share': {'type': 'number', 'description': 'Peer-share threshold for a gap (0–1, default 0.25).'}, 'providers': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Provider slugs (1+). Multiple = treat as a stack.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'artifact': {'enum': ['apis-json', 'agent-card', 'mcp', 'arazzo', 'rules', 'scopes', 'security'], 'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['aid'], 'properties': {'aid': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'include_next': {'type': 'boolean', 'default': True, 'description': 'Set false to omit the `next` affordance block.'}, 'artifact_types': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'required': ['aid'], 'properties': {'aid': {'type': 'string'}, 'type': {'type': 'string', 'description': 'Return only artifacts of this type.'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'view': {'enum': ['summary', 'full'], 'type': 'string', 'default': 'summary', 'description': 'summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity).'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1, 'description': 'Top members to show.'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include_next': {'type': 'boolean', 'default': True, 'description': 'Set false to omit the `next` affordance block.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['capability'], 'properties': {'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'capability': {'type': 'string', 'description': 'Slug or BC id.'}}}
输入模式
{'type': 'object', 'required': ['capability'], 'properties': {'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'capability': {'type': 'string', 'description': 'Slug or BC id.'}}}
输入模式
{'type': 'object', 'required': ['kind', 'slug'], 'properties': {'kind': {'enum': ['tag', 'industry', 'region', 'area', 'vc'], 'type': 'string'}, 'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'view': {'enum': ['summary', 'full'], 'type': 'string', 'default': 'summary', 'description': 'summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity).'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1, 'description': 'Top members to show.'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include_next': {'type': 'boolean', 'default': True, 'description': 'Set false to omit the `next` affordance block.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include_next': {'type': 'boolean', 'default': True, 'description': 'Set false to omit the `next` affordance block.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'view': {'enum': ['summary', 'full'], 'type': 'string', 'default': 'summary', 'description': 'summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity).'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include_next': {'type': 'boolean', 'default': True, 'description': 'Set false to omit the `next` affordance block.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'view': {'enum': ['summary', 'full'], 'type': 'string', 'default': 'summary', 'description': 'summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity).'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1, 'description': 'Top members to show.'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include_next': {'type': 'boolean', 'default': True, 'description': 'Set false to omit the `next` affordance block.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['aid'], 'properties': {'aid': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}}}
输入模式
{'type': 'object', 'properties': {'tag': {'type': 'string', 'description': 'Filter by subject tag, e.g. weather, books, energy.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 50, 'minimum': 1}, 'access': {'enum': ['no-key', 'instant-key'], 'description': 'no-key = callable right now; instant-key = free self-serve key.'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'grouping': {'enum': ['starter', 'deep-archive'], 'description': 'starter (default) is the good-first-experience set.'}}}
输入模式
{'type': 'object', 'properties': {'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'view': {'enum': ['summary', 'full'], 'type': 'string', 'default': 'summary', 'description': 'summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity).'}, 'fields': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Return exactly these top-level keys (slug and name always included); overrides view.'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include_next': {'type': 'boolean', 'default': True, 'description': 'Set false to omit the `next` affordance block.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'slug': {'type': 'string'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'fields': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Return exactly these top-level keys (overrides view).'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['content']}}, 'artifact_types': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'type': {'type': 'string', 'description': 'Return only artifacts of this type (synonym-aware: MCP matches MCPServer).'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'q': {'type': 'string', 'description': 'Substring match on summary, path, or operationId.'}, 'api': {'type': 'string', 'description': 'Restrict to one API, by aid or api slug.'}, 'page': {'type': 'integer'}, 'path': {'type': 'string', 'description': 'Substring match on the operation path.'}, 'slug': {'type': 'string'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'method': {'enum': ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS'], 'type': 'string', 'description': 'Restrict to one HTTP method.'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'consequence': {'type': 'string', 'description': 'Agentic consequence, e.g. "read". Only matches operations with agentic-access profiled.'}, 'action_class': {'type': 'string', 'description': 'Agentic action class, e.g. "connected".'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'q': {'type': 'string', 'description': 'Substring match on schema name or slug.'}, 'page': {'type': 'integer'}, 'slug': {'type': 'string'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'page': {'type': 'integer'}, 'slug': {'type': 'string'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'provenance': {'enum': ['first-party', 'derived'], 'type': 'string', 'description': 'Restrict by who authored the tool list.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'properties': {'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'view': {'enum': ['summary', 'full'], 'type': 'string', 'default': 'summary', 'description': 'summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity).'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1, 'description': 'Top members to show.'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include_next': {'type': 'boolean', 'default': True, 'description': 'Set false to omit the `next` affordance block.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'view': {'enum': ['summary', 'full'], 'type': 'string', 'default': 'summary', 'description': 'summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity).'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1, 'description': 'Top members to show per list.'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include_next': {'type': 'boolean', 'default': True, 'description': 'Set false to omit the `next` affordance block.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'area': {'type': 'string', 'description': 'Narrow the roster to one or more area slugs (comma-separated).'}, 'slug': {'type': 'string', 'description': 'Tag group slug, e.g. cards, logistics, wealth-management.'}, 'region': {'type': 'string', 'description': 'Narrow the roster to one or more region slugs (comma-separated).'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'country': {'type': 'string', 'description': 'Narrow the roster to one or more country slugs (comma-separated).'}, 'industry': {'type': 'string', 'description': 'Narrow the roster to one or more industry slugs (comma-separated).'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'view': {'enum': ['summary', 'full'], 'type': 'string', 'default': 'summary', 'description': 'summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity).'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'min_share': {'type': 'number', 'description': 'Coverage threshold below which a type counts as an industry gap (0–1, default 0.5).'}}}
输入模式
{'type': 'object', 'properties': {'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'type': {'enum': ['service', 'tool', 'standard'], 'type': 'string', 'default': 'service'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'properties': {'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'properties': {'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'properties': {'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'properties': {'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'properties': {'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'properties': {'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'properties': {'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'properties': {'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['capabilities'], 'properties': {'region': {'type': 'string', 'description': 'Optional region slug to prefer, e.g. europe.'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'capabilities': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The capabilities the stack needs, e.g. ["payments","email","identity","observability"].'}}}
输入模式
{'type': 'object', 'required': ['card_url'], 'properties': {'contact': {'type': 'string', 'description': 'Optional: an email for questions about the registration.'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'card_url': {'type': 'string', 'description': 'Your agent card URL, or the host that serves it.'}, 'operator': {'type': 'string', 'description': 'Optional: who runs the agent.'}}}
输入模式
{'type': 'object', 'required': ['slug', 'wrong'], 'properties': {'slug': {'type': 'string', 'description': 'The provider slug the record is filed under.'}, 'field': {'type': 'string', 'description': 'Optional field name: website, image, api_count, tags, score, access_model, apis.'}, 'wrong': {'type': 'string', 'description': 'What is incorrect. Name the field if you can.'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'correct': {'type': 'string', 'description': 'What it should say instead.'}, 'evidence': {'type': 'string', 'description': 'A URL that shows it — your own docs, your own site. This is what makes a correction actionable rather than a claim.'}, 'relationship': {'enum': ['provider', 'customer', 'observer'], 'type': 'string', 'description': 'Your relationship to the provider. Never gates the report; it sets priority.'}}}
输入模式
{'type': 'object', 'required': ['looked_for'], 'properties': {'found': {'enum': ['nothing', 'wrong thing', 'listed but unusable'], 'type': 'string'}, 'contact': {'type': 'string', 'description': 'Optional email if you want to hear when the catalog can answer this.'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'provider': {'type': 'string', 'description': 'Optional slug, when the gap is about an existing listing.'}, 'looked_for': {'type': 'string', 'description': 'What you were looking for, in your own words.'}, 'needed_for': {'type': 'string', 'description': 'Optional: the task you needed it for.'}}}
输入模式
{'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'The company or developer-portal URL — use this when there is no listing yet. Providers only; a url cannot name an industry.'}, 'kind': {'enum': ['recheck', 'profile', 'correction'], 'type': 'string', 'description': 'recheck an existing listing, profile a new company, or correct a specific fact.'}, 'slug': {'type': 'string', 'description': 'The target slug — a provider (e.g. stripe), or an industry/tag/area/estate slug when target_type says so.'}, 'notes': {'type': 'string', 'description': 'What is wrong, or what to look at. The more specific, the faster it is worked.'}, 'contact': {'type': 'string', 'description': 'Email to notify when the status changes. Optional; without it there is nothing to notify, so keep the id.'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'target_type': {'enum': ['provider', 'industry', 'tag', 'area', 'estate'], 'type': 'string', 'description': 'What `slug` names. Defaults to provider. `estate` is named for the company the estate roots at (e.g. cisco).'}}}
输入模式
{'type': 'object', 'required': ['identifier'], 'properties': {'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'identifier': {'type': 'string', 'description': 'A domain, URL, or github.com/<org>.'}}}
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['name'], 'properties': {'q': {'type': 'string', 'description': 'Free text over name + description.'}, 'area': {'type': 'array', 'items': {'type': 'string'}}, 'band': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Rating bands: exemplar, strong, developing, thin, minimal.'}, 'name': {'type': 'string'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it.'}, 'match': {'enum': ['any', 'all'], 'type': 'string', 'default': 'any'}, 'region': {'type': 'array', 'items': {'type': 'string'}}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'industry': {'type': 'array', 'items': {'type': 'string'}}, 'min_score': {'type': 'number'}, 'artifact_types': {'type': 'array', 'items': {'type': 'string'}}}}
输入模式
{'type': 'object', 'required': ['slug', 'visibility'], 'properties': {'slug': {'type': 'string'}, 'reason': {'type': 'string'}, 'contact': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'visibility': {'enum': ['restricted', 'delisted'], 'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['slug', 'fixes'], 'properties': {'slug': {'type': 'string'}, 'fixes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Agent-readiness dimension ids to assume fixed, e.g. ["idempotency","mcp_server"]. what_can_i_fix lists the available ones.'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'properties': {'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'include': {'type': 'array', 'items': {'enum': ['raw']}}}}
输入模式
{'type': 'object', 'required': ['slug', 'type', 'url'], 'properties': {'url': {'type': 'string'}, 'slug': {'type': 'string'}, 'type': {'type': 'string', 'description': 'e.g. OpenAPI, AsyncAPI, MCP.'}, 'contact': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['problem'], 'properties': {'tool': {'type': 'string', 'description': 'Optional name of the tool that produced it.'}, 'about': {'type': 'string', 'description': 'Optional slug, aid or tag the report concerns.'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'problem': {'type': 'string', 'description': 'What was wrong. Be specific — the tool you called, the arguments, and what came back.'}, 'expected': {'type': 'string', 'description': 'What you expected instead.'}, 'severity': {'enum': ['wrong', 'misleading', 'unhelpful'], 'type': 'string', 'description': 'wrong = factually incorrect; misleading = correct but reads as something else; unhelpful = right and useless.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'page': {'type': 'integer'}, 'slug': {'type': 'string'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'band': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Rating bands: exemplar, strong, developing, thin, minimal.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'slug': {'type': 'string'}, 'sort': {'enum': ['score', 'api_count', 'name'], 'type': 'string'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'min_score': {'type': 'number'}, 'in_network': {'type': 'boolean'}, 'is_provider': {'type': 'boolean', 'description': 'Only portfolio companies with a provider profile on the network. Nearly every row qualifies (a profile is created for each portfolio company), so this barely narrows anything — use publishes_api instead.'}, 'publishes_api': {'type': 'boolean', 'description': 'Only portfolio companies that publish an API indexed on the network — the real rate is about 37% of a book, not 100%. This is the filter you want for "how much of this fund ships an API".'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'events': {'type': 'array', 'items': {'type': 'string'}, 'description': 'score, band, agent_band, check. Defaults to all four.'}, 'contact': {'type': 'string', 'description': 'Email address for notifications.'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}, 'callback_url': {'type': 'string', 'description': 'HTTPS endpoint for signed webhook delivery.'}}}
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
输入模式
{'type': 'object', 'required': ['since'], 'properties': {'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'since': {'type': 'string', 'description': 'YYYY-MM-DD.'}, 'context': {'type': 'string', 'description': 'Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.'}}}
近期工具变更
类似的 MCP 服务器
Tools for Agents
Provides web research and extraction workflows, crawling, browser automation, PDF and book OCR, text processing, embeddings, and …
canton-ccpedia
Searches and explains Canton Network and Daml documentation, governance proposals, forums, code examples, APIs, releases, and eco…
webbersites-x402-data-api
Provides pay-per-call utilities for web scraping, SEO and accessibility audits, document extraction, DNS and email checks, crypto…
api-evangelist
Provides API governance analysis, OpenAPI overlays and version diffs, security-sensitive field classification, code samples, matu…
arch-tools-mcp
Provides general-purpose agent APIs for browser automation, web and PDF extraction, data conversion, email operations, fact check…
Agent Margin Router
Provides pay-per-call tools for blockchain balances, contracts, prices, gas, domains, web extraction, package intelligence, news,…
1cent Web Intelligence for AI Agents
Performs SSRF-safe public web inspection, URL extraction, metadata and content analysis, accessibility checks, feed and sitemap d…
NanoTools
Offers utility APIs alongside web search, scraping, browser rendering, screenshots, SERP data, and SEO audits.