{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_zv3jfsvs27v7","handle":"meta-agent-tools-meta-agent-tools","url":"https://wellknown.network/agents/meta-agent-tools-meta-agent-tools","links":{"self":"https://wellknown.network/agents/meta-agent-tools-meta-agent-tools/record.json","html":"https://wellknown.network/agents/meta-agent-tools-meta-agent-tools","markdown":"https://wellknown.network/agents/meta-agent-tools-meta-agent-tools/record.md","api":"https://wellknown.network/api/v1/agents/meta-agent-tools-meta-agent-tools","status":"https://wellknown.network/api/v1/agents/meta-agent-tools-meta-agent-tools/status","claim":"https://wellknown.network/agents/meta-agent-tools-meta-agent-tools/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/meta-agent-tools-meta-agent-tools/claim.json","badge":"https://wellknown.network/agents/meta-agent-tools-meta-agent-tools/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/meta-agent-tools-meta-agent-tools/history","tools":"https://wellknown.network/api/v1/agents/meta-agent-tools-meta-agent-tools/tools"},"ard":{"identifier":"urn:air:agentalog.com:agent:meta-agent-tools-meta-agent-tools","type":"application/a2a-agent-card+json"},"kind":"agent","declared":{"name":"Agentalog","summary":"Agent Auto Log: catalog of MCP servers, skills and plugins with an automatic change log, plus a monitor for what your agents install.","description":"Agent Auto Log: catalog of MCP servers, skills and plugins with an automatic change log, plus a monitor for what your agents install.","publisher":{"name":"Agentalog","url":"https://agentalog.com"},"homepage":"https://agentalog.com/llms.txt","repository":null,"version":null,"license":null,"protocols":["a2a"],"tags":[],"pricing":null,"endpoints":[{"url":"https://agentalog.com","type":"a2a","auth":"none","probeable":true}],"skills":[{"id":"search_bundles","name":"search_bundles","tags":[],"description":"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."},{"id":"get_bundle","name":"get_bundle","tags":[],"description":"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."},{"id":"index_stats","name":"index_stats","tags":[],"description":"Size of the index by provenance and when it last changed."},{"id":"feed_find","name":"feed_find","tags":[],"description":"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 (`recentes`) and `next_cursor` is a keyset — follow `next` to walk everything. With `q` the order is relevance and paging is by `offset`. We inde…"},{"id":"feed_posts","name":"feed_posts","tags":[],"description":"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…"},{"id":"feed_post","name":"feed_post","tags":[],"description":"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. Two bodies for the same post, both from the copy we stored when we READ the feed — a request never fetches the site: `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 `con…"},{"id":"feed_search","name":"feed_search","tags":[],"description":"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 (`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;…"},{"id":"mcp_index_signals","name":"mcp_index_signals","tags":[],"description":"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 pe…"},{"id":"mcp_index_search","name":"mcp_index_search","tags":[],"description":"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."},{"id":"check_tool","name":"check_tool","tags":[],"description":"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 catal…"},{"id":"listing_security","name":"listing_security","tags":[],"description":"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_htt…"},{"id":"listing_tools","name":"listing_tools","tags":[],"description":"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…"},{"id":"list_watched_tools","name":"list_watched_tools","tags":[],"description":"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."},{"id":"watch_tool","name":"watch_tool","tags":[],"description":"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. 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 pr…"},{"id":"unwatch_tool","name":"unwatch_tool","tags":[],"description":"Stop watching a server; its slot becomes free."},{"id":"list_plans","name":"list_plans","tags":[],"description":"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`."},{"id":"buy_plan","name":"buy_plan","tags":[],"description":"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…"},{"id":"cancel_plan","name":"cancel_plan","tags":[],"description":"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 …"},{"id":"claude_code_allowlist","name":"claude_code_allowlist","tags":[],"description":"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 m…"},{"id":"a2a_agent_search","name":"a2a_agent_search","tags":[],"description":"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. …"},{"id":"a2a_agent","name":"a2a_agent","tags":[],"description":"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."},{"id":"briefings_topics","name":"briefings_topics","tags":[],"description":"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."},{"id":"briefings_links","name":"briefings_links","tags":[],"description":"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."},{"id":"api_index","name":"api_index","tags":[],"description":"Self-describing index: the whole API surface, with quota and quickstart."}],"tools":["search_bundles","get_bundle","index_stats","feed_find","feed_posts","feed_post","feed_search","mcp_index_signals","mcp_index_search","check_tool","listing_security","listing_tools","list_watched_tools","watch_tool","unwatch_tool","list_plans","buy_plan","cancel_plan","claude_code_allowlist","a2a_agent_search","a2a_agent","briefings_topics","briefings_links","api_index"],"extra":{"inputModes":["application/json"],"outputModes":["application/json","text/markdown"],"capabilities":{"streaming":true,"pushNotifications":false}},"attribution":{"kind":"a2a_card","name":"a2a_card","summary":"a2a_card","description":"a2a_card","homepageUrl":"a2a_card","publisherUrl":"a2a_card","publisherName":"a2a_card"}},"derived":{"capabilities":[{"slug":"ai.agent-discovery","name":"Agent Discovery","confidence":0.583,"provenance":"derived"}],"categories":["ai"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 49m ago.","lastOkAt":"2026-10-18T11:29:11.757Z","lastProbedAt":"2026-10-18T11:29:11.757Z","statusComputedAt":"2026-10-18T11:30:54.465Z","reliability30d":{"probes":106,"successRate":1,"p50Ms":224,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":106,"ok":106,"authBoundaryOk":0,"serviceOk":106,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-18T11:29:11.757Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":215,"error":null,"detail":{"name":"Agentalog","signed":false,"cardPath":"/.well-known/agent-card.json","skillCount":24}},{"at":"2026-10-18T05:26:58.300Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":196,"error":null,"detail":{"name":"Agentalog","signed":false,"cardPath":"/.well-known/agent-card.json","skillCount":24}},{"at":"2026-10-17T22:25:36.703Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":198,"error":null,"detail":{"name":"Agentalog","signed":false,"cardPath":"/.well-known/agent-card.json","skillCount":24}},{"at":"2026-10-17T15:24:27.095Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":224,"error":null,"detail":{"name":"Agentalog","signed":false,"cardPath":"/.well-known/agent-card.json","skillCount":24}},{"at":"2026-10-17T08:26:53.896Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":214,"error":null,"detail":{"name":"Agentalog","signed":false,"cardPath":"/.well-known/agent-card.json","skillCount":24}},{"at":"2026-10-17T02:22:52.546Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":269,"error":null,"detail":{"name":"Agentalog","signed":false,"cardPath":"/.well-known/agent-card.json","skillCount":24}},{"at":"2026-10-16T19:27:26.251Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":221,"error":null,"detail":{"name":"Agentalog","signed":false,"cardPath":"/.well-known/agent-card.json","skillCount":24}},{"at":"2026-10-16T12:32:23.758Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":213,"error":null,"detail":{"name":"Agentalog","signed":false,"cardPath":"/.well-known/agent-card.json","skillCount":24}},{"at":"2026-10-16T06:29:49.672Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":211,"error":null,"detail":{"name":"Agentalog","signed":false,"cardPath":"/.well-known/agent-card.json","skillCount":24}},{"at":"2026-10-15T23:26:03.786Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":211,"error":null,"detail":{"name":"Agentalog","signed":false,"cardPath":"/.well-known/agent-card.json","skillCount":24}}],"tools":null,"package":null,"toolSurface":null,"endpointFacts":[{"id":"ep_veh293k2agvs","url":"https://agentalog.com","type":"a2a","factsCheckedAt":"2026-10-13T20:26:48.432Z","auth":null,"tls":{"observedAt":"2026-10-13T20:26:48.853Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"agentalog.com","issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validFrom":"2026-09-23T02:08:15.000Z","validTo":"2026-12-22T02:08:14.000Z","daysToExpiry":64,"sanCount":4,"fingerprint256":"49:62:6E:28:4F:4C:8D:B9:60:05:E7:E0:21:D3:49:91:F4:7A:90:35:EE:55:E6:69:4B:51:BB:17:AB:62:2A:65"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"a2a_card","key":"https://agentalog.com/.well-known/agent-card.json","url":"https://agentalog.com/.well-known/agent-card.json","firstSeenAt":"2026-09-19T16:25:41.547Z","fetchedAt":"2026-10-17T22:21:44.936Z","normalizedAt":"2026-10-17T22:21:44.936Z"}]},"firstSeenAt":"2026-09-19T16:25:41.547Z","updatedAt":"2026-10-17T22:22:27.130Z"}