Agentropolis
Server Details
Search 41k+ MCP servers, x402/MPP paid APIs and A2A agents, ranked by wash-filtered on-chain usage.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 10 tools
Each tool targets a distinct purpose: search, category listing, market stats, source provenance, trust methodology, platform roadmap, listing detail, manifest retrieval, relay invocation, and Bazaar link-out. The only near overlap is get_kit vs get_kit_manifest vs call_kit, but their descriptions explicitly differentiate human-readable detail, machine-readable contract, and actual invocation.
Tool names consistently use snake_case verb_noun or verb_noun_phrase patterns: call_kit, get_*, list_*, search_kits. The verbs are standard and predictable across the set.
Ten tools is well-scoped for an agent-facing discovery and invocation server. Each tool covers a distinct part of the workflow without obvious redundancy.
The set covers the core agent workflow: search, inspect, retrieve manifest, call via relay, and consult market/trust/source metadata. Minor gaps remain, such as no seller-side claim or submission tools and no explicit bulk/paginated listing retrieval, but agents can work around these.
Available Tools
10 toolscall_kitCall an x402 listing through the non-custodial pass-throughAInspect
Send a request to a listing's x402 endpoint through Agentropolis and get the seller's raw response back (status, headers, body). Use it only for listings whose search result has buy='relay_x402' (links.call present); for any other listing, call the seller directly using get_kit_manifest. Flow: call without payment, receive HTTP 402 with the seller's payment requirements unchanged, sign a payment with your own wallet to the seller's payTo, then call again with payment_signature (x402 v2) or x_payment (v1). Agentropolis holds no keys or funds, never changes payTo or amount and charges no fee, but a signed payment you pass is forwarded and may be settled by the seller, so real money can move. Limits: seller's own https host only, 256 KB request, 2 MB response, 25 s timeout (longer for slow first-party kits), 20 calls/min per client. Example: {"id":"seenly.seenly-token-preflight","endpoint":"/api/token-preflight","method":"POST","body":{"chain":"base","tokenAddress":"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed"}}.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Listing id exactly as returned by search_kits results[].id, e.g. 'seenly.seenly-token-preflight' or 'mcp.io-github-owner-name'. | |
| body | No | Request body. An object is sent as JSON; a string is sent as-is with content_type. | |
| query | No | Query-string parameters to append, e.g. {"q":"news"}. | |
| method | No | HTTP method; defaults to POST when a body is given, else GET. | |
| endpoint | No | Path (e.g. '/api/script') or full https URL on the seller's own host. Defaults to the listing's primary endpoint. | |
| x_payment | No | Signed X-PAYMENT header value (x402 v1) from your own wallet; forwarded unchanged. Omit on the first call. | |
| content_type | No | Content-Type for a string body, e.g. 'text/plain'. Ignored for object bodies (sent as application/json). | |
| payment_signature | No | Signed PAYMENT-SIGNATURE header value (x402 v2) from your own wallet; forwarded unchanged. Omit on the first call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: states Agentropolis holds no keys or funds, never changes payTo/amount, charges no fee, yet warns 'real money can move' because a signed payment is forwarded and may be settled. Adds concrete limits (https host only, 256 KB request, 2 MB response, 25 s timeout, 20 calls/min) that annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Longer than typical but front-loaded and organized into purpose, gating condition, flow, limits, and example. Given the multi-step payment protocol and 8 parameters, the length is largely justified, though the limits and example could be trimmed slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-complexity, non-idempotent, open-world relay tool with no output schema, the description closes the key gaps: it describes the returned payload (status, headers, body), the full auth/payment sequence, and hard limits. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds protocol-level semantics the schema lacks: the first call is made without payment to elicit the 402, and payment_signature (x402 v2) vs x_payment (v1) are the second-call credentials. The worked example also anchors id/endpoint/method/body usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Send a request to a listing's x402 endpoint ... get the seller's raw response back') and immediately scopes it against siblings by requiring buy='relay_x402' and routing other listings to get_kit_manifest. An agent can distinguish it from get_kit/get_kit_manifest without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use ('only for listings whose search result has buy="relay_x402"') and when-not ('for any other listing, call the seller directly using get_kit_manifest'), naming the alternative tool. The two-step 402 flow and payment prerequisites are spelled out rather than left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bazaar_linkGet a search link for Coinbase's x402 BazaarARead-onlyIdempotentInspect
Build a URL that searches Coinbase's x402 Bazaar (Agentic.Market) for a query. Use it when you want x402 services that may be missing from the Agentropolis index; it only returns a link for you or your user to open. Agentropolis makes no request to Coinbase and does not cache or republish Bazaar data (their terms forbid it). Read-only. Example: {"q":"web search"}.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search words to prefill on Agentic.Market, e.g. 'image generation'. Omit for the home page. |
Output Schema
| Name | Required | Description |
|---|---|---|
| links | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnlyHint annotation: it discloses that Agentropolis makes no request to Coinbase, does not cache or republish Bazaar data, and that the tool only returns a link the user must open themselves. These are material behavioral facts an agent could not infer from the schema or annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose and then the when-to-use condition, with no wasted preamble. 'Read-only' is mildly redundant with readOnlyHint=true, and the parentheticals add length, but each sentence carries useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no elaboration, and the description still notes the return is a link. For a single-parameter, side-effect-free tool, nothing needed for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so the baseline is 3, but the description adds a concrete invocation example ({'q':'web search'}) that shows the argument shape in practice. It does not restate the maxLength or omit-for-home-page rule, which the schema already covers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Build a URL that searches Coinbase's x402 Bazaar'), and clarifies it produces a link rather than performing a search. It also implicitly differentiates from siblings like search_kits by naming the Agentropolis index as the contrasting source.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use it ('when you want x402 services that may be missing from the Agentropolis index') and what the result is for ('for you or your user to open'). It lacks an explicit when-not or a named alternative sibling, but the condition is clear enough to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_kitGet one listing's details, trust evidence and priceARead-onlyIdempotentInspect
Get the full Agentropolis record for one listing by id: summary, pricing, payment-verified trust evidence (verified buyers, settlements, wash flags, disclosed test sales), badge tiers, sources and links. Use it after search_kits to judge whether a listing is worth using; use get_kit_manifest instead when you need the machine-readable invoke contract (endpoints, schemas, payment offers). Read-only, no auth; logs an anonymous detail view for seller analytics. Unknown ids return an error result with error 'not_found'. Example: {"id":"seenly.seenly-token-preflight"}.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Listing id exactly as returned by search_kits results[].id, e.g. 'seenly.seenly-token-preflight' or 'mcp.io-github-owner-name'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| kind | Yes | |
| name | Yes | |
| tiers | No | Badge tiers: earned (Verified, Live-Tested, Trusted) and paid/showcase (Agentropolis Pro) |
| trust | No | Payment-verified trust; score null = no evidence |
| badges | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), but the description adds genuine non-obvious behavior: an anonymous detail view is logged for seller analytics, and unknown ids return an error result with error 'not_found'. Those are traits the annotations cannot express, though it stops short of describing the response payload structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then usage guidance and routing. Every sentence carries load — returns, routing, side effect, error behavior, example. Slightly dense but no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema is declared, so return-value structure need not be repeated; the description instead covers the behavioral edges an agent needs: read-only/no-auth, analytics side effect, not_found semantics, and sibling routing. Complete for a single-param read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description goes beyond the schema by stating that unknown ids produce a 'not_found' error result and by supplying a concrete example id, which helps an agent construct valid calls rather than just understand the type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get the full Agentropolis record for one listing by id') and enumerates the returns (summary, pricing, trust evidence, badge tiers, sources, links). It also explicitly names the sibling it is not — get_kit_manifest — so an agent can route between the two without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit workflow trigger ('Use it after search_kits to judge whether a listing is worth using') and an explicit exclusion with the alternative ('use get_kit_manifest instead when you need the machine-readable invoke contract'). Both the when and the when-not are covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_kit_manifestGet one listing's kit.json invoke contractARead-onlyIdempotentInspect
Get the kit.json v0.1 manifest for one listing: how to call it (HTTP, MCP or A2A endpoints), input/output schema references, payment offers (rail, network, asset, payTo, amount), discovery files and a trust summary. Use it when you are about to call a listing yourself; use get_kit for human-readable details and trust evidence, or call_kit to call an x402 listing through Agentropolis. Read-only, no auth. For seller-published kits this mirrors the seller's own kit.json; for seeded listings it is generated from public metadata and may be incomplete, so prefer the seller's live 402 challenge for exact prices. Example: {"id":"seenly.seenly-pitch-kit"}.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Listing id exactly as returned by search_kits results[].id, e.g. 'seenly.seenly-token-preflight' or 'mcp.io-github-owner-name'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| kit | Yes | Manifest version, '0.1' |
| invoke | No | |
| offers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered; the description still adds value by stating 'no auth' and, more importantly, the provenance caveat that seeded listings are generated from public metadata and may be incomplete, with a pointer to the seller's live 402 challenge for exact prices. It stops short of rate limits or error behavior, but the data-reliability warning is a meaningful disclosure beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and contents are front-loaded, then usage routing, then the provenance caveat, then an example. Every sentence carries information, though the enumeration of manifest fields and the trailing example add mild length for a one-parameter read.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description covers purpose, alternatives, auth, and a reliability caveat for seeded listings. The only minor gap is the absence of any guidance on failure modes (e.g., unknown or malformed listing id), which for a single-required-param lookup would be the last useful addition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'id' parameter is fully documented with format guidance and examples. The description's example ({'id':'seenly.seenly-pitch-kit'}) merely restates what the schema already conveys, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get the kit.json v0.1 manifest for one listing') and enumerates the payload contents (endpoints, schema refs, payment offers, discovery files, trust summary). It explicitly differentiates itself from the sibling tools get_kit and call_kit, so an agent can route without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit when-to-use ('when you are about to call a listing yourself') and names two alternatives with their selecting conditions: get_kit for human-readable details and trust evidence, call_kit for invoking an x402 listing. No inference required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_snapshotGet wash-filtered x402 paid-usage stats by categoryARead-onlyIdempotentInspect
Get 30-day x402 paid-usage statistics per category, with wash trading filtered out: services with paid usage, verified buyers, settlements, median listed price and listings excluded for wash signals. Use it for market sizing or price benchmarking; to find individual tools use search_kits. Read-only, no parameters. Data: x402-list.com measured settlements (CC BY 4.0, attribute when quoting) plus Agentropolis wash filtering. Buyer counts are summed per service, so a wallet that pays several services is counted once per service. Same data as /stats and the weekly reports at /reports.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | Yes | |
| caveat | Yes | |
| report | Yes | |
| attribution | Yes | |
| generated_at | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (read-only, idempotent, non-destructive), yet the description adds genuinely non-obvious behavioral context: wash signals are filtered out of the numbers, buyer counts are summed per service so a multi-service wallet is counted repeatedly, and the data is CC BY 4.0 requiring attribution. These are interpretive caveats an agent could not derive from the annotations or empty schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and intended use, and most sentences carry distinct information (provenance, licensing, aggregation quirk, cross-references). It is a dense single block, and 'Read-only, no parameters' partially restates the annotations and schema, so it is efficient but not flawless.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. The description supplies everything else an agent needs: what is measured, what is excluded, the source and its license, an important counting caveat, and pointers to equivalent artifacts (/stats, /reports).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. The description reinforces this ('Read-only, no parameters'), which is consistent with the empty schema but adds no further parameter detail to give.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (get 30-day x402 paid-usage statistics per category) and adds a scope qualifier (wash trading filtered out) that defines the dataset precisely. It also explicitly contrasts itself with search_kits for individual tools, so an agent can distinguish it from siblings without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete intended uses ('market sizing or price benchmarking') and names the alternative tool plus the condition that selects it ('to find individual tools use search_kits'). No inference is required to pick between this and its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_roadmapList Agentropolis features and their statusARead-onlyIdempotentInspect
List Agentropolis platform features with status (live, partial, stub, planned), endpoint and guardrails: badges, the x402 relay, seller claims and analytics, sponsored placement, market data, billing. Use it to check whether a platform capability exists before relying on it; it describes Agentropolis itself, not listings. Read-only, no parameters. Stub endpoints answer HTTP 501; payments_enabled shows whether Agentropolis charges for anything (currently false).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| payments_enabled | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe-read profile, yet the description adds real operational context: stub endpoints return HTTP 501, payments_enabled currently reflects whether the platform charges (false today), and the status taxonomy. This is behavior an agent cannot get from the annotations or an empty parameter schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose and the status vocabulary before the usage guidance, and every sentence carries information. The mid-sentence enumeration of covered areas (badges, x402 relay, billing) is slightly list-heavy but earns its place as feature coverage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description supplies the remaining context an agent needs: it's parameterless, read-only, non-listing, and how to interpret stub states and payments_enabled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so the 4 baseline applies. The description reinforces this with 'Read-only, no parameters,' which is a useful confirmation despite adding no new semantics beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (list) and resource (Agentropolis platform features) with the enumerated status vocabulary (live, partial, stub, planned), and explicitly bounds the scope: 'it describes Agentropolis itself, not listings.' This distinguishes it cleanly from siblings like get_market_snapshot, list_categories, or search_kits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger ('check whether a platform capability exists before relying on it') and an explicit exclusion ('describes Agentropolis itself, not listings'), which is exactly the disambiguation an agent needs against the listing/market siblings. No inference required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trust_methodExplain how trust scores and ranking workARead-onlyIdempotentInspect
Explain how Agentropolis computes trust scores (method hub-trust-v0.1) and ranks search results: which payment evidence counts, wash-trading exclusions, low-sample caps, why our own test purchases never count, and what a null score means. Use it to interpret the trust and badge fields from search_kits or get_kit; it returns the method, not any listing's score. Read-only, no parameters.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| score | Yes | |
| method | Yes | |
| ranking | Yes | |
| exclusions | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, closed world), and the description's 'Read-only, no parameters' largely restates them. However, it adds real behavioral substance by enumerating what the explanation covers — payment evidence rules, wash-trading exclusions, low-sample caps, exclusion of the operator's own test purchases, and null-score semantics — which sets accurate expectations for the content returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then the usage clause, then the disambiguation, then the read-only note. The opening sentence is a dense run-on carrying a long list of covered topics, but every clause earns its place and nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't describe return values, and it doesn't. For a zero-parameter, read-only explainer whose annotations cover safety, the description supplies everything needed: what it explains, what it is not, and how to consume the result alongside sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so the baseline is 4 per the rubric. The description correctly reinforces 'no parameters,' and the empty schema is fully consistent with that, leaving nothing ambiguous to specify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (explain) and resource (how trust scores are computed and results ranked), names the method version hub-trust-v0.1, and explicitly distinguishes itself from get_kit/search_kits by declaring it returns the method, not any listing's score. An agent can separate it from every sibling without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use it: to interpret the trust and badge fields coming out of search_kits or get_kit. It also states the exclusion ('not any listing's score'), which prevents misuse as a lookup for a specific kit's score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesList index categories with listing countsARead-onlyIdempotentInspect
List every category in the Agentropolis index with its listing count, largest first (about 18 snake_case ids such as web_search, crypto_onchain_data, llm_inference). Use it to pick a valid value for search_kits' category filter or to see what the index covers; for paid-usage numbers per category use get_market_snapshot. Read-only, no parameters. Category pages with prices and verified buyers: /categories.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| categories | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive, but the description adds ordering ('largest first'), the approximate cardinality (~18) and the id format (snake_case), which help the agent shape expectations. It stops short of describing pagination or exact return shape, though the output schema covers that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core operation, then usage, then a pointer to a sibling and a human-facing URL. Dense and largely efficient, though the trailing '/categories' URL adds little for an agent caller.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return values, and it doesn't. It covers purpose, sorted order, cardinality, and sibling routing; a minor gap is it never states whether the result is truncated or complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so baseline is 4. The description reinforces this with 'no parameters' and spends its space instead on the values the caller will receive, which is exactly the right emphasis for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (list every category in the Agentropolis index) plus the key output attribute (listing count, sorted largest first). It also gives concrete examples of the category ids, so an agent knows exactly what it gets back without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names two use cases (valid values for search_kits' category filter, seeing index coverage) and routes the agent elsewhere for a different need (get_market_snapshot for paid-usage numbers). Alternatives and conditions are stated, not implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sourcesList data sources, licenses and exclusionsARead-onlyIdempotentInspect
List the registries and directories Agentropolis ingests or deliberately excludes, with each source's license or terms decision, robots handling and listing count (e.g. Official MCP Registry CC0, x402-list.com CC BY 4.0; Coinbase Bazaar link-out only). Use it to check provenance or the attribution required before citing results; it does not search listings (use search_kits). Read-only, no parameters.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | |
| sources | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world and non-destructive, so the safety profile is covered. The description adds substantive context beyond that: that it surfaces licensing/terms decisions and robots handling, and that it takes no parameters. It stops short of describing pagination or result ordering, but for a static reference listing that is a minor omission.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource and scope, followed by a purpose clause and an explicit boundary against search_kits. The parenthetical examples (Official MCP Registry CC0, Coinbase Bazaar link-out only) are dense but concretely clarify the shape of the license decisions, so they earn their space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value documentation is not required, yet the description still signals what kinds of facts each entry carries. With annotations covering the safety profile and usage/exclusions covered in prose, an agent has everything needed to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case. The description reinforces this with 'no parameters,' so there is no ambiguity for the caller, though there is nothing further to specify semantically.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (List) and concrete resource (registries/directories ingested or excluded), plus the per-source detail returned (license/terms decision, robots handling, listing count). It explicitly separates itself from the sibling search tool, so an agent can route correctly without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States the positive use case ('check provenance or the attribution required before citing results') and the exclusion ('it does not search listings (use search_kits)'), naming the alternative tool. Nothing about when to reach for it is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_kitsSearch tools, paid APIs and MCP servers by taskARead-onlyIdempotentInspect
Search the Agentropolis index of 48,190 agent-usable listings (MCP servers, x402/MPP pay-per-call HTTP APIs, A2A agents and kits) by task keywords, with optional filters. Use it first when you need a tool for a task; then use get_kit for one listing's trust evidence and price, or get_kit_manifest for how to call it. Not for browsing categories (list_categories) or market totals (get_market_snapshot). Read-only, no auth, never pays. Ranking: BM25 text relevance, boosted by payment-verified trust and the earned Live-Tested badge; trust.score null means no payment evidence (not a negative signal). results[] is organic; featured[] is a separate, labelled Agentropolis Pro row (today only our own first-party kits, no fee paid) and sponsored[] is always empty. Listed prices are hints; the seller's live HTTP 402 challenge is authoritative. Each search is logged anonymously (query text, no raw IP). Example: {"q":"web search","rail":"x402","max_price_usd":0.01,"min_trust":40}.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | What the agent needs, in plain words: 'web search', 'transcribe audio with speakers', 'postgres', 'token honeypot check'. Keywords beat full sentences. | |
| kind | No | Restrict to one listing type: kit (packaged task API), http_api (pay-per-call HTTP API), mcp_server, a2a_agent. Omit for all. | |
| rail | No | Only listings that accept this payment rail: x402 (USDC on-chain, per call) or mpp (Machine Payments Protocol). | |
| limit | No | Number of organic results to return, 1-25 (default 10). | |
| category | No | Category id from list_categories, e.g. 'web_search' or 'crypto_onchain_data'. Comma-separate to allow several. | |
| min_trust | No | Only listings with a payment-verified trust score of at least this value (0-100). Excludes listings with no payment evidence. | |
| paid_only | No | true = only listings that accept a payment rail (x402 or MPP). | |
| max_price_usd | No | Only listings whose lowest listed price per call/unit is at most this many US dollars, e.g. 0.01. Listings without a known price are excluded when set. |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | Yes | Organic matches before limit |
| ranking | Yes | How results were ranked |
| results | Yes | Organic results: id, name, kind, summary, pricing, trust, badges, tiers, invoke, links (page, kit_manifest, call when relayable, go), buy (relay_x402 or link_out) |
| featured | Yes | Labelled Agentropolis Pro row, separate from organic results |
| search_id | No | Anonymous id for this search |
| sponsored | Yes | Always empty today |
| featured_label | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly/idempotent/non-destructive), it discloses no-auth, never-pays, anonymous query logging, BM25 ranking boosted by payment-verified trust and Live-Tested badges, the meaning of trust.score null, the results/featured/sponsored array structure, and that listed prices are hints while the seller's 402 challenge is authoritative. This is unusually rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose and routing guidance, and nearly every sentence carries non-redundant information (safety, ranking, result-array shape, price caveat, logging, example). It is on the long side and the featured/sponsored sentence is somewhat dense, but the length is justified by the number of behaviors disclosed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a discovery endpoint, the description covers query intent, filters, ranking, result partitions, trust semantics, price caveats and privacy logging. An output schema exists, yet the description still gives the agent enough to interpret and act on results without gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the description still adds meaning beyond the schema, e.g. that trust.score null means no payment evidence (not negative) and that listed prices are hints vs the live HTTP 402 challenge, plus a worked query example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Search) and resource (the Agentropolis index of 48,190 agent-usable listings), enumerating what is indexed (MCP servers, x402/MPP APIs, A2A agents, kits). It explicitly differentiates itself from siblings like get_kit, get_kit_manifest, list_categories and get_market_snapshot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit ordering guidance ('Use it first when you need a tool for a task; then use get_kit ... or get_kit_manifest') and names when-not-to-use it ('Not for browsing categories (list_categories) or market totals (get_market_snapshot)'). Alternatives and their selecting conditions are spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
14 tool updates
- Removed
bazaar_link - Changed
call_kit9 fields changed- changed
Input schema / properties / body / descriptionPrevious value: -"Request body (object is sent as JSON)"New value: +"Request body. An object is sent as JSON; a string is sent as-is with content_type." - added
Input schema / properties / content_type / descriptionAdded value: +"Content-Type for a string body, e.g. 'text/plain'. Ignored for object bodies (sent as application/json)." - changed
Input schema / properties / endpoint / descriptionPrevious value: -"Path or full https URL on the seller's own host; defaults to the listing's primary endpoint"New value: +"Path (e.g. '/api/script') or full https URL on the seller's own host. Defaults to the listing's primary endpoint." - changed
Input schema / properties / id / descriptionPrevious value: -"Listing id from search_kits"New value: +"Listing id exactly as returned by search_kits results[].id, e.g. 'seenly.seenly-token-preflight' or 'mcp.io-github-owner-name'." - added
Input schema / properties / id / minLengthAdded value: +3 - added
Input schema / properties / method / descriptionAdded value: +"HTTP method; defaults to POST when a body is given, else GET." - changed
Input schema / properties / payment_signature / descriptionPrevious value: -"Signed PAYMENT-SIGNATURE header value (x402 v2), forwarded unchanged"New value: +"Signed PAYMENT-SIGNATURE header value (x402 v2) from your own wallet; forwarded unchanged. Omit on the first call." - added
Input schema / properties / query / descriptionAdded value: +"Query-string parameters to append, e.g. {\"q\":\"news\"}." - changed
Input schema / properties / x_payment / descriptionPrevious value: -"Signed X-PAYMENT header value (x402 v1), forwarded unchanged"New value: +"Signed X-PAYMENT header value (x402 v1) from your own wallet; forwarded unchanged. Omit on the first call."
- Added
get_bazaar_link - Changed
get_kit3 fields changed- added
Input schema / properties / id / descriptionAdded value: +"Listing id exactly as returned by search_kits results[].id, e.g. 'seenly.seenly-token-preflight' or 'mcp.io-github-owner-name'." - added
Input schema / properties / id / minLengthAdded value: +3 - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": {}, + "properties": { + "badges": { + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tiers": { + "description": "Badge tiers: earned (Verified, Live-Tested, Trusted) and paid/showcase (Agentropolis Pro)" + }, + "trust": { + "description": "Payment-verified trust; score null = no evidence" + } + }, + "required": [ + "id", + "name", + "kind", + "badges" + ], + "type": "object" +}
- Changed
get_kit_manifest3 fields changed- added
Input schema / properties / id / descriptionAdded value: +"Listing id exactly as returned by search_kits results[].id, e.g. 'seenly.seenly-token-preflight' or 'mcp.io-github-owner-name'." - added
Input schema / properties / id / minLengthAdded value: +3 - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": {}, + "properties": { + "id": { + "type": "string" + }, + "invoke": { + "items": {}, + "type": "array" + }, + "kit": { + "description": "Manifest version, '0.1'", + "type": "string" + }, + "offers": { + "items": {}, + "type": "array" + } + }, + "required": [ + "kit", + "id" + ], + "type": "object" +}
- Added
get_market_snapshot - Added
get_roadmap - Added
get_trust_method - Changed
list_categories1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": {}, + "properties": { + "categories": { + "items": { + "additionalProperties": {}, + "properties": { + "category": { + "type": "string" + }, + "count": { + "type": "number" + } + }, + "required": [ + "category", + "count" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "categories" + ], + "type": "object" +}
- Changed
list_sources1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": {}, + "properties": { + "meta": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "sources": { + "items": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "meta", + "sources" + ], + "type": "object" +}
- Removed
market_snapshot - Removed
roadmap - Changed
search_kits12 fields changed- added
Input schema / properties / category / descriptionAdded value: +"Category id from list_categories, e.g. 'web_search' or 'crypto_onchain_data'. Comma-separate to allow several." - added
Input schema / properties / kind / descriptionAdded value: +"Restrict to one listing type: kit (packaged task API), http_api (pay-per-call HTTP API), mcp_server, a2a_agent. Omit for all." - added
Input schema / properties / limit / descriptionAdded value: +"Number of organic results to return, 1-25 (default 10)." - added
Input schema / properties / max_price_usd / descriptionAdded value: +"Only listings whose lowest listed price per call/unit is at most this many US dollars, e.g. 0.01. Listings without a known price are excluded when set." - added
Input schema / properties / max_price_usd / minimumAdded value: +0 - added
Input schema / properties / min_trust / descriptionAdded value: +"Only listings with a payment-verified trust score of at least this value (0-100). Excludes listings with no payment evidence." - added
Input schema / properties / paid_only / descriptionAdded value: +"true = only listings that accept a payment rail (x402 or MPP)." - changed
Input schema / properties / q / descriptionPrevious value: -"What the agent needs, e.g. 'web search', 'sales pitch', 'image generation'"New value: +"What the agent needs, in plain words: 'web search', 'transcribe audio with speakers', 'postgres', 'token honeypot check'. Keywords beat full sentences." - added
Input schema / properties / q / maxLengthAdded value: +200 - added
Input schema / properties / q / minLengthAdded value: +1 - added
Input schema / properties / rail / descriptionAdded value: +"Only listings that accept this payment rail: x402 (USDC on-chain, per call) or mpp (Machine Payments Protocol)." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": {}, + "properties": { + "featured": { + "description": "Labelled Agentropolis Pro row, separate from organic results", + "items": { + "additionalProperties": {}, + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "featured_label": { + "type": "string" + }, + "ranking": { + "description": "How results were ranked", + "type": "string" + }, + "results": { + "description": "Organic results: id, name, kind, summary, pricing, trust, badges, tiers, invoke, links (page, kit_manifest, call when relayable, go), buy (relay_x402 or link_out)", + "items": { + "additionalProperties": {}, + "properties": { + "id": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "kind" + ], + "type": "object" + }, + "type": "array" + }, + "search_id": { + "description": "Anonymous id for this search", + "type": "string" + }, + "sponsored": { + "description": "Always empty today", + "items": {}, + "type": "array" + }, + "total": { + "description": "Organic matches before limit", + "type": "number" + } + }, + "required": [ + "total", + "results", + "featured", + "featured_label", + "sponsored", + "ranking" + ], + "type": "object" +}
- Removed
trust_method
10 tool updates
- First observed
bazaar_link - First observed
call_kit - First observed
get_kit - First observed
get_kit_manifest - First observed
list_categories - First observed
list_sources - First observed
market_snapshot - First observed
roadmap - First observed
search_kits - First observed
trust_method
Related MCP Connectors
Free search over ~50k agent tools: paid x402 APIs and MCP servers. Price, networks, how to call.
Search 49k MCP servers with measured context-token cost, security signals and install snippets.
31Search 100,000+ MCP servers ranked by real adoption data to find the right one for any task.
Search 15K+ MCP services, A2A agents, and x402 APIs from 5 registries. Paid via x402 (USDC on Base).
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables agents to search MCP servers ranked by measured handshake checks, tool lists, repository signals, and signed reports, with open data.193 npmApache 2.0
- AlicenseNot gradedqualityCmaintenanceMarketplace of MCP servers and APIs that agents pay for per call in USDC over x402 on Base; connect anonymously, pay only when you callMIT
- FlicenseNot gradedqualityDmaintenanceFinds the right MCP server for a task from over 1,400 indexed servers ranked by community trust. Also provides outcome-ranked web search for AI agents with no API key or rate limits.4-
- AlicenseBqualityCmaintenancePay-per-call MCP and x402 v2 server on Base USDC providing 19 keyless tools for AI agents: web extraction, social and academic search, B2B lead and domain intelligence, npm/PyPI package and smart-contract security audits, OFAC compliance screening, and DeFi swap quotes523MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.