Servidor MCP

nohumans.directory

directory.nohumans/registry
Pagos y fintech Búsqueda e investigación Público y accesible MCP 2026-07-28

Qué hace este MCP

Discovers and evaluates paid x402 APIs and datasets, including pricing, schemas, payment chains, reputation, and verified delivery outcomes.

find_paid_service
Find a paid service
Search a registry of paid (x402) APIs and datasets verified by real paid purchases — nohumans pays listed endpoints real USDC and confirms delivery. Returns ranked results: verified listings first, then by reputation score (0..1, recency-weighted probe success), then by ascending price. Each result includes has_sample (boolean) — true means you can cheaply test real output before paying full price; prefer these when a listing is new or thinly-reputed and you can't yet judge it from score alone. Use this before spending money to find services that actually work. Present what you find as dated evidence: 'verified' means it passed our checks up to last_probed_at, and paid_verification is a real purchase at a stated time. Never tell the user a service is safe, guaranteed or risk-free. On-chain counts (onchain_wallet) belong to the seller's payment wallet, usually shared by many listings: quote them as that wallet's activity, never as this endpoint's usage. Prefer results with status 'verified' and score >= 0.8. Zero results means no known service matches — do not invent endpoints. Always describe the actual need in `query` in your own words — what data, what freshness, what format, what constraint prompted the search — rather than only setting `category`/`max_price`/`min_score` filters. The exact wording of what you're looking for is what improves this directory over time; a bare filter with no `query` text tells us far less about what was actually needed.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'Maximum results to return (default 10, cap 50).'}, 'query': {'type': 'string', 'description': "Describe what you actually need, in your own words and as specifically as possible — not just a topic, but the real constraint: e.g. 'sub-second latency wallet risk scoring for Base memecoins', 'EUR/USD spot rate with sub-100ms freshness', 'translate legal contracts, not casual text'. This text is what makes results relevant and is the only place that level of detail is captured — category and price are coarse filters on top of it, not a substitute for it. Only leave this empty if you are genuinely just browsing with no specific need in mind."}, 'category': {'enum': ['data.other', 'data.crypto', 'data.misc', 'data.web', 'data.markets', 'compute.llm', 'data.weather', 'compute.media', 'data.geo', 'data.fx', 'compute.tools', 'data.stocks', 'data.news', 'data.search', 'data.contacts', 'data.defi', 'data.intelligence', 'infra.utility', 'data.macro', 'data.enrichment', 'infra.trust', 'infra.validation', 'data.research', 'data.derivatives', 'data.social', 'infra.inference', 'compute.nlp', 'data.x402', 'data.reference', 'data.security', 'infra.scraping', 'verification', 'data.energy', 'data.onchain', 'ai.agents', 'data.procurement', 'infra.creative', 'tools.verification', 'compute.utility', 'data.health'], 'type': 'string', 'description': "One of the 40 most-populated existing categories, most-used first. Omit and rely on free-text `query` instead if none fit well — an unmatched or long-tail category still works via text-search fallback, it just won't be offered here as a constrained choice."}, 'max_price': {'type': 'number', 'description': 'Maximum per-call price. Omit for no cap.'}, 'min_score': {'type': 'number', 'description': 'Minimum reputation score, 0..1. Use 0.8 to only see reliably-passing services.'}}}
Esquema de salida
{'type': 'object', 'required': ['count', 'results'], 'properties': {'count': {'type': 'integer'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'endpoint_url', 'status', 'price_amount'], 'properties': {'id': {'type': 'string'}, 'kind': {'enum': ['api', 'agent'], 'type': 'string'}, 'name': {'type': 'string'}, 'score': {'type': ['number', 'null']}, 'chains': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Networks you can PAY on, as declared by the seller. Not the data or chains the service covers.'}, 'status': {'enum': ['verified', 'unverified', 'failing'], 'type': 'string'}, 'category': {'type': 'string'}, 'has_sample': {'type': 'boolean'}, 'description': {'type': 'string'}, 'mpp_methods': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'MPP methods as the endpoint names them (tempo, evm, stripe, ...); null when its 402 offers no MPP.'}, 'probe_count': {'type': ['integer', 'null'], 'description': 'Every counted probe, passes AND failures. Passes are probes_passed.'}, 'endpoint_url': {'type': 'string'}, 'price_amount': {'type': 'number'}, 'report_count': {'type': ['integer', 'null']}, 'report_score': {'type': ['number', 'null']}, 'x402_version': {'type': ['integer', 'null']}, 'evidence_note': {'type': ['string', 'null']}, 'evidence_tier': {'type': 'string'}, 'onchain_scope': {'type': ['string', 'null'], 'description': 'What the on-chain figures describe, in words. Read before quoting them.'}, 'paid_verified': {'type': 'boolean'}, 'probes_failed': {'type': ['integer', 'null']}, 'probes_passed': {'type': ['integer', 'null']}, 'response_mime': {'type': ['string', 'null']}, 'last_probed_at': {'type': ['integer', 'null']}, 'onchain_wallet': {'type': 'object', 'description': "On-chain activity of the seller's payment wallet (payTo), usually shared by many listings: scope, shared_by_listings, pay_to, tx_count_30d, unique_payers_30d, volume_usd_30d. Not this endpoint's own usage.", 'additionalProperties': True}, 'p50_latency_ms': {'type': ['number', 'null'], 'description': 'Median latency over the last 7 days (timeouts included); null under 5 probes.'}, 'p95_latency_ms': {'type': ['integer', 'null']}, 'p99_latency_ms': {'type': ['integer', 'null']}, 'price_currency': {'type': 'string'}, 'distinct_payers': {'type': ['integer', 'null']}, 'observed_network': {'type': ['string', 'null']}, 'paid_verified_at': {'type': ['integer', 'null']}, 'payment_protocols': {'type': 'array', 'items': {'type': 'string'}, 'description': "Protocols the endpoint's own 402 offered on our unpaid probes: x402, mpp, or both. Paid verification covers x402 on Base only."}, 'status_changed_at': {'type': ['integer', 'null']}, 'verdict_age_seconds': {'type': ['integer', 'null']}, 'paid_verified_at_iso': {'type': ['string', 'null']}, 'onchain_unique_payers_30d': {'type': ['integer', 'null']}, 'onchain_payto_shared_listings': {'type': ['integer', 'null'], 'description': "Active listings naming the same payTo address. Above 1, the on-chain figures are the wallet's, not this endpoint's."}}, 'additionalProperties': True}}, 'category_expanded': {'type': ['string', 'null']}}, 'additionalProperties': True}
get_service_details
Get a paid service's full record
Fetch the full record for one listing by id (from find_paid_service results), led by paid_verification — whether nohumans has paid this endpoint real USDC and confirmed delivery, with the settlement tx hash as on-chain proof where settled — plus endpoint URL, request/response JSON Schemas when provided, accepted chains, pricing, and reputation detail (probe count, last successful probe, consecutive failures). Call this before making a paid request so you know the exact request shape, current reliability, and whether real-money delivery has been independently confirmed. It is evidence with dates, not a guarantee: say when each check happened (every timestamp has an _iso twin), and quote on-chain counts as the seller wallet's activity (onchain_wallet.scope says how many listings share it). A paid verdict for the same listing — our published rule applied for you, with printed reasons, $0.005 USDC on Base via x402 — is at GET https://api.nohumans.directory/v1/listings/{id}/verdict; every fact behind it is in this record for free, so buy the verdict only when you want the rule applied for you. Every purchase we have made of this listing, oldest first — when, what it cost, the on-chain tx, whether it delivered valid output, and what changed between purchases — is at GET https://api.nohumans.directory/v1/listings/{id}/purchases ($0.01 USDC on Base via x402); the latest outcome is already in paid_verification here for free, so buy the history when you want to know whether it keeps delivering over time.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Listing id, as returned by find_paid_service.'}}}
Esquema de salida
{'type': 'object', 'required': ['id', 'name', 'endpoint_url', 'status', 'price_amount'], 'properties': {'id': {'type': 'string'}, 'kind': {'enum': ['api', 'agent'], 'type': 'string'}, 'name': {'type': 'string'}, 'score': {'type': ['number', 'null']}, 'chains': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Networks you can PAY on, as declared by the seller. Not the data or chains the service covers.'}, 'status': {'enum': ['verified', 'unverified', 'failing'], 'type': 'string'}, 'category': {'type': 'string'}, 'transport': {'type': ['string', 'null']}, 'has_sample': {'type': 'boolean'}, 'kind_notes': {'type': ['object', 'null'], 'additionalProperties': True}, 'obs_pay_to': {'type': ['string', 'null']}, 'obs_scheme': {'type': ['string', 'null']}, 'payto_note': {'type': ['string', 'null']}, 'description': {'type': 'string'}, 'mpp_methods': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'MPP methods as the endpoint names them (tempo, evm, stripe, ...); null when its 402 offers no MPP.'}, 'obs_network': {'type': ['string', 'null']}, 'probe_count': {'type': ['integer', 'null'], 'description': 'Every counted probe, passes AND failures. Passes are probes_passed.'}, 'endpoint_url': {'type': 'string'}, 'price_amount': {'type': 'number'}, 'report_count': {'type': ['integer', 'null']}, 'report_score': {'type': ['number', 'null']}, 'sample_query': {'type': ['string', 'null']}, 'x402_version': {'type': ['integer', 'null']}, 'evidence_note': {'type': ['string', 'null']}, 'evidence_tier': {'type': 'string'}, 'onchain_daily': {'type': ['array', 'null'], 'items': {'type': 'object', 'additionalProperties': True}}, 'onchain_scope': {'type': ['string', 'null'], 'description': 'What the on-chain figures describe, in words. Read before quoting them.'}, 'onchain_shape': {'type': ['object', 'null'], 'additionalProperties': True}, 'paid_verified': {'type': 'boolean'}, 'probes_failed': {'type': ['integer', 'null']}, 'probes_passed': {'type': ['integer', 'null']}, 'response_mime': {'type': ['string', 'null']}, 'last_probed_at': {'type': ['integer', 'null']}, 'onchain_wallet': {'type': 'object', 'description': "On-chain activity of the seller's payment wallet (payTo), usually shared by many listings: scope, shared_by_listings, pay_to, tx_count_30d, unique_payers_30d, volume_usd_30d. Not this endpoint's own usage.", 'additionalProperties': True}, 'p50_latency_ms': {'type': ['number', 'null'], 'description': 'Median latency over the last 7 days (timeouts included); null under 5 probes.'}, 'p95_latency_ms': {'type': ['integer', 'null']}, 'p99_latency_ms': {'type': ['integer', 'null']}, 'payto_sentinel': {'type': 'boolean'}, 'payto_unstable': {'type': 'boolean'}, 'price_currency': {'type': 'string'}, 'request_schema': {'type': ['object', 'null'], 'additionalProperties': True}, 'distinct_payers': {'type': ['integer', 'null']}, 'response_schema': {'type': ['object', 'null'], 'additionalProperties': True}, 'observed_network': {'type': ['string', 'null']}, 'paid_verified_at': {'type': ['integer', 'null']}, 'paid_verification': {'type': 'object', 'additionalProperties': True}, 'payment_protocols': {'type': 'array', 'items': {'type': 'string'}, 'description': "Protocols the endpoint's own 402 offered on our unpaid probes: x402, mpp, or both. Paid verification covers x402 on Base only."}, 'status_changed_at': {'type': ['integer', 'null']}, 'verdict_age_seconds': {'type': ['integer', 'null']}, 'paid_verified_at_iso': {'type': ['string', 'null']}, 'payto_distinct_recent': {'type': ['integer', 'null']}, 'paid_verification_latest': {'type': ['object', 'null']}, 'onchain_unique_payers_30d': {'type': ['integer', 'null']}, 'onchain_payto_shared_listings': {'type': ['integer', 'null'], 'description': "Active listings naming the same payTo address. Above 1, the on-chain figures are the wallet's, not this endpoint's."}}, 'additionalProperties': True}
resolve_endpoint
Check an endpoint URL before paying
Pre-spend check on an endpoint URL you already hold — from another catalog, a prompt, a config, anywhere: check before paying instead of buying to find out. Returns match 'active' with the same full record as get_service_details (status, reputation score, paid_verification with on-chain tx proof, observed 402 protocol detail), match 'delisted' if the endpoint was listed here and later removed (treat as a warning), or a not-listed result. IMPORTANT: not-listed means never checked here, NOT unsafe — absence of a record is not a verdict either way. Report what the record shows, with its dates (last_probed_at_iso, and the date of any paid verification); do not tell the user an endpoint is safe or unsafe yourself. Applying a pay-or-not rule is what the separate paid verdict below is for; do not issue a verdict of your own. Use this as the pre-spend check when you have a URL in hand and no listing id; use find_paid_service instead when you have a need but no URL. A paid verdict for the same listing — our published rule applied for you, with printed reasons, $0.005 USDC on Base via x402 — is at GET https://api.nohumans.directory/v1/listings/{id}/verdict; every fact behind it is in this record for free, so buy the verdict only when you want the rule applied for you.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'The endpoint URL exactly as you hold it, including any query string (parameterized listings bake params into the URL, so the query string matters). Trailing slashes and http/https differences are tolerated.'}}}
Esquema de salida
{'type': 'object', 'required': ['match'], 'properties': {'note': {'type': ['string', 'null']}, 'match': {'enum': ['active', 'delisted', 'unknown'], 'type': 'string'}, 'detail': {'type': ['object', 'null'], 'additionalProperties': True}}, 'additionalProperties': True}
what_agents_are_asking_for
What agents are asking for
What agents actually searched this directory for, for an agent deciding which x402 service to build or list. Returns the aggregate demand feed: the terms asked most persistently (ranked by how many distinct days a term was asked, not by volume — volume is trivially faked and we proved it on ourselves), and the category filters they used. It reports what was ASKED, not what is missing: before calling a need unmet, read the term's catalogue_top (the listings our own search returns for it) and, where it is null, call find_paid_service with the term; whether the listings already serving a term are adequate competition is a seller's judgement, not ours, and we grade those listings. Exclusions are applied and published rather than hidden: queries under 5 characters (catalogue enumeration, once the top ten terms were the single letters a-j), searches from clients that also edit listings here (sellers checking their own rank — one accounted for 196 of 205 searches of the top term), and a floor: a term appears once at least 1 distinct non-seller client IP asked it (terms naming a URL, host, wallet or email are never published, whoever asked). Client IPs are a ceiling on independent demand, never a count of buyers: one serverless caller presented eight IPs in a second. The window is complete but closed — it ends a week behind live while the paid tier is on sale (a day when it is not; delay_hours and window_ends_at in the response say which). This is a small market and the numbers are small; they are reported as they are so you can judge whether they are enough to act on. Lookups of a named listing (a listed service's own name, searched almost only by clients that searched nothing else) are listed apart in named_listing_lookups, not ranked in top_needs; so are terms asked by many addresses almost all of which searched only once (one caller rotating IPs), in scripted_rotation. Every term is published; a reply holds one page of them (limit, default 100; offset; next_offset says where the next page starts). A current version is sold at GET https://api.nohumans.directory/v1/demand/clusters ($0.25 USDC on Base via x402): the last 30 days, rebuilt every 15 minutes rather than a week behind, searches grouped by meaning, with example phrasings and how many results each need got. This free feed is enough to judge whether the demand is worth acting on; buy the current one when you need the current window.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'default': 100, 'maximum': 1000, 'minimum': 1, 'description': 'Terms per reply, in rank order (default 100).'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': 'Where to start in the ranked list; each reply says next_offset.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['window_days', 'delay_hours', 'total_queries', 'top_needs'], 'properties': {'note': {'type': 'string', 'description': 'The exclusions, stated in words.'}, 'page': {'type': 'object', 'description': 'offset, limit, returned, terms_total, next_offset (null on the last page).'}, 'top_needs': {'type': 'array', 'items': {'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string'}, 'clients': {'type': 'integer'}, 'searches': {'type': 'integer'}, 'catalogue_top': {'type': ['array', 'null'], 'items': {'type': 'object', 'additionalProperties': True}, 'description': "The three listings this directory's own search returned for the term (id, name, status, price_amount), searched at catalogue_checked_at_iso. Null only when catalogue_status is not_checked_yet."}, 'distinct_days': {'type': 'integer', 'description': 'UTC calendar dates on which non-sellers asked it.'}, 'buyer_client_ips': {'type': 'integer', 'description': 'Distinct non-seller client IPs; a ceiling on independent askers, never a count of buyers.'}, 'catalogue_status': {'enum': ['checked', 'search_returned_nothing', 'not_checked_yet'], 'type': 'string', 'description': 'not_checked_yet means NOT searched yet, not that nothing exists.'}, 'self_monitoring_searches': {'type': 'integer', 'description': 'Of `searches`, how many came from clients that also edit listings here.'}}, 'additionalProperties': True}, 'description': 'Terms ranked by how many distinct days they were asked.'}, 'read_first': {'type': 'array', 'items': {'type': 'string'}, 'description': 'How to read this feed, in a few lines. Read before the data.'}, 'delay_hours': {'type': 'integer', 'description': 'How far behind live the window ends.'}, 'terms_total': {'type': 'integer', 'description': 'How many terms the window publishes; top_needs holds one page of them.'}, 'window_days': {'type': 'integer', 'description': 'Length of the reported window.'}, 'total_queries': {'type': 'integer', 'description': 'Every search in the window, before exclusions.'}, 'window_ends_at': {'type': 'integer', 'description': 'Unix seconds at which the window closes.'}, 'k_anonymity_unit': {'type': 'string'}, 'k_anonymity_floor': {'type': 'integer', 'description': 'Distinct non-seller client IPs a term needs before it is reported at all.'}, 'scripted_rotation': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Terms asked by many client IPs almost all of which searched only once in the whole window (one caller on rotating addresses): listed apart, same fields as top_needs plus share_single_search_client_ips, not demand. Rule in scripted_rotation_rule.'}, 'distinct_client_ips': {'type': 'integer', 'description': 'A ceiling on independent demand, never a count of buyers.'}, 'top_category_filters': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'named_listing_lookups': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Searches for one listed service by its own name, asked almost only by clients that searched nothing else: listed apart, same fields as top_needs, not demand. Rule in named_listing_lookup_rule.'}}, 'additionalProperties': True}
Modificado
what_agents_are_asking_for
1 de October de 2026 a las 02:43
Modificado
find_paid_service
1 de October de 2026 a las 02:43
Modificado
what_agents_are_asking_for
29 de September de 2026 a las 02:51
Modificado
get_service_details
29 de September de 2026 a las 02:51
Modificado
find_paid_service
29 de September de 2026 a las 02:51
Modificado
what_agents_are_asking_for
27 de September de 2026 a las 02:43
Modificado
get_service_details
27 de September de 2026 a las 02:43
Modificado
find_paid_service
27 de September de 2026 a las 02:43
Modificado
what_agents_are_asking_for
25 de September de 2026 a las 02:50
Modificado
resolve_endpoint
25 de September de 2026 a las 02:50
Modificado
get_service_details
25 de September de 2026 a las 02:50
Modificado
find_paid_service
25 de September de 2026 a las 02:50
Modificado
find_paid_service
23 de September de 2026 a las 02:41
Modificado
find_paid_service
21 de September de 2026 a las 02:49
Modificado
find_paid_service
19 de September de 2026 a las 02:40
Añadido
what_agents_are_asking_for
17 de September de 2026 a las 12:39
Añadido
resolve_endpoint
17 de September de 2026 a las 12:39
Añadido
get_service_details
17 de September de 2026 a las 12:39
Añadido
find_paid_service
17 de September de 2026 a las 12:39

Tenjin

blog.tenjin/tenjin

Searches, reads, and publishes paid essays and synthesized answers, with USDC payments handled through x402.

SCRIPTMASTERLABS — SqueezeOS MCP

com.scriptmasterlabs/squeezeos

Discovers and routes machine capabilities, provides web access and search verification, and supports caller-authorized x402 payme…

x402 Market Intelligence + Russian Web Access

com.ruscrape/russia-access

Fetches websites through country-specific or residential IPs, provides Russian web access and proxies, runs sandboxed code, and o…

Anyway Possible Paid Agent Utilities

io.github.anyway-possible/agent-utilities

Provides Base wallet and payment-readiness checks, merchant intelligence, public URL verification, and verifiable web evidence th…

What Agents Buy

com.whatagentsbuy/whatagentsbuy

Evaluates x402 API sellers, checks payment safety and value, ranks providers by accuracy or demand, and reports on marketplace ac…

x402-list-mcp

com.x402-list/x402-list-mcp

Searches and evaluates x402 payment APIs using service health, uptime, pricing, compliance, change events, and on-chain settlemen…

Agent Deals

io.github.gmahar82-stack/agent-deals

Checks and compares x402 services, finds lower-cost working APIs, and reads public webpages or PDFs as Markdown.

ghost-x402-market-intel-vet-schema

dev.workers.ghost-agent-os.ghost-identity/ghost-x402-market-intel-vet-schema

Evaluates and vets paid x402/API providers, applies pre-spend decisions, checks schema freshness, and performs failover web searc…