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.
Recently observed → Live
Live → Recently observed
Authorization not required, issuer https://agentalog.com
Added "claude_code_allowlist", "list_watched_tools", "unwatch_tool" and 1 more (31 tools before, 35 now)
Claude Code allowlist — The watch list as Claude Code managed settings (allowedMcpServers, deniedMcpServers) and claude mcp add commands. `managed_settings` goes into a Claude Code managed settings source (see `docs`). `allowManagedMcpServersOnly` restricts user-added servers to this list. Checked servers rated as `risk` go to `deniedMcpServers`. The exact URL and that URL followed by `?*` permit the checked route with optional query parameters. Expired or unchecked items stay out. `commands` has one quoted `claude mcp add` command per allowed server.
List watched tools — The MCP servers and skills the account watches, with their review level, slots and plans. Daily checks cover MCP tools, state, level, country and version. Supported skills cover changes in SKILL.md text and review signals. Source quotas can delay a check; read proxima_em and verificado_em. The e-mail goes to the verified account address and includes an unsubscribe link. Wallet-only owners follow changes through the API.
Unwatch tool — Stop watching a server; its slot becomes free.
Watch tool — Watch a remote MCP or supported SKILL.md. Daily schedule, subject to source quota; account e-mail for changes. Skills cover text and review signals, not execution. Choose a live remote MCP or a skill with a supported public raw.githubusercontent.com SKILL.md, after skill collection is enabled. Watching again is a no-op (`already_watched`). Slots last 30 days with no automatic renewal. Skills do not enter the Claude Code MCP allowlist.
Changed the definition of "listing_security"
⟨168 unchanged words⟩ explicitly unchecked. Local MCP servers and plugins answer`nao_remoto`.`not_remote`. No request fetches a third-party source. Cached for 5 minutes.
Removed "claude_code_allowlist", "list_watched_tools", "unwatch_tool" and 1 more; changed the definition of "a2a_agent", "a2a_agent_search", "check_tool" and 7 more (35 tools before, 31 now)
{"properties":{"chave":{"description":"Agent key (`chave``key`) from a2a_agent_search, usually the card's domain.", ⟨23 unchanged words⟩
⟨63 unchanged words⟩ merged across the registries that list it:`fontes``sources` says which, and`creditos``credits` carries each one's license, which travels with
Changed the definition of "contact"
⟨48 unchanged words⟩ ,"type":"array"},"formato":{"description":"Consulting: `projeto` (per scope), `mensal` (monthly) or `assessoria` (advisory).","enum":["projeto","mensal","assessoria"],"type":"string"},"fuso":{"description":"Consulting: the IANA time zone, such as `America/New_York`.","type":"string"},"horarios":{"description":"Consulting: up to 3 times for the call, `YYYY-MM-DDTHH:MM` in that time zone.","items":{"type":"string"},"type" ⟨19 unchanged words⟩ :"string"},"orcamento":{"description":"Advertising: `ate_100`, `100_500`, `500_2000`, `2000_mais` or `a_combinar`. Consulting, in US dollars: `ate_2000`, `2000_5000`, `5000_10000`, `10000_mais` or `nao_sei`.","enum":["ate_100","100_500"," ⟨15 unchanged words⟩ ,"type":"string"},"pais":{"description":"Consulting: the country of the person asking.","type":"string"},"prazo":{"description":"Consulting: when to start (`agora`, `1_mes`, `1_3_meses` or `explorando`).","enum":["agora","1_mes","1_3_meses","explorando"],"type":"string"},"projeto":{"description":"Consulting: the kind of project (`llm_privado`, `voz`, `dados_sensiveis`, `gpu`, `integracao` or `outro`).","
Removed "api_access", "api_access_buy", "api_usage" and 5 more; changed the definition of "a2a_agent", "a2a_agent_search", "check_tool" and 18 more (43 tools before, 35 now)
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"chave":{"description":"Agent key (`chave`) ⟨29 unchanged words⟩
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"fonte":{"description":"Only agents listed by ⟨241 unchanged words⟩
Changed the definition of "contact" and "listing_status"
⟨47 unchanged words⟩ :"string"},"type":"array"},"formato":{"enum":["projeto","mensal","assessoria"],"type":"string"},"fuso":{"type":"string"},"horarios":{"items":{"type":"string"},"type":"array"},"message":{"description":"What you want to ⟨23 unchanged words⟩ ,"100_500","500_2000","2000_mais","a_combinar","ate_2000","2000_5000","5000_10000","10000_mais","nao_sei"],"type":"string"},"pagamento":{ ⟨8 unchanged words⟩ ,"a_combinar"],"type":"string"},"pais":{"type":"string"},"prazo":{"enum":["agora","1_mes","1_3_meses","explorando"],"type":"string"},"projeto":{"enum":["llm_privado","voz","dados_sensiveis","gpu","integracao","outro"],"type":"string"},"site":{"description":"Website of who is ⟨15 unchanged words⟩ ,"enum":["patrocinio","parceria","anuncio","consultoria"],"type":"string"}},"required" ⟨5 unchanged words⟩
Changed the definition of "buy_plan" and "list_plans"
⟨68 unchanged words⟩ Pay with prepaid credit (`X-Credito`) or x402and(`PAYMENT-SIGNATURE`sendv2 or `X-PAYMENT` v1). Without an account, thesameverifiedrequestpayingagainwalletwithowns thesamepurchase. Use wallet agent authentication to read its plan, or claim it after account sign-in. The `compra` mark:
Added "buy_plan", "cancel_plan" and "list_plans"; removed "buy_watch_plan"; changed the definition of "go_listing" and "list_watched_tools" (41 tools before, 43 now)
⟨29 unchanged words⟩ is how the client knows without counting twice. A remote MCP server goes to its repository; without one, to the listing page `/l/:id`, which shows the endpoint to copy, and no visit counts.
⟨7 unchanged words⟩ watches, with their review level, slots andoffers.plans. Daily checks cover MCP tools, state, level ⟨43 unchanged words⟩
Changed the definition of "list_listings", "list_watched_tools", "listing_security" and 2 more
{"properties":{"added_since":{"description":"Catalog arrival on or after YYYY-MM-DD. This is not the original publication date.","type":"string"},"api_pass":{"description":"MAT-only private pass: ⟨17 unchanged words⟩ whoever published.","type":"string"},"has_code":{"description":"Whether a repository link is available. This does not certify the code.","enum":["0","1"],"type":"string"},"interpret":{"description":"`0` disables query understanding ⟨20 unchanged words⟩ ,"plugin"],"type":"string"},"language":{"description":"Repository code languages, comma-separated. Preserve case, for example Python.","type":"string"},"license":{"description":"Repository licenses, comma-separated, for example MIT,Apache-2.0. Preserve case.","type":"string"},"low":{"description":"`0` leaves the `low` ⟨10 unchanged words⟩ in every order.","enum":["0"],"type":"string"},"max_prs":{"description":"Maximum open pull requests of a repository with collected activity data.","type":"string"},"min_forks":{"description":"Minimum forks of a repository with collected activity data.","type":"string"},"min_prs":{"description":"Minimum open pull requests of a repository with collected activity data.","type":"string"},"min_stars":{"description":"Minimum repository stars, from 0 to 999999999.","type":"string"},"pushed_since":{"description":"Last repository code push on or after YYYY-MM-DD."
Added "buy_watch_plan", "check_tool", "claude_code_allowlist" and 5 more (33 tools before, 41 now)
Buy watch plan — Buy watch slots for 30 days, no auto-renewal: vaga (1 server), equipe (50) or empresa (500); prices in the pricing tool. Answers 402 with the price; pay with x402 or prepaid credit and repeat. Answers 402 with the price; pay with x402 or prepaid credit and repeat the request. Passes last 30 days with no automatic renewal; a new purchase adds slots.
Check tool — Before installing a remote MCP server, check its address: signals from the address itself (consumer tunnel, no TLS), the catalog listings with that address or host and their security level, and facts about its domain. Never visits the address. Send the endpoint URL. The answer never contacts that address: it reads what our weekly visits measured and what our domain data knows. `sinais_do_endereco` comes from the address alone (consumer tunnel, `http://` without TLS). `registros` lists the catalog listings with this exact address first (`exato: true`), then up to 20 others on the same host, ea…
Claude Code allowlist — The watch list as Claude Code managed settings (allowedMcpServers, deniedMcpServers) and claude mcp add commands. `managed_settings` goes into a Claude Code managed settings source (see `docs`). `allowManagedMcpServersOnly` restricts user-added servers to this list. Checked servers rated as `risco` go to `deniedMcpServers`. The exact URL and that URL followed by `?*` permit the checked route with optional query parameters. Expired or unchecked items stay out. `comandos` has one quoted `claude mcp add` command per allowed server.
Changed the definition of "create_listing" and "get_listing_readme"
RegistersSubmit an MCP server, skill or plugin(humanforsessionreview.free;Freeagentwhile billing is off, including withoutsessionan=account.402Limit:$0.10).one
Changed the definition of "mcp_index_search"
⟨35 unchanged words⟩ at before submitting a server. Filters are AND'd. With `q`, `total` is the exact number of matches, including when the requested page is empty.
Recently observed → Live
Added "briefings_links" and "briefings_topics"; changed the definition of "create_listing" and "listing_status" (31 tools before, 33 now)
⟨9 unchanged words⟩ free; agent without session = 402 $0.10).AAutomaticpersonreviewreviewsapprovesitsupportedbylow-riskhand;MCPpolllistings; uncertain cases wait for a person. Poll `status_api` (`GET /api/listings/:id/status`, no credential) ⟨93 unchanged words⟩
Live → Recently observed
Changed the definition of "a2a_agent", "a2a_agent_search", "api_access" and 28 more
before
—after
A2a agentbefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"A2a agent"}before
—A2a agent search
Changed the definition of "feed_post"
⟨31 unchanged words⟩ Two bodies for the same post, bothproducedfrom the copy we stored when we READ the feed,never—ata requesttimenever fetches the site: `conteudo_html` keeps the author's formatting through an ⟨46 unchanged words⟩
Added "a2a_agent" and "a2a_agent_search" (29 tools before, 31 now)
Read one A2A agent: every skill its card declares, capabilities, protocol version, health, documentation and the registries that list it, with their licenses. Take the key from a2a_agent_search. The same row as the list plus what the card declares: every skill, the `capabilities` object, the protocol version as written, the documentation and icon URLs, and when we first saw it. Cached for 60 seconds; a MAT catalog read, like the list.
Find A2A agents — agents that publish an AgentCard — by text, health, protocol version, registry, skill tag or publisher. Each row carries the key for a2a_agent and the license of every registry that lists it. Collected from public A2A registries and served as it comes — no review queue hides a record; quality is the order, never visibility. One row per agent, merged across the registries that list it: `fontes` says which, and `creditos` carries each one's license, which travels with the data. Values inside one parameter are OR'd, different parameters are AND'd. Cached for 60 seconds. A MAT c…
Changed the definition of "api_access", "api_access_buy", "contact" and 1 more
⟨31 unchanged words⟩ daily allowance of 1,000 reads per crawlerfamily.family;FurtheroverreadsitrequiretheaanswerMATispackage:429US$1untilforthe1,000
Changed the definition of "api_access", "api_access_buy", "api_index" and 23 more
⟨6 unchanged words⟩ status, without charging. MAT-only balance; pass prefix mat_. Catalog discovery and ordinary browsing are free. GPTBot, ClaudeBot, CCBot, Meta-ExternalAgent, Amazonbot, AhrefsBot and MJ12bot share a daily allowance of 1,000 reads per crawler family. Further reads require a MAT package: US$1 for 1,000 reads, valid for 30 days, without automatic renewal. Send X-API-Pass on reads. The MAT balance is separate from the company, address and procurement indexes.
⟨12 unchanged words⟩ Requires explicit payment. MAT-only balance; pass prefix mat_. Catalog discovery and ordinary browsing are free. GPTBot, ClaudeBot, CCBot, Meta-ExternalAgent, Amazonbot, AhrefsBot and MJ12bot share a daily allowance of 1,000 reads per crawler family. Further reads require a MAT package: US$1 for 1,000 reads, valid for 30 days, without automatic renewal. Send X-API-Pass on reads. The MAT balance is separate from the company, address and procurement indexes.
Certificate changed, valid to 2026-12-22
Added "api_access", "api_access_buy" and "api_usage"; changed the definition of "feed_find", "feed_post", "feed_posts" and 8 more (26 tools before, 29 now)
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"dominio":{"description":"Domain, with no scheme: example.com","type":"string"},"retry_key":{"description":"Optional retry key, up to 80 ASCII characters; same read for five minutes.","type":"string"}},"required": ⟨3 unchanged words⟩
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"id":{"description":"Feed id, prefix ⟨12 unchanged words⟩
Added "mcp_index_search" and "mcp_index_signals"; changed the definition of "list_listings" (24 tools before, 26 now)
⟨38 unchanged words⟩ :"string"},"low":{"description":"`1``0`includesleaves the `low`listingstailinout;thebyresult.defaultOnlyitvalidcomestogether
Added "feed_post" and "feed_posts" (22 tools before, 24 now)
Read one post whole: the body in Markdown (`conteudo`) and the author's formatting as safe HTML (`conteudo_html`), plus the link to the original. `ord` comes from feed_posts; 0 is the newest.
What has this feed published? The posts of one feed as our queue read them — title, date, author, summary, categories and enclosure, without the body. Find the feed first (feed_find or feed_search); this takes an id from this index, never a URL.
Added "feed_find" and "feed_search" (20 tools before, 22 now)
Does this site publish a feed? Answers with every feed known for a domain — the question a reader or an agent actually asks.
Search the feed index by text and filters: format, audio/video, community, namespace and year of the newest item.
Changed the definition of "create_listing"
⟨43 unchanged words⟩ the source.","type":"string"},"session_token":{"type":"string"},"tagline":{"description":"One line saying what ⟨39 unchanged words⟩
Added "pricing" (19 tools before, 20 now)
Current public prices and free allowances; no charge.
Certificate recorded, valid to 2026-11-16
Authorization not required
Added "listing_history"; changed the definition of "list_listings" (18 tools before, 19 now)
⟨59 unchanged words⟩ :"Free text over the name, the tagline, the description, the origin identifier and thedescription.README excerpt: every word (up to six, 2+ letters, accents ignored) must match; ranked by bm25 with the name weighing most (10), then tagline (5), identifier (3), description (2), README excerpt (1); ties by stars. Kind, topic and transport words become filters. The `low` tail still uses LIKE.","type":"string"},"sort":{ ⟨11 unchanged words⟩ Without it, a query is ranked by relevance — bm25 over the full-text index (name 10, tagline 5, identifier 3, description 2, README excerpt 1) multiplied by 1 + 0.05·ln(1 + stars) + 0.1 if pushed in the last 180 days + 0.1 if a README was collected; ties by stars — and a plain listing by arrival.","enum ⟨10 unchanged words⟩
Added "listing_status"; changed the definition of "get_listing_readme" (17 tools before, 18 now)
README collected for a listing (R2). Only when get_listing carries readme_api; 404 when none was stored.
Moderation state of a listing (pending / live / low / hidden / blocked) — poll it after create_listing. No credential; only the decision comes back.
First tool surface recorded: 17 tools (server version 1d82a4fa)
Showing the latest 35 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨96 unchanged words⟩ publicador":{"description":"Exact publisher, as`publicador``publisher` shows it. Comma-separated values are OR'd (up ⟨139 unchanged words⟩
⟨54 unchanged words⟩ visits measured and what our domain data knows.`sinais_do_endereco``address_signals` comes from the address alone (consumer tunnel, `http://` without TLS).`registros``records` lists the catalog listings with this exact address ⟨11 unchanged words⟩ host, each with its level and signals;`mesmo_host``same_host` counts them all.`dominio``domain` has the facts about the host's domain. An address outside the catalog answers `no_catalogo: false` and`registrar``register`: submit it to get it reviewed. Cached for 5 minutes.
⟨19 unchanged words⟩ for a sponsorship, partnership or ad proposal (`tipo``type`, with the placements of `GET /api/partners`). ⟨26 unchanged words⟩ by e-mail, with `email` as the reply address. For voice, send multipart/form-data: `dados` is this JSON (up to 32 KiB), and `audio` is one WebM, Ogg or M4A audio file (up to 2 MB). Audio can replace message. The browser records up to two minutes. Audio is attached to the owner's e-mail.
⟨186 unchanged words⟩ ,"explorando"],"type":"string"},"prefer_whatsapp":{"description":"Request a WhatsApp reply. Requires whatsapp.","type":"boolean"},"projeto":{"description":"Consulting: the kind ⟨42 unchanged words⟩ "patrocinio","parceria","anuncio","consultoria"],"type":"string"},"whatsapp":{"description":"Optional reply number with country code, such as +5561999999999.","type":"string"}},"required":[ ⟨5 unchanged words⟩
⟨55 unchanged words⟩ order is by newest in the index (`recentes``recent`) and `next_cursor` is a keyset — follow ⟨26 unchanged words⟩
Read one post whole: the body in Markdown (`conteudo``content`) and the author's formatting as safe HTML (`conteudo_html``content_html`), plus the link to the original. `ord` ⟨24 unchanged words⟩ — a request never fetches the site:`conteudo_html``content_html` keeps the author's formatting through an allowlist ( ⟨11 unchanged words⟩ handlers are dropped with their content), and`conteudo``content` is the same text as Markdown — the ⟨18 unchanged words⟩
⟨94 unchanged words⟩ id from this index, never a URL.`lido_em``read_at` says when we read it. Empty list when ⟨7 unchanged words⟩
⟨49 unchanged words⟩ order is by newest in the index (`recentes``recent`) and `next_cursor` is a keyset — follow ⟨26 unchanged words⟩
⟨28 unchanged words⟩ The listing page carries the same list as`historico`;`history`; updates may be cached for up to 15 ⟨31 unchanged words⟩
⟨52 unchanged words⟩ and protocol annotations, plus the server instructions.`capacidades``capabilities` and`suspeitas``suspicions` come from the current rules, applied when ⟨13 unchanged words⟩
Claude Code allowlist — The watch list as Claude Code managed settings (allowedMcpServers, deniedMcpServers) and claude mcp add commands. `managed_settings` goes into a Claude Code managed settings source (see `docs`). `allowManagedMcpServersOnly` restricts user-added servers to this list. Checked servers rated as `risco` go to `deniedMcpServers`. The exact URL and that URL followed by `?*` permit the checked route with optional query parameters. Expired or unchecked items stay out. `comandos` has one quoted `claude mcp add` command per allowed server.
List watched tools — The MCP servers and skills the account watches, with their review level, slots and plans. Daily checks cover MCP tools, state, level, country and version. Supported skills cover changes in SKILL.md text and review signals. Source quotas can delay a check; read proxima_em and verificado_em. The e-mail goes to the verified account address and includes an unsubscribe link. Wallet-only owners follow changes through the API.
Unwatch tool — Stop watching a server; its slot becomes free.
Watch tool — Watch a remote MCP or supported SKILL.md. Daily schedule, subject to source quota; account e-mail for changes. Skills cover text and review signals, not execution. Choose a live remote MCP or a skill with a supported public raw.githubusercontent.com SKILL.md, after skill collection is enabled. Watching again is a no-op (`ja_vigiado`). Slots last 30 days with no automatic renewal. Skills do not enter the Claude Code MCP allowlist.
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"retry_key":{"description":"Optional retry key, ⟨30 unchanged words⟩
⟨6 unchanged words⟩ product: a question, or a sponsorship/partnership/advertising proposal.Free, no captcha and no payment; one message every 10 s per network (one that arrives sooner waits its turn).One route for a question and for a ⟨5 unchanged words⟩ `tipo`, with the placements of `GET /api/partners`).No captcha, no account, no payment.One message every 10 seconds per network: ⟨27 unchanged words⟩
⟨104 unchanged words⟩ ,"type":"string"},"pagamento":{"description":"`usdc`, `deposito` or `a_combinar`.","enum":["usdc","deposito","a_combinar"] ⟨57 unchanged words⟩
Creates a guest mr_… Asks for no e-mail.Publishing a listing is what requires an account (or a payment).At most 20 new guests per network per ⟨14 unchanged words⟩
Submit an MCP server, skill or plugin for review.Free while billing is off, including without an account.Limit: one submission a day and three in ⟨29 unchanged words⟩ person or agent can submit without an account.While billing is off, no payment is required.Each owner can submit once a day and ⟨7 unchanged words⟩ queue. For a skill, provide its SKILL.md URL.If agent billing is enabled, the reference price is US$ 0.10 per submission, paid through x402 or prepaid credit. The service checks the body and quota before charging.An invalid body returns 400; an exhausted quota returns 429.
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"dominio":{"description":"Domain, with no ⟨25 unchanged words⟩
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"id":{"description":"Feed id, prefix ⟨40 unchanged words⟩
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"id":{"description":"Feed id, prefix ⟨24 unchanged words⟩
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"comunidade":{"description":"fediverse, indieweb, mastodon ⟨110 unchanged words⟩
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"id":{"description":"Listing ID, from ⟨24 unchanged words⟩
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"id":{"description":"Listing ID, from ⟨24 unchanged words⟩
⟨14 unchanged words⟩ publication date.","type":"string"},"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"category":{"description":"Category declared by whoever ⟨334 unchanged words⟩
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"cursor":{"description":"Opaque cursor of the ⟨46 unchanged words⟩
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"id":{"description":"Listing ID, from ⟨24 unchanged words⟩
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"id":{"description":"Listing ID, from ⟨24 unchanged words⟩
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"id":{"description":"Listing ID, from ⟨24 unchanged words⟩
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"casou":{"description":"1 matched to a ⟨88 unchanged words⟩
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"listing":{"description":"Listing id from list_listings. ⟨23 unchanged words⟩
Submits OKF bundles from a host you control (IndexNow protocol: a key file proves ownership,no account,with nochargeaccount). Answers 202 — the key is checked by the collector before anything is read.No account, no payment: ownership is proved by a key file on the host, exactly as IndexNow does it.Host `https://<host>/<key>.txt` containing the key (or ⟨103 unchanged words⟩
⟨18 unchanged words⟩ cover text and review signals, not execution.3 free slots per owner; 402 for more. Unsupported sources are rejected before payment.Choose a live remote MCP or a skill with a supported public raw.githubusercontent.com SKILL.md, after skill collection is enabled.Unsupported skills are rejected before payment.Watching again is a no-op (`ja_vigiado`).Pay the 402 with x402 or prepaid credit and repeat the request.Slots last 30 days with no automatic renewal. ⟨9 unchanged words⟩
API access — Monthly data package and private purchase status, without charging. MAT-only balance; pass prefix mat_. Catalog discovery and ordinary browsing are free. GPTBot, ClaudeBot, CCBot, Meta-ExternalAgent, Amazonbot, AhrefsBot and MJ12bot share a daily allowance of 1,000 reads per crawler family; over it the answer is 429 until the next day. Billing is off for now: there is no package to buy and reads need no X-API-Pass. The MAT allowance is separate from the company, address and procurement indexes.
API access buy — Buy 1,000 basic data reads for US$1, valid for 30 days. Requires explicit payment. MAT-only balance; pass prefix mat_. Catalog discovery and ordinary browsing are free. GPTBot, ClaudeBot, CCBot, Meta-ExternalAgent, Amazonbot, AhrefsBot and MJ12bot share a daily allowance of 1,000 reads per crawler family; over it the answer is 429 until the next day. Billing is off for now: there is no package to buy and reads need no X-API-Pass. The MAT allowance is separate from the company, address and procurement indexes.
API usage — Remaining MAT read credits, without consuming credit.
Billing — x402 configuration in force and the agent prices for contact and publishing.
Buy plan — Buy a plan: vaga (1 more tool), equipe (50 more tools and up to 10 private projects), empresa (500 more tools and up to 10 private projects). Each purchase lasts 30 days, with no automatic renewal. Answers 402 with the price; pay with x402 or prepaid credit and repeat. Each purchase lasts 30 days, with no automatic renewal. Without payment, the answer is 402 with the price. Pay with prepaid credit (`X-Credito`) or x402 (`PAYMENT-SIGNATURE` v2 or `X-PAYMENT` v1). Without an account, the verified paying wallet owns the purchase. Use wallet agent authentication to read its plan, or claim it afte…
Cancel plan — Cancel the active plan now. What it added ends, including a paid period that has not started; that period and a purchase under 7 days are refunded. Requires accept_data_removal: true. Send `{ "accept_data_removal": true }`: what the plan added ends now (`account.cancel.losses` in `GET /api/plans` says what), including a period already paid that has not started yet, such as a renewal. A purchase made less than 7 days ago and a paid period that has not started go back the same way they were paid (card or Pix); USDC is refunded by the team.
List plans — The plans for sale, with price and term, and the account's active plan. Each purchase lasts 30 days, with no automatic renewal. Each purchase lasts 30 days, with no automatic renewal. Without an account or wallet credential, `account` is `null`.
Pricing — Current public prices and free allowances; no charge.
⟨23 unchanged words⟩ decision comes back. Every submission is born `pending`.A boundedAn automaticreviewsafetyapprovescheckclearlooks for concrete signs of fraud,low-riskmalwareMCPorlistings;datauncertaintheft.casesListingsstaywithout these signs can be approved. A risk finding or an unreadable source keeps the listing private for a person to review. This is ⟨63 unchanged words⟩
⟨25 unchanged words⟩ 30 days, with no automatic renewal. Withoutaansessionaccount or wallet credential, `account` is `null`.
Buy plan — Buy a plan: vaga (1 more tool), equipe (50 more tools and up to 10 private projects), empresa (500 more tools and up to 10 private projects). Each purchase lasts 30 days, with no automatic renewal. Answers 402 with the price; pay with x402 or prepaid credit and repeat. Each purchase lasts 30 days, with no automatic renewal. Without payment, the answer is 402 with the price. Pay with prepaid credit (`X-Credito`) or x402 and send the same request again with the same `compra` mark: it is not charged twice.
Cancel plan — Cancel the active plan now. What it added ends, including a paid period that has not started; that period and a purchase under 7 days are refunded. Requires accept_data_removal: true. Send `{ "accept_data_removal": true }`: what the plan added ends now (`account.cancel.losses` in `GET /api/plans` says what), including a period already paid that has not started yet, such as a renewal. A purchase made less than 7 days ago and a paid period that has not started go back the same way they were paid (card or Pix); USDC is refunded by the team.
List plans — The plans for sale, with price and term, and the account's active plan. Each purchase lasts 30 days, with no automatic renewal. Each purchase lasts 30 days, with no automatic renewal. Without a session, `account` is `null`.
Buy watch plan — Buy watch slots for 30 days, no auto-renewal: vaga (1 server), equipe (50) or empresa (500); prices in the pricing tool. Answers 402 with the price; pay with x402 or prepaid credit and repeat. Answers 402 with the price; pay with x402 or prepaid credit and repeat the request. Passes last 30 days with no automatic renewal; a new purchase adds slots.
TheremoteMCP serverstheandsigned-inskills the account watches, with theirsecurityreview level,theslots andtheoffers.WeDailycheckcheckseverycoverwatchedMCPservertools,oncestate,alevel,daycountry ande-mail theversion.accountSupportedwhenskillssomethingcover changes:tools added, removed orinrewritten,SKILL.mdthetextserverandstate,reviewthesignals.securitySourcelevel,quotasthecancountrydelayofathecheck;serverreadorproxima_emtheandversion.verificado_em. The e-mail goes to the verifiedaddress of theaccount address andcarriesincludes an unsubscribe link. Wallet-only owners follow changes through the API.
CheckRead a remote MCP serverbeforeorinstallingSKILL.mdit:reviewlevelbefore(risco,installing.atencao,MCP:ok)server,measured signals (deaddomain,consumer tunnel, no TLS, not answering as MCP, login required, suspicioustoolstextandinmeasuredtoolsignals.descriptions,Skill:archivedstaticorfindingsstalewithrepositoryfile,newly registered domain)line,serverexcerpt anddomain facts (registrationcontext;window,noOV/EVcommandorganization,executionotherordomainsreferenced-scriptonreview.theUnreadsameskillsTLSstaycertificate)unchecked.andRead thelast changes. Facts, notlimitsaincertification.aviso. Take the id from list_listings. We visiteveryremote MCPserver in the catalogservers:an`initialize` anda`tools/list`, without credentialsand without calling anyor tool calls, again 7 days after a success. A failurecountsneedsonlyawhensecondconfirmedcheck.onMCPasignals:seconddns_morto,visit.sem_https,`nivel`tls_invalido,sumstunel,upnao_responde,thenao_mcp,signals:texto_suspeito,`risco`redireciona_fora,(deadrepo_arquivado,domainrepo_parado,consumerdominio_recente,tunnellogin,nobloqueado.TLS)For skills,`atencao``tipo:(notskill`answeringidentifies a static SKILL.md review. It flags secret reads,notdownload-and-executeMCPcommands,suspiciousexternal uploads, invisible characters, long encoded textinandtoolbroaddescriptions,allowed-tools.redirect`revisao.achados`tosuppliesanotherthedomainpath,archivedoriginalorline,staleexcerptrepository,anddomaincontext.registeredExampleslessandthanprohibitions90dodaysnotago)raiseorthe`ok`;level.emptyExcerptsmeanshide sensitive values. The review does notcheckedrunyet.commandsSignalsor follow references. Supported source:dns_morto,publicsem_https,raw.githubusercontent.comtls_invalido,SKILL.md.tunelWatched,nao_respondevisited,nao_mcp,starredtexto_suspeito,andredireciona_fora,newrepo_arquivado,skillsrepo_parado,getdominio_recente,prioritylogin,withinbloqueado.theThesharedlevelGitHubdescribesgovernormeasuredandfacts;aitdailydoescap.notUnreadcertifyorthatunsupportedaskillstoolremainisexplicitlysafe.unchecked. Localservers,MCPskillsservers and plugins answer`conferido:`nao_remoto`.false`Nowithrequest`motivo:fetchesnao_remoto`.a third-party source. Cached for 5 minutes.
{"properties":{"id":{"description":"Listing ID (`mcp_…` or `skl_…`).","type":"string"}},"required ⟨3 unchanged words⟩
Watch a remote MCPserver:ordailysupportedcheckSKILL.md.andDailyanschedule, subject to source quota; account e-mailwhenforitschanges.tools,Skillsstate,coversecuritytextlevel,andcountryrevieworsignals,versionnotchange.execution. 3 free slots peraccount;owner; 402 for more.OnlyUnsupported sources are rejected before payment. Choose a live remote MCPserversorofatheskillcatalogwithcanabesupportedwatched.public raw.githubusercontent.com SKILL.md, after skill collection is enabled. Unsupported skills are rejected before payment. Watching again is a no-op (`ja_vigiado`). Pay the 402 with x402 or prepaid credit and repeat thesame request; the slot isrequest.validSlotsforlast 30 days,with no automatic renewal. Skills do not enter the Claude Code MCP allowlist.
{"properties":{"listing_id":{"description":"Listing ID (`mcp_…` or `skl_…`) from `/api/listings`.","type":"string"}} ⟨4 unchanged words⟩
List watched tools — The remote MCP servers the signed-in account watches, with their security level, the slots and the offers. We check every watched server once a day and e-mail the account when something changes: tools added, removed or rewritten, the server state, the security level, the country of the server or the version. The e-mail goes to the verified address of the account and carries an unsubscribe link.
Listing security — Check a remote MCP server before installing it: level (risco, atencao, ok), measured signals (dead domain, consumer tunnel, no TLS, not answering as MCP, login required, suspicious text in tool descriptions, archived or stale repository, newly registered domain), server and domain facts (registration window, OV/EV organization, other domains on the same TLS certificate) and the last changes. Facts, not a certification. Take the id from list_listings. We visit every remote MCP server in the catalog: an `initialize` and a `tools/list`, without credentials and without calling any tool, again 7 d…
Listing tools — The tools and instructions a remote MCP server announced at its last check, with what they mention doing and any suspicious text. 404 tools_not_read when the server was not read yet. The announced manifest, normalized: each tool's name, title, description (up to 4,000 characters), input schema (null above 8,000 characters) and protocol annotations, plus the server instructions. `capacidades` and `suspeitas` come from the current rules, applied when you read. Reading this endpoint never contacts the server. Cached for 5 minutes.
Unwatch tool — Stop watching a server; its slot becomes free.
Watch tool — Watch a remote MCP server: daily check and an e-mail when its tools, state, security level, country or version change. 3 free slots per account; 402 for more. Only live remote MCP servers of the catalog can be watched. Watching again is a no-op (`ja_vigiado`). Pay the 402 with x402 or prepaid credit and repeat the same request; the slot is valid for 30 days, with no automatic renewal.
README collected for aCollectedlistingproject(R2).documentation.OnlyAvailable when get_listingcarriesincludes readme_api; 404 whennoneno copy was stored. The text lives in R2 ( ⟨40 unchanged words⟩
⟨22 unchanged words⟩ the decision comes back. Every submission is born`pending``pending`.andAaboundedpersonautomatic review approvesitclear,bylow-riskhand;MCPthislistings; uncertain cases stay private for a person to review. This is the receipt you poll after `POST /api/listings` ⟨56 unchanged words⟩
Briefings links — Curated engineering links filtered by topic and source type (paper, repo, model, dataset, demo, video, docs, article, post), 20 per page, with the count of each filter value. Values inside one parameter are OR'd; the two parameters are AND'd. Unknown values are ignored. Follow `_links.next` to walk everything.
Briefings topics — Which engineering topics have curated briefings, how many links each has and the newest links across all of them. Each link comes with its source, source type and a two-line summary. Topics are public bookmark folders (CUDA, inference, RAG, agents…). Each item is a post someone saved, its main source, the source type and a two-line summary in English and Portuguese. `?resumo=1` returns only `total` and each topic's `slug` and `total`. 404 until the first publication.
before
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"A2a agent search"}before
—after
API accessbefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"API access"}before
—after
API access buybefore
—after
{"destructiveHint":false,"idempotentHint":false,"readOnlyHint":false,"title":"API access buy"}before
—after
API indexbefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"API index"}before
—after
API usagebefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"API usage"}before
—after
Billingbefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"Billing"}before
—after
Contactbefore
—after
{"destructiveHint":false,"idempotentHint":false,"readOnlyHint":false,"title":"Contact"}before
—after
Create guestbefore
—after
{"destructiveHint":false,"idempotentHint":false,"readOnlyHint":false,"title":"Create guest"}before
—after
Create listingbefore
—after
{"destructiveHint":false,"idempotentHint":false,"readOnlyHint":false,"title":"Create listing"}before
—after
Feed findbefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"Feed find"}before
—after
Feed postbefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"Feed post"}before
—after
Feed postsbefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"Feed posts"}before
—after
Feed searchbefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"Feed search"}before
—after
Get bundlebefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"Get bundle"}before
—after
Get listingbefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"Get listing"}before
—after
Get listing readmebefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"Get listing readme"}before
—after
Go listingbefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"Go listing"}before
—after
Healthbefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"Health"}before
—after
Index statsbefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"Index stats"}before
—after
Like listingbefore
—after
{"destructiveHint":false,"idempotentHint":false,"readOnlyHint":false,"title":"Like listing"}before
—after
List commentsbefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"List comments"}before
—after
List listingsbefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"List listings"}before
—after
List MCP serversbefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"List MCP servers"}before
—after
Listing historybefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"Listing history"}before
—after
Listing statusbefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"Listing status"}before
—after
MCP index searchbefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"MCP index search"}before
—after
MCP index signalsbefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"MCP index signals"}before
—after
Pricingbefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"Pricing"}before
—after
Search bundlesbefore
—after
{"destructiveHint":false,"idempotentHint":true,"readOnlyHint":true,"title":"Search bundles"}before
—after
Submit OKFbefore
—after
{"destructiveHint":false,"idempotentHint":false,"readOnlyHint":false,"title":"Submit OKF"}⟨37 unchanged words⟩ daily allowance of 1,000 reads per crawlerfamily.family;FurtheroverreadsitrequiretheaanswerMATispackage:429US$1untilforthe1,000nextreads,day.validBilling is off for30now:days,therewithoutisautomaticnorenewal.packageSendtoX-API-Passbuyonandreads.reads need no X-API-Pass. The MATbalanceallowance is separate from the company, address and procurement indexes.
AgentWritecontactto the people behind the product: a question, or a sponsorship/partnership/advertising proposal.$0.10Free,x402.noAftercaptchatheand1stno payment; one message:429every+10Retry-Afters per network (backoffone that arrives sooner waits its turn).TheOnefirstrouteagentfor a question and for a sponsorship, partnership or ad proposal (`tipo`, with the placements of `GET /api/partners`). No captcha, no account, no payment. One messageiseveryfree;10afterseconds per network: one thatthearrivesbackoffsooneriswaits60sitsdoublingturnupandtothenagoes1-houroutcap— no error. The message reaches the team by e-mail,announcedwithin`email``Retry-After`.as the reply address.
⟨32 unchanged words⟩ already has one gets it back from the`guest``mr_guest` cookie.
IndexSelf-describingofindex: theMuralwholeAPI.API surface, with quota and quickstart.
x402 configuration in force and the agent prices for contact andnetwork.publishing.
⟨10 unchanged words⟩ 1st message: 429 + Retry-After (backoff). The first agent message is free; after that the backoff is 60s doubling up to a 1-hour cap, announced in `Retry-After`.
Creates a guest mr_… Asks for no e-mail. Publishing a listing is what requires an account (or a payment). At most 20 new guests per network per hour; a browser that already has one gets it back from the `guest` cookie.⟨9 unchanged words⟩ free; agent without session = 402 $0.10). A person reviews it by hand; poll `status_api` (`GET /api/listings/:id/status`, no credential) to learn the decision. Two doors to the same action. Human with a session: free, 1 per day, at most 3 in the queue. Agent (with or without a guest): **402 with `accepts[]`**, $0.10 — pay and repeat. For a skill, the `SKILL.md` URL is enough; the rest is checked. **Validates before charging:** a refused body (400) and an exhausted quota (429) come BEFORE the 402, so no payment settles for a listing already known not to get in. A valid body without payment keeps receiving the 402 with the price.
⟨16 unchanged words⟩ question a reader or an agent actually asks. Find feeds by text, format, language and availability. Filter and text search run in the SAME full-text query: values inside one parameter are OR'd, different parameters are AND'd. Without `q` the order is by newest in the index (`recentes`) and `next_cursor` is a keyset — follow `next` to walk everything. With `q` the order is relevance and paging is by `offset`. We index and link; the feeds belong to whoever publishes them.
⟨23 unchanged words⟩ `ord` comes from feed_posts; 0 is the newest. Two bodies for the same post, both produced when we READ the feed, never at request time: `conteudo_html` keeps the author's formatting through an allowlist (only known tags and attributes survive; script, style, iframe and event handlers are dropped with their content), and `conteudo` is the same text as Markdown — the shape an agent usually wants. Neither can carry script. 404 when the feed or the position is unknown.
⟨36 unchanged words⟩ an id from this index, never a URL. Up to 40 posts, in the order the feed publishes them, WITHOUT the body — the body of one post comes from `/items/:ord`. It is OUR copy, read on our own schedule — not the live feed and not a proxy: the only thing this endpoint accepts is an id from this index, never a URL. `lido_em` says when we read it. Empty list when the feed has not been read yet.
⟨10 unchanged words⟩ community, namespace and year of the newest item. Find feeds by text, format, language and availability. Filter and text search run in the SAME full-text query: values inside one parameter are OR'd, different parameters are AND'd. Without `q` the order is by newest in the index (`recentes`) and `next_cursor` is a keyset — follow `next` to walk everything. With `q` the order is relevance and paging is by `offset`. We index and link; the feeds belong to whoever publishes them.
⟨6 unchanged words⟩ version, concept count, provenance and repository signal. `live` and `low` (example or fixture bundles kept out of the search) both answer here.
One listing's page. The owner sees their own even when pending or hidden.⟨9 unchanged words⟩ get_listing carries readme_api; 404 when none was stored. The text lives in R2 (`mural-coleta`). This call does not write and does not fetch GitHub. Same visibility as the listing page. Call it only when the listing page carries `readme_api`: a page without it has no README collected, and this route answers 404.
302 hop to the listing's origin (counts a visit). Counts at most 1 visit per owner per day. The `X-Visit-Counted` header says whether this call counted — it is how the client knows without counting twice.Liveness.Liveness and the commit deployed right now — it is how the smoke waits for its own deploy.
ReversibleLikeslike.the listing; DELETE undoes it. Calling again does not add up: the counter counts people.
Comments on a live listing. With a credential on the call, each comment of yours comes with `mine: true`.⟨5 unchanged words⟩ servers, skills, plugins and OKF knowledge bundles. `live` listings first and the `low` tail (few stars or no clear license) after them in every order — `low=0` leaves the tail out. To walk everything, follow `next`: without `q` it is a cursor (`next_cursor`, keyset on the order's index) and has no ceiling; every listing also has an HTML page at `/l/:id` and the shards of `/sitemap-listings.xml` list them all. `q` runs on a full-text index (FTS5, bm25) kept in the same transaction as every text write. With `q` and `low=0`, `low_count` says how many `low` listings the filter left out — LIKE with a cap of 200. The query is mapped onto kind/topic/transport filters unless `interpret=0`.
MCP subregistry (GET /v0.1/servers). Only live kind=mcp. Only `kind=mcp` and only `live`. It is the route a generic MCP client knows how to read without knowing this product. `GET /v0/servers` is an alias of the same resource, kept for whoever already pointed there — this is the canonical URL.⟨20 unchanged words⟩ empty when nothing changed since the series began. The listing page carries the same list as `historico`; updates may be cached for up to 15 minutes. An empty list means no change since the series began — the listing still exists. Stale means no push for 12 months. Reading this endpoint does not refresh the record.
⟨18 unchanged words⟩ create_listing. No credential; only the decision comes back. Every submission is born `pending` and a person approves it by hand; this is the receipt you poll after `POST /api/listings` (its response carries this URL as `status_api`). Only the decision comes back, never the unreviewed content: the id (`lst_…`, unguessable) is all it takes, and the page itself keeps its rule — owner only until it is public. Answers are cached for 60 s per point of presence: poll every few minutes, not every second.
⟨8 unchanged words⟩ this catalog does not list yet (casou=0). Newest change first. `casou=0` is what the indexes know and the catalog does not — the list to look at before submitting a server. Filters are AND'd.
⟨27 unchanged words⟩ with its license. Take the id from list_listings. A signal belongs to a listing only when it is the SAME object: the name in the official MCP registry, the exact remote endpoint URL or the GitHub `owner/repo`, in that order. A shared domain never matches — two servers on one host are different products. Up to 20 signals, one per index and record.
⟨26 unchanged words⟩ count; search root concept text. Paginate with limit/offset. Only `live` bundles. Free text matches the name, the tagline, the description and the origin identifier (`owner/repo:path` or the bundle URL). No `total` on purpose: `GET /api/okf/stats` has it.
⟨25 unchanged words⟩ checked by the collector before anything is read. No account, no payment: ownership is proved by a key file on the host, exactly as IndexNow does it. Host `https://<host>/<key>.txt` containing the key (or point `keyLocation` at another path on the SAME host), then send the bundle URLs. We answer **202**: the key has not been checked yet. Verification and reading happen on our collector, never at the edge — so nothing is published, and no URL of yours is fetched, before the key matches. Re-sending a URL is how you say the bundle changed; it goes back in line to be re-read. At most 100 URLs per request and 200 per host per UTC day. The same queue is served by `POST https://okfindex.com/api/ping`, the index's own home — search, bundle cards and statistics live there.
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"id":{"description":"Feed id, prefix fd_.","type":"string"},"retry_key":{"description":"Optional retry key, up to 80 ASCII characters; same read for five minutes.","type":"string"}},"required": ⟨3 unchanged words⟩
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"comunidade":{"description":"fediverse, indieweb, mastodon ⟨67 unchanged words⟩ "media","slash","wfw","georss"],"type":"string"},"retry_key":{"description":"Optional retry key, up to 80 ASCII characters; same read for five minutes.","type":"string"},"tipo":{" ⟨19 unchanged words⟩
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"id":{"description":"Listing ID, from `Anuncio.id`.","type":"string"},"retry_key":{"description":"Optional retry key, up to 80 ASCII characters; same read for five minutes.","type":"string"}},"required": ⟨3 unchanged words⟩
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"id":{"description":"Listing ID, from `Anuncio.id`.","type":"string"},"retry_key":{"description":"Optional retry key, up to 80 ASCII characters; same read for five minutes.","type":"string"}},"required": ⟨3 unchanged words⟩
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"category":{"description":"Category declared by whoever ⟨114 unchanged words⟩ The `low` tail is in the same index.","type":"string"},"retry_key":{"description":"Optional retry key, up to 80 ASCII characters; same read for five minutes.","type":"string"},"sort":{ ⟨81 unchanged words⟩
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"cursor":{"description":"Opaque cursor of the ⟨10 unchanged words⟩ ":"Servers per page.","type":"number"},"retry_key":{"description":"Optional retry key, up to 80 ASCII characters; same read for five minutes.","type":"string"},"search":{"description":"Free text ⟨10 unchanged words⟩
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"id":{"description":"Listing ID, from `Anuncio.id`.","type":"string"},"retry_key":{"description":"Optional retry key, up to 80 ASCII characters; same read for five minutes.","type":"string"}},"required": ⟨3 unchanged words⟩
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"casou":{"description":"1 matched to a ⟨60 unchanged words⟩ description":"Substring of name, URL or repository.","type":"string"},"retry_key":{"description":"Optional retry key, up to 80 ASCII characters; same read for five minutes.","type":"string"}},"type":"object"}
{"properties":{"api_pass":{"description":"MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.","type":"string"},"listing":{"description":"Listing id from list_listings.","type":"string"},"retry_key":{"description":"Optional retry key, up to 80 ASCII characters; same read for five minutes.","type":"string"}},"required": ⟨3 unchanged words⟩
Monthly data package and private purchase status, without charging. MAT-only balance; pass prefix mat_.
Buy 1,000 basic data reads for US$1, valid for 30 days. Requires explicit payment. MAT-only balance; pass prefix mat_.
Remaining MAT read credits, without consuming credit.
Browse what independent MCP indexes measured, including servers this catalog does not list yet (casou=0).
Does this MCP server still answer, with which access, and is its repository alive? What independent MCP indexes measured about one listing of this catalog, each credited with its license. Take the id from list_listings.
Timeline of the listing's repository: last events (abandono = no push for 12 months, sumiu, renomeado, readme_mudou, manifesto_mudou), newest first; empty when nothing changed since the series began.