accueil / serveurs / IA & Mémoire / com.agentalog/meta-agent-tools
com.agentalog/meta-agent-tools
serveur MCP (Model Context Protocol) · Agentalog 5235c8a0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que com.agentalog/meta-agent-tools est sûr ?
Au dernier audit MCP Hub, le serveur MCP « com.agentalog/meta-agent-tools » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 35 outils
- a2a_agent≈ 232 tokens
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.
Paramètres, retour & exemple (2)
Paramètreschave· string · requis
Agent key (`key`) from a2a_agent_search, usually the card's domain.retry_key· string · optionnel
Optional retry key, up to 80 ASCII characters; same read for five minutes.
Exemple d'appel{"name": "a2a_agent", "arguments": {"chave": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - a2a_agent_search≈ 675 tokens
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: `sources` says which, and `credits` 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 catalog read, served by the index host `https://api.agentalog.com`; this host forwards the call there.
Paramètres, retour & exemple (10)
Paramètresq· string · optionnel
Substring of the name, description, key, publisher or the card's skills, in any letter case (`%` and `_` are taken literally); up to 80 characters.tag· string · optionnel
Exact tag of the card's skills, case-sensitive; `/api/a2a/facets` lists the 40 most used. Comma-separated values are OR'd (up to 12, each up to 200 characters).fonte· string · optionnel · a2a_registry | a2a_global | agenstry
Only agents listed by this registry. Comma-separated values are OR'd (up to 12, each up to 200 characters).limit· integer · optionnel
Items per page, 1–50; more is capped at 50, anything else means 20.saude· string · optionnel · sim | nao | sem_medida
Health the registries measured: `sim` answered, `nao` did not, `sem_medida` never measured. Comma-separated values are OR'd (up to 12, each up to 200 characters).offset· integer · optionnel
Offset, capped at 20000 (a larger value reads as 20000). Prefer `_links.next`.skills· string · optionnel · 1
`1` keeps only agents whose card lists at least one skill.protocolo· string · optionnel
A2A protocol version as normalized (`0.3`, `1.0`…); `/api/a2a/facets` lists the ones present. Comma-separated values are OR'd (up to 12, each up to 200 characters).retry_key· string · optionnel
Optional retry key, up to 80 ASCII characters; same read for five minutes.publicador· string · optionnel
Exact publisher, as `publisher` shows it. Comma-separated values are OR'd (up to 12, each up to 200 characters).
Exemple d'appel{"name": "a2a_agent_search", "arguments": {"q": "texte", "tag": "texte", "fonte": "a2a_registry", "limit": 1, "saude": "sim", "offset": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - api_index≈ 74 tokens
Self-describing index: the whole API surface, with quota and quickstart.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "api_index", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - briefings_links≈ 224 tokens
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.
Paramètres, retour & exemple (3)
Paramètrespage· integer · optionnel
Page, from 1.tipo· string · optionnel · paper | repo | model | dataset | demo | video | docs | article
Source types, comma-separated.topico· string · optionnel
Topic slugs, comma-separated (from briefings_topics).
Exemple d'appel{"name": "briefings_links", "arguments": {"page": 1, "tipo": "paper", "topico": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - briefings_topics≈ 180 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "briefings_topics", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_tool≈ 327 tokens
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. `address_signals` comes from the address alone (consumer tunnel, `http://` without TLS). `records` lists the catalog listings with this exact address first (`exato: true`), then up to 20 others on the same host, each with its level and signals; `same_host` counts them all. `domain` has the facts about the host's domain. An address outside the catalog answers `no_catalogo: false` and `register`: submit it to get it reviewed. Cached for 5 minutes.
Paramètres, retour & exemple (2)
Paramètresurl· string · requis
The http(s) endpoint of the MCP server, without credentials.retry_key· string · optionnel
Optional retry key, up to 80 ASCII characters; same read for five minutes.
Exemple d'appel{"name": "check_tool", "arguments": {"url": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - claude_code_allowlist≈ 199 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "claude_code_allowlist", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - contact≈ 833 tokens
Write to the people behind the product: a question, or a sponsorship/partnership/advertising proposal. One route for a question and for a sponsorship, partnership or ad proposal (`type`, with the placements of `GET /api/partners`). One message every 10 seconds per network: one that arrives sooner waits its turn and then goes out — no error. The message reaches the team 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.
Paramètres, retour & exemple (18)
Paramètresfuso· string · optionnel
Consulting: the IANA time zone, such as `America/New_York`.name· string · requis
What to call the person writing.pais· string · optionnel
Consulting: the country of the person asking.site· string · optionnel
Website of who is proposing.tipo· string · optionnel · patrocinio | parceria | anuncio | consultoria
Proposal: `patrocinio`, `parceria`, `anuncio` or `consultoria`. Turns on the fields below.email· string · requis
Where to reply.prazo· string · optionnel · agora | 1_mes | 1_3_meses | explorando
Consulting: when to start (`agora`, `1_mes`, `1_3_meses` or `explorando`).espaco· array · optionnel
Placement ids from `GET /api/partners`, up to 6.duracao· string · optionnel · 30 | 90 | 365
Exposure in days: `30`, `90` or `365`.empresa· string · optionnel
Who is proposing, when it is a company.formato· string · optionnel · projeto | mensal | assessoria
Consulting: `projeto` (per scope), `mensal` (monthly) or `assessoria` (advisory).message· string · requis
What you want to say.projeto· string · optionnel · llm_privado | voz | dados_sensiveis | gpu | integracao | outro
Consulting: the kind of project (`llm_privado`, `voz`, `dados_sensiveis`, `gpu`, `integracao` or `outro`).horarios· array · optionnel
Consulting: up to 3 times for the call, `YYYY-MM-DDTHH:MM` in that time zone.whatsapp· string · optionnel
Optional reply number with country code, such as +5561999999999.orcamento· string · optionnel · ate_100 | 100_500 | 500_2000 | 2000_mais | a_combinar | ate_2000 | 2000_5000 | 5000_10000
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`.pagamento· string · optionnel · usdc | deposito | a_combinarprefer_whatsapp· boolean · optionnel
Request a WhatsApp reply. Requires whatsapp.
Exemple d'appel{"name": "contact", "arguments": {"name": "texte", "email": "texte", "message": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_guest≈ 98 tokens
Creates a guest mr_… Asks for no e-mail. At most 20 new guests per network per hour; a browser that already has one gets it back from the `mr_guest` cookie.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "create_guest", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_listing≈ 367 tokens
Submit an MCP server, skill or plugin for review. Limit: one submission a day and three in the queue per owner. Automatic review approves supported low-risk MCP listings; uncertain cases wait for a person. Poll `status_api` (`GET /api/listings/:id/status`, no credential) to learn the decision. A person or agent can submit without an account. Each owner can submit once a day and keep up to three submissions in the queue. For a skill, provide its SKILL.md URL. An invalid body returns 400; an exhausted quota returns 429.
Paramètres, retour & exemple (6)
Paramètresurl· string · requis
MCP endpoint, SKILL.md URL, the plugin's repository or the OKF bundle's `index.md`. For an OKF bundle on a domain you control, `POST /api/okf/ping` is free.body· string · optionnel
Long description, optional.kind· string · requis · mcp | skill | plugin | okf
What is being registered.name· string · optionnel
Display name; without it, taken from the source.tagline· string · optionnel
One line saying what it is for.category· string · optionnel
Category so the listing shows up under the right filter.
Exemple d'appel{"name": "create_listing", "arguments": {"url": "texte", "kind": "mcp"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - feed_find≈ 253 tokens
Does this site publish a feed? Answers with every feed known for a domain — the 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 (`recent`) 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.
Paramètres, retour & exemple (2)
Paramètresdominio· string · requis
Domain, with no scheme: example.comretry_key· string · optionnel
Optional retry key, up to 80 ASCII characters; same read for five minutes.
Exemple d'appel{"name": "feed_find", "arguments": {"dominio": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - feed_post≈ 294 tokens
Read one post whole: the body in Markdown (`content`) and the author's formatting as safe HTML (`content_html`), plus the link to the original. `ord` comes from feed_posts; 0 is the newest. Two bodies for the same post, both from the copy we stored when we READ the feed — a request never fetches the site: `content_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 `content` 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.
Paramètres, retour & exemple (3)
Paramètresid· string · requis
Feed id, prefix fd_.ord· integer · requis
Position of the post in the feed; 0 is the newest.retry_key· string · optionnel
Optional retry key, up to 80 ASCII characters; same read for five minutes.
Exemple d'appel{"name": "feed_post", "arguments": {"id": "texte", "ord": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - feed_posts≈ 259 tokens
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. 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. `read_at` says when we read it. Empty list when the feed has not been read yet.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
Feed id, prefix fd_.retry_key· string · optionnel
Optional retry key, up to 80 ASCII characters; same read for five minutes.
Exemple d'appel{"name": "feed_posts", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - feed_search≈ 452 tokens
Search the feed index by text and filters: format, audio/video, 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 (`recent`) 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.
Paramètres, retour & exemple (8)
Paramètresq· string · optionnel
Free text over name, description and domain.tipo· string · optionnel · rss2 | rss1 | atom | json | rss
rss2, rss1, atom, json (comma-separated = OR).limit· integer · optionnel
Feeds per page, 1-50.midia· string · optionnel · audio | video
audio, video.origem· string · optionnel · index | blogroll | bridge
index, blogroll, bridge.recurso· string · optionnel · content | itunes | podcast | media | slash | wfw | georss
content, itunes, podcast, media, slash, wfw, georss.retry_key· string · optionnel
Optional retry key, up to 80 ASCII characters; same read for five minutes.comunidade· string · optionnel · fediverse | indieweb | mastodon | friendica | wordpress | funkwhale | blogroll
fediverse, indieweb, mastodon, friendica, wordpress, funkwhale.
Exemple d'appel{"name": "feed_search", "arguments": {"q": "texte", "tipo": "rss2", "limit": 1, "midia": "audio", "origem": "index", "recurso": "content"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_bundle≈ 130 tokens
One bundle's card: root index.md URL, version, concept count, provenance and repository signal. `live` and `low` (example or fixture bundles kept out of the search) both answer here.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Bundle id, the `id` of every item in the list.
Exemple d'appel{"name": "get_bundle", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_listing≈ 131 tokens
One listing's page. The owner sees their own even when pending or hidden.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
Listing ID, from `Anuncio.id`.retry_key· string · optionnel
Optional retry key, up to 80 ASCII characters; same read for five minutes.
Exemple d'appel{"name": "get_listing", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_listing_readme≈ 209 tokens
Collected project documentation. Available when get_listing includes readme_api; 404 when no copy 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.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
Listing ID, from `Anuncio.id`.retry_key· string · optionnel
Optional retry key, up to 80 ASCII characters; same read for five minutes.
Exemple d'appel{"name": "get_listing_readme", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - go_listing≈ 166 tokens
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. 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.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
ID of the listing to visit.
Exemple d'appel{"name": "go_listing", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - health≈ 77 tokens
Liveness and the commit deployed right now — it is how the smoke waits for its own deploy.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "health", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - index_stats≈ 72 tokens
Size of the index by provenance and when it last changed.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "index_stats", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - like_listing≈ 118 tokens
Likes the listing; DELETE undoes it. Calling again does not add up: the counter counts people.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
ID of the listing to like.guest_token· string · requis
Exemple d'appel{"name": "like_listing", "arguments": {"id": "texte", "guest_token": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_comments≈ 106 tokens
Comments on a live listing. With a credential on the call, each comment of yours comes with `mine: true`.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
ID of the listing.
Exemple d'appel{"name": "list_comments", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_listings≈ 893 tokens
Public mosaic of live MCP 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`.
Paramètres, retour & exemple (16)
Paramètresq· string · optionnel
Free text over the name, the tagline, the description, the origin identifier and the 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 is in the same index.low· string · optionnel · 0
`0` leaves the `low` tail out; by default it comes after the `live` listings in every order.kind· string · optionnel · mcp | skill | plugin
Which kind of resource to fetch.sort· string · optionnel · relevancia | recent | stars | likes | visits | nome
Result order. 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.license· string · optionnel
Repository licenses, comma-separated, for example MIT,Apache-2.0. Preserve case.max_prs· string · optionnel
Maximum open pull requests of a repository with collected activity data.min_prs· string · optionnel
Minimum open pull requests of a repository with collected activity data.category· string · optionnel
Category declared by whoever published.has_code· string · optionnel · 0 | 1
Whether a repository link is available. This does not certify the code.language· string · optionnel
Repository code languages, comma-separated. Preserve case, for example Python.interpret· string · optionnel · 0
`0` disables query understanding and searches the raw string.min_forks· string · optionnel
Minimum forks of a repository with collected activity data.min_stars· string · optionnel
Minimum repository stars, from 0 to 999999999.retry_key· string · optionnel
Optional retry key, up to 80 ASCII characters; same read for five minutes.added_since· string · optionnel
Catalog arrival on or after YYYY-MM-DD. This is not the original publication date.pushed_since· string · optionnel
Last repository code push on or after YYYY-MM-DD.
Exemple d'appel{"name": "list_listings", "arguments": {"q": "texte", "low": "0", "kind": "mcp", "sort": "relevancia", "license": "texte", "max_prs": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_mcp_servers≈ 238 tokens
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.
Paramètres, retour & exemple (4)
Paramètreslimit· number · optionnel
Servers per page.cursor· string · optionnel
Opaque cursor of the next page, from `metadata.next_cursor`.search· string · optionnel
Free text over the server's name and description.retry_key· string · optionnel
Optional retry key, up to 80 ASCII characters; same read for five minutes.
Exemple d'appel{"name": "list_mcp_servers", "arguments": {"limit": 1, "cursor": "texte", "search": "texte", "retry_key": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_watched_tools≈ 169 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_watched_tools", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - listing_history≈ 232 tokens
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. The listing page carries the same list as `history`; 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.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
Listing ID, from `Anuncio.id`.retry_key· string · optionnel
Optional retry key, up to 80 ASCII characters; same read for five minutes.
Exemple d'appel{"name": "listing_history", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - listing_security≈ 464 tokens
Read a remote MCP server or SKILL.md review before installing. MCP: server, domain, tools and measured signals. Skill: static findings with file, line, excerpt and context; no command execution or referenced-script review. Unread skills stay unchecked. Read the limits in aviso. Take the id from list_listings. We visit remote MCP servers: `initialize` and `tools/list`, without credentials or tool calls, again 7 days after a success. A failure needs a second check. MCP signals: dns_morto, sem_https, tls_invalido, tunel, nao_responde, nao_mcp, texto_suspeito, redireciona_fora, repo_arquivado, repo_parado, dominio_recente, login, bloqueado. For skills, `tipo: skill` identifies a static SKILL.md review. It flags secret reads, download-and-execute commands, external uploads, invisible characters, long encoded text and broad allowed-tools. `revisao.achados` supplies the path, original line, excerpt and context. Examples and prohibitions do not raise the level. Excerpts hide sensitive values. The review does not run commands or follow references. Supported source: public raw.githubusercontent.com SKILL.md. Watched, visited, starred and new skills get priority within the shared GitHub governor and a daily cap. Unread or unsupported skills remain explicitly unchecked. Local MCP servers and plugins answer `not_remote`. No request fetches a third-party source. Cached for 5 minutes.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
Listing ID, from `Anuncio.id`.retry_key· string · optionnel
Optional retry key, up to 80 ASCII characters; same read for five minutes.
Exemple d'appel{"name": "listing_security", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - listing_status≈ 286 tokens
Moderation state of a listing (pending / live / low / hidden / blocked) — poll it after create_listing. No credential; only the decision comes back. Every submission is born `pending`. An automatic safety check looks for concrete signs of fraud, malware or data theft. Listings without these signs can be approved. A risk finding or an unreadable source keeps the listing private for a person to review. 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.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Listing ID, from the `id` of the `POST /api/listings` response.
Exemple d'appel{"name": "listing_status", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - listing_tools≈ 248 tokens
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. `capabilities` and `suspicions` come from the current rules, applied when you read. Reading this endpoint never contacts the server. Cached for 5 minutes.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
Listing ID, from `Anuncio.id`.retry_key· string · optionnel
Optional retry key, up to 80 ASCII characters; same read for five minutes.
Exemple d'appel{"name": "listing_tools", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - mcp_index_search≈ 349 tokens
Browse what independent MCP indexes measured, including servers 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. With `q`, `total` is the exact number of matches, including when the requested page is empty.
Paramètres, retour & exemple (6)
Paramètresq· string · optionnel
Substring of name, URL or repository.casou· string · optionnel · 0 | 1
1 matched to a listing, 0 not in the catalog.fonte· string · optionnel · wellknown | agent_tools | nerq | truespar | neuronto | paygent | hultra
One index: wellknown, agent_tools, nerq, truespar, neuronto, paygent, hultra.limit· integer · optionnel
Signals per page, 1-50.estado· string · optionnel · vivo | fora | parado | abandonado | apagado | desconhecido
vivo, fora, parado, abandonado, apagado, desconhecido.retry_key· string · optionnel
Optional retry key, up to 80 ASCII characters; same read for five minutes.
Exemple d'appel{"name": "mcp_index_search", "arguments": {"q": "texte", "casou": "0", "fonte": "wellknown", "limit": 1, "estado": "vivo", "retry_key": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - mcp_index_signals≈ 249 tokens
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. 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.
Paramètres, retour & exemple (2)
Paramètreslisting· string · requis
Listing id from list_listings.retry_key· string · optionnel
Optional retry key, up to 80 ASCII characters; same read for five minutes.
Exemple d'appel{"name": "mcp_index_signals", "arguments": {"listing": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_bundles≈ 589 tokens
Search the index of OKF bundles: free text over name, tagline, description and origin; filter by provenance (github|domain), repository, version, language, license, root type or concept 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.
Paramètres, retour & exemple (12)
Paramètresq· string · optionnel
Free text over name, tagline, description and origin identifier.repo· string · optionnel
Only bundles of one repository, `owner/repo` (case-insensitive).sort· string · optionnel · recent | updated | name | stars
Result order: arrival, last content change, name or repository stars.type· string · optionnel
Type declared by the root, not the types of every concept. Up to 5 comma-separated values, 40 characters each.limit· integer · optionnel
Bundles per page, at most 100.offset· integer · optionnel
How many bundles to skip. Use `next_offset` from the previous response; the list ends at 1000.origin· string · optionnel · github | domain
Provenance: found by the GitHub sweep, or submitted by a domain.concept· string · optionnel
Text in the indexed root content, including listed concept names and summaries (first 1000 characters); up to 80 characters.license· string · optionnel
Repository license. Up to 5 comma-separated values, 40 characters each.version· string · optionnel
Only bundles declaring one of these `okf_version` values; comma-separated, up to 5.concepts· string · optionnel
Number of entries listed by the root. Up to 5 comma-separated bands: 0,1-5,6-20,21-100,101+.language· string · optionnel
Only bundles whose repository language is one of these; comma-separated, up to 5 (GitHub bundles).
Exemple d'appel{"name": "search_bundles", "arguments": {"q": "texte", "repo": "texte", "sort": "recent", "type": "texte", "limit": 1, "offset": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - submit_okf≈ 392 tokens
Submits OKF bundles from a host you control (IndexNow protocol: a key file proves ownership, with no account). Answers 202 — the key is checked by the collector before anything is read. 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.
Paramètres, retour & exemple (4)
Paramètreskey· string · requis
8 to 128 characters of [a-zA-Z0-9-].host· string · requis
The host that owns the bundles.urlList· array · requis
Bundle `index.md` URLs. https, on `host`, ending in .md. No fixed path: the spec defines no discovery convention.keyLocation· string · optionnel
Where the key file lives. Defaults to `https://<host>/<key>.txt`; must be on `host`.
Exemple d'appel{"name": "submit_okf", "arguments": {"key": "texte", "host": "texte", "urlList": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - unwatch_tool≈ 94 tokens
Stop watching a server; its slot becomes free.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Listing ID (`mcp_…` or `skl_…`).
Exemple d'appel{"name": "unwatch_tool", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - watch_tool≈ 200 tokens
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.
Paramètres, retour & exemple (1)
Paramètreslisting_id· string · requis
Listing ID (`mcp_…` or `skl_…`) from `/api/listings`.
Exemple d'appel{"name": "watch_tool", "arguments": {"listing_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».