nohumans.directory MCP
Provides a machine-readable registry of paid x402-enabled APIs and datasets. It allows agents to verify service reliability by checking if the operator has successfully paid for and received deliveries from listed endpoints, ensuring agents only spend money on verified services.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://api.nohumans.directory/mcpWhat its tools do
4 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to nohumans.directory ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Search for paid APIs and datasets
- Verify if an endpoint delivered after payment
- Check reputation scores of services
- Find services worth paying for
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- nohumans-directory 1.0.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 4 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
4 advertised
find_paid_service — Find a paid service
Search paid x402 APIs and datasets by need. Ranked: verified first, then probe score, then price. Each result carries what you choose on: status, score (0..1), evidence_tier, paid_verified (we bought it with real USDC and it delivered), latest_purchase_delivered (false = our most recent paid purchase took real USDC and did not deliver: do not pay it), has_sample (a cheap preview exists), price. Relevance comes from the query text; a specific need in plain words matches best. Zero results means nothing listed matches. Results are dated evidence, not guarantees. Returns a summary per listing; detail='full' returns every field. Free, read-only.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Max results (default 10)."
},
"query": {
"type": "string",
"description": "What you need, specifically: data, freshness, format, constraint. Drives relevance."
},
"detail": {
"enum": [
"summary",
"full"
],
"type": "string",
"default": "summary",
"description": "summary (default) or full: every field per listing."
},
"category": {
"enum": [
"data.other",
"data.crypto",
"data.web",
"data.misc",
"compute.llm",
"data.markets",
"data.geo",
"compute.media",
"data.weather",
"data.fx",
"compute.tools",
"data.news",
"data.contacts",
"data.stocks",
"data.search",
"data.defi",
"data.intelligence",
"infra.validation",
"data.derivatives",
"infra.utility",
"infra.trust",
"data.macro",
"data.onchain",
"data.enrichment",
"data.social",
"tools.verification",
"infra.discovery",
"developer.x402-audit",
"data.github",
"data.research",
"data",
"infra.scraping",
"infra.inference",
"data.reference",
"data.security",
"compute.nlp",
"data.x402",
"verification",
"commerce.general",
"data.procurement"
],
"type": "string",
"description": "Optional filter: one of the most-populated categories. Omit if none fits; query text still finds long-tail ones."
},
"protocol": {
"enum": [
"x402",
"mpp"
],
"type": "string",
"description": "Only listings offering this payment protocol. Omit for any."
},
"max_price": {
"type": "number",
"description": "Max price per call. Omit for no cap."
},
"min_score": {
"type": "number",
"description": "Min probe score, 0..1 (0.8 = reliably passing)."
},
"mpp_method": {
"type": "string",
"description": "Only listings offering this MPP method, e.g. stripe, tempo, evm."
}
}
}{
"type": "object",
"required": [
"count",
"results"
],
"properties": {
"count": {
"type": "integer"
},
"detail": {
"enum": [
"summary",
"full"
],
"type": "string"
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"endpoint_url",
"status",
"price_amount"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"score": {
"type": [
"number",
"null"
]
},
"status": {
"enum": [
"verified",
"unverified",
"failing"
],
"type": "string"
},
"category": {
"type": "string"
},
"has_sample": {
"type": "boolean"
},
"description": {
"type": "string"
},
"endpoint_url": {
"type": "string"
},
"price_amount": {
"type": "number"
},
"x402_version": {
"type": [
"integer",
"null"
]
},
"evidence_tier": {
"type": "string"
},
"paid_verified": {
"type": "boolean"
},
"price_currency": {
"type": "string"
},
"payment_protocols": {
"type": "array",
"items": {
"type": "string"
}
},
"last_probed_at_iso": {
"type": [
"string",
"null"
]
},
"paid_verified_age_days": {
"type": [
"number",
"null"
]
},
"latest_purchase_age_days": {
"type": [
"number",
"null"
]
},
"latest_purchase_delivered": {
"type": [
"boolean",
"null"
]
}
},
"additionalProperties": true
}
},
"category_expanded": {
"type": [
"boolean",
"null"
]
}
},
"additionalProperties": true
}{
"title": "Find a paid service",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}get_service_details — Get a paid service's full record
Full record for one listing id: request and response schemas, sample_query, observed 402 terms (network, payTo, scheme, x402 version), reputation detail, and paid_verification (our latest real USDC purchase, with its settlement tx where proven). Useful before paying: it shows the exact request shape and current reliability. Every timestamp has an _iso twin; on-chain counts describe the seller's wallet, usually shared by several listings, not this endpoint. Free, read-only.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Listing id: the id field of a search result, e.g. f094faea-d9d."
}
}
}{
"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"
}
},
"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"
}
},
"obs_network": {
"type": [
"string",
"null"
]
},
"probe_count": {
"type": [
"integer",
"null"
]
},
"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"
]
},
"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",
"additionalProperties": true
},
"p50_latency_ms": {
"type": [
"number",
"null"
]
},
"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"
}
},
"status_changed_at": {
"type": [
"integer",
"null"
]
},
"latest_purchase_at": {
"type": [
"integer",
"null"
]
},
"verdict_age_seconds": {
"type": [
"integer",
"null"
]
},
"paid_verified_at_iso": {
"type": [
"string",
"null"
]
},
"payto_distinct_recent": {
"type": [
"integer",
"null"
]
},
"latest_purchase_age_days": {
"type": [
"number",
"null"
]
},
"paid_verification_latest": {
"type": [
"object",
"null"
]
},
"latest_purchase_delivered": {
"type": [
"boolean",
"null"
]
},
"onchain_unique_payers_30d": {
"type": [
"integer",
"null"
]
},
"onchain_payto_shared_listings": {
"type": [
"integer",
"null"
]
}
},
"additionalProperties": true
}{
"title": "Get a paid service's full record",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}resolve_endpoint — Check an endpoint URL before paying
Check an endpoint URL you already hold before paying it. Returns match 'active' with the listing's full record, 'delisted' (listed here, later removed), or 'unknown' (never checked here; absence is not a verdict either way). The record is dated evidence, not a safety rating. Free, read-only.
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The endpoint URL as you hold it, including any query string."
}
}
}{
"type": "object",
"required": [
"match"
],
"properties": {
"note": {
"type": [
"string",
"null"
]
},
"match": {
"enum": [
"active",
"delisted",
"unknown"
],
"type": "string"
},
"detail": {
"type": [
"object",
"null"
],
"additionalProperties": true
}
},
"additionalProperties": true
}{
"title": "Check an endpoint URL before paying",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}what_agents_are_asking_for — What agents are asking for
What agents searched this directory for, for deciding which x402 service to build or list. Terms ranked by how many distinct days they were asked, each with catalogue_top: the listings our own search already returns for it. A term being asked does not mean nothing serves it. The window 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); test traffic, sellers searching their own listings and identifying terms are excluded; floor: a term appears once at least 1 distinct non-seller client IP asked it. Client counts are IP ceilings, never buyer counts. Paged: limit (default 25), offset, next_offset. Free, read-only.
{
"type": "object",
"required": [],
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 1000,
"minimum": 1,
"description": "Terms per page, in rank order."
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0,
"description": "Where to start; each reply gives next_offset."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"window_days",
"delay_hours",
"total_queries",
"top_needs"
],
"properties": {
"note": {
"type": "string"
},
"page": {
"type": "object"
},
"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
}
},
"distinct_days": {
"type": "integer"
},
"buyer_client_ips": {
"type": "integer"
},
"catalogue_status": {
"enum": [
"checked",
"search_returned_nothing",
"not_checked_yet"
],
"type": "string"
},
"self_monitoring_searches": {
"type": "integer"
}
},
"additionalProperties": true
}
},
"read_first": {
"type": "array",
"items": {
"type": "string"
}
},
"side_lists": {
"type": "object",
"additionalProperties": true
},
"delay_hours": {
"type": "integer"
},
"terms_total": {
"type": "integer"
},
"window_days": {
"type": "integer"
},
"total_queries": {
"type": "integer"
},
"window_ends_at": {
"type": "integer"
},
"k_anonymity_unit": {
"type": "string"
},
"k_anonymity_floor": {
"type": "integer"
},
"scripted_rotation": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"distinct_client_ips": {
"type": "integer"
},
"top_category_filters": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
}
},
"additionalProperties": true
}{
"title": "What agents are asking for",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 402 ms
- 95th percentile latency
- 402 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 402 ms · metadata changed · 4 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http nohumans-directory-mcp https://api.nohumans.directory/mcpCodex
codex mcp add nohumans-directory-mcp --url https://api.nohumans.directory/mcpCursor
{
"mcpServers": {
"nohumans-directory-mcp": {
"url": "https://api.nohumans.directory/mcp"
}
}
}Cline
{
"mcpServers": {
"nohumans-directory-mcp": {
"type": "streamableHttp",
"url": "https://api.nohumans.directory/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"nohumans-directory-mcp": {
"type": "http",
"url": "https://api.nohumans.directory/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http nohumans-directory-mcp https://api.nohumans.directory/mcpClaude Desktop
https://api.nohumans.directory/mcpWindsurf
{
"mcpServers": {
"nohumans-directory-mcp": {
"serverUrl": "https://api.nohumans.directory/mcp"
}
}
}Let your agent find its tools
Find servers like nohumans.directory MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other developer tools servers
Do you run nohumans.directory MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.