Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "search_services"
⟨489 unchanged words⟩ ,"query":{"description":"Text search (search/8search/9) over names, hosts, URLs, operator names ⟨40 unchanged words⟩ purpose (mcp, api, pay, per,call,no, key, ..., and the words of a payment phrase such as \"pay per call\" or \"$0.01 a request\") are set aside and numbers left out ⟨396 unchanged words⟩ , description or the words agents use forit; search/8: for a word at least 5 confirmed-placed services use, by how those services are spread across the tree, so a word used all over the tree weighs little and a word one place's services use names that placeit), and among them those breaking fewer of ⟨243 unchanged words⟩
Changed the definition of "search_services"
⟨489 unchanged words⟩ ,"query":{"description":"Text search (search/7search/8) over names, hosts, URLs, operator names ⟨452 unchanged words⟩ , description or the words agents use foritit; search/8: for a word at least 5 confirmed-placed services use, by how those services are spread across the tree, so a word used all over the tree weighs little and a word one place's services use names that place), and among them those breaking fewer of ⟨243 unchanged words⟩
Changed the definition of "search_services"
⟨489 unchanged words⟩ ,"query":{"description":"Text search (search/6search/7) over names, hosts, URLs, operator names ⟨169 unchanged words⟩ whole word. Conditions read from the request (search/6search/7): a fixed table turns phrases into conditions ⟨92 unchanged words⟩ X. Fastest or low latency: faster first.ServicesFor each service a condition is met by our observation, met by a statement (the operator's, a registry's, an OpenAPI description's), not known, or broken (observed or stated against it): services breaking fewer come first, then those meeting more,ofan observation counting twice a statement; one not known ranks below one met and above one broken. A condition in the
Changed the definition of "search_services"
⟨95 unchanged words⟩ "maxLength":250,"type":"string"},"currency":{"description":"ISO 4217 code (USD so far): services whose payment terms, seen in their own HTTP 402 answers to our checks, are in this currency; a stablecoin counts as the currency it tracks (USDC as USD). Services whose currency we have not observed are left out.","maxLength":3,"type":"string"},"limit":{"description":"Default 10, maximum ⟨333 unchanged words⟩ ,"query":{"description":"Text search (search/5search/6) over names, hosts, URLs, operator names ⟨163 unchanged words⟩ characters; a shorter word matches a whole word. Conditions read from the request (search/6): a fixed table turns phrases into conditions that rank, never filter. Pay per call, per request, x402, MPP, L402, USDC, no account or no signup: asks for payment. No API key, without a key, no auth, keyless, no sign-in: does not ask for credentials (observed or stated); \"an API key is fine\" lifts it. MCP: an MCP server (remote, hosted or endpoint: a remote one; local, install or package: a local one). A2A or agent card: an A2A agent. Under, below, at most $X, or a cent or less: a price per call at or below X. Fastest or low latency: faster first. Services meeting more of the conditions read come first; query_conditions in the response says which were read and from which words, and a filter given explicitly always wins.
Changed the definition of "search_services"
⟨437 unchanged words⟩ ,"query":{"description":"Text search (search/4search/5) over names, hosts, URLs, operator names ⟨46 unchanged words⟩ no, key, ...) are set aside and numbers left out (use the filters for those), and the ⟨13 unchanged words⟩ the words (one of one or two);.moreServicesmatchedin a place the query names (by the place's name, description or the words agents use for it) rankfirstfirst; then more matched words, then words found at the start of ⟨97 unchanged words⟩
Changed the definition of "search_services"
⟨437 unchanged words⟩ ,"query":{"description":"Text search (search/3search/4) over names, hosts, URLs, operator names ⟨78 unchanged words⟩ two); more matched words rank first,andthenamongwordsservicesfoundmatchingatasthemany,startthoseofmatching
Changed the definition of "get_tree" and "search_services"
⟨45 unchanged words⟩ of the tree. Service counts are refreshed everyfive minuteshour and are not changes.","maximum":9007199254740991, ⟨6 unchanged words⟩
⟨356 unchanged words⟩ under the chosen sort (by default, themostevidencescheduledorder: the share of checks passed
Changed the definition of "search_services"
Findpayable APIsservicesandan agenttaskcanmarketplacesuse, bypurposewhat they do: remote MCP servers (with the tools each lists), local MCP servers (packages), pay-per-call APIs (x402, MPP), A2A agents and task marketplaces, withevidenceour checks for each.FilterSearch by words (query) or by capability tree node (branch); filter on
Changed the definition of "search_services"
⟨370 unchanged words⟩ "enum":["api_endpoint","task_marketplace","mcp_server","mcp_local","a2a_agent"],"type":"string"}},"type":"object"}
Certificate recorded, valid to 2027-01-15
Authorization not required
Changed the definition of "get_tree" and "search_services"
⟨56 unchanged words⟩ separated by commas when more than one fits. format "text" returns the same tree as plain text, one line per node: the cheapest to read. Keep it and pass since_revision later to get only what changed. IDs are permanent: an id that moved ( ⟨9 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"format":{"description":"json (default) or text: one line per node, about half the size of json.","enum":["json","text"],"type":"string"},"since_revision":{"description":"The revision of a copy you hold: returns only the node changes since then (or unchanged: true) instead of the tree. Service counts are refreshed every five minutes and are not changes.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"type":"object"}
Unknown → Live
First tool surface recorded: 9 tools (server version 0.1.0)
https://agentservicedirectory.com/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 15 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"access":{"description":"What the service asks of a caller (access/1): 'payment' (our plain request got HTTP 402), 'credentials' (HTTP 401, or its agent card or MCP Registry entry says so) or 'none_asked' (answered without asking for either, and nothing stated says credentials are needed). Services with no value are left out.","enum":["payment","credentials","none_asked"],"type":"string"},"branch":{"description":"Capability tree id from ⟨39 unchanged words⟩ "minimum":1,"type":"integer"},"max_median_ms":{"description":"Over the last 30 days of our checks (response-times/1, measured from eastern North America; one operation per service, timeouts counted at the time limit); services with too few checks for the figure are left out. Maximum median response time in milliseconds.","maximum":9007199254740991,"minimum":0,"type":"integer"},"max_p95_ms":{"description":"Over the last 30 days of our checks (response-times/1, measured from eastern North America; one operation per service, timeouts counted at the time limit); services with too few checks for the figure are left out. Maximum 95th-percentile response time in milliseconds.","maximum":9007199254740991,"minimum":0,"type":"integer"},"max_price_usd":{"description":"Maximum price per call ⟨161 unchanged words⟩ check passed.","type":"boolean"},"payment_model":{"description":"'per_call': it asked for payment for our request (HTTP 402). Services whose payment model is not known are left out.","enum":["per_call"],"type":"string"},"provider":{"description":"Only endpoints from this ⟨16 unchanged words⟩ },"query":{"description":"Text search (search/3) over names, hosts, URLsand, operator names, the tool names an MCP server lists, and the name of a service's place in the capability tree when that place passed our three placement checks.EveryWriteworditmustasmatchwords or a sentence: words about payment or shape rather than purpose (upmcp,toapi,fivepay, per, call, no, key, ...) are set aside (use the filters for those), and the response's query_words says which words were used. A service matches at least half the words (one of one or two):;amore matched words rank first, and among services matching as many, those matching the rarer words. A word of three or more characters matches the ⟨6 unchanged words⟩ inside a name, host or operator word; one of seven or more also matches by its first five characters; a shorter word matches a whole word. E.g. ⟨27 unchanged words⟩ ,"type":"string"},"sort":{"description":"Default: relevance when query is given, otherwise evidence. relevance (the default when q is given): first services matching more of the query's words (and, among those matching as many, the rarer words), then those whose provider's domain starts with the first word used (its own site: q=stripe puts stripe.com first), then those whose name is, starts with or contains the words used, then the rest; within each group, the evidence order. median_ms and p95_ms: fastest first over 30 days, services without the figure last.","enum":["relevance","evidence","pass_rate","payers","price","median_ms","p95_ms","recent","name"],"type":" ⟨28 unchanged words⟩
⟨245 unchanged words⟩ :"string"},"query":{"description":"Free textTextmatchedsearchagainstovernamenames,hosthosts,URLURLs and operator names,e.g.and the name of a service's place in the capability tree when that place passed our three placement checks. Every word must match (up to five words): a word of three or more characters matches the start of a word, or anywhere inside a name, host or operator word; a shorter word matches a whole word. E.g. 'weather' or 'translate'.","maxLength":100,"type ⟨58 unchanged words⟩