Repository avatar
AI Tools
v1.7.0
active

agentviva

dev.agentviva/agentviva

Is an AI tool, agent or MCP server alive, and since when? Checks from the outside, with proof.

Documentation

AgentViva

AgentViva watches AI tools, agents and assistants from the outside and answers one question per target: is it alive, and since when.

This repository is the public reference. The service runs at agentviva.dev; its source is private.

New here? Start with GETTING-STARTED.md (also at https://agentviva.dev/docs): how to get access, add what to watch (dashboard, catalog, API or your AI agent), get alerts and show the status.

FileWhat it is
GETTING-STARTED.mdHow to connect and work with AgentViva, step by step
api.mdThe API reference. The only document an integration should rely on
openapi.yamlThe same contract as OpenAPI 3.1, for tooling and generated clients
skills/agentvivaA Claude Code skill, so a coding agent knows when to call us
CHANGELOG.mdEvery change to the public API, newest first
SECURITY.mdHow to report a vulnerability

Four ways to ask

  • page — loads the site and follows redirects. Catches parked domains, dead hosts, bot walls and quiet moves to a new domain. A move to a domain with the same name (v0.dev to v0.app) is still up, with the reason moved; a redirect to a different name (sold, closed) is degraded.
  • json — calls a health endpoint and runs your rules on the body: a field equals a value, a number stays under a limit, a key is present.
  • canary — sends a real prompt and reads the reply. A judge model decides whether that was a working answer or an apology.
  • mcp — connects to a hosted MCP server the way an AI app does, lists its tools, and can require that named tools are there.

We never cry wolf

A single failed probe changes nothing. The same verdict has to repeat, ten minutes apart, before AgentViva writes it down or wakes anybody up — and the record says how many probes agreed.

If a target simply refuses us, that is blocked, not down. A tool does not get declared dead for disliking our user agent.

Every state comes with its proof: what our last check saw (the answer, where the redirects ended, the page title, the MCP tools) is on the status page and in the API as evidence.

States are unknown, up, degraded, down and blocked.

The whole API, in three calls

curl -X POST https://agentviva.dev/v1/monitors -H "Authorization: Bearer av_live_..." -H "content-type: application/json" -d '{"type":"page","name":"Notion","target":{"url":"https://www.notion.so"},"public":true,"public_slug":"notion"}'

curl "https://agentviva.dev/v1/changes?since=0" -H "Authorization: Bearer av_live_..."

curl https://agentviva.dev/v1/public/aigregator/notion.json

No agent to install, no SDK — one HTTP call per monitor.

Many tools? Connect a catalog

A directory does not need to create thousands of monitors itself. Publish one JSON or CSV file with an id, a name and a URL for each tool, and connect its link once:

curl -X PUT https://agentviva.dev/v1/catalog -H "Authorization: Bearer av_live_..." -H "content-type: application/json" -d '{"url":"https://example.com/tools.json"}'

AgentViva reads the list every day. A new tool gets a monitor, a renamed or moved tool is updated, and a tool that left the list is paused, with its history kept. Then ask which ones stopped working: GET /v1/monitors?state=down&source=catalog. See Catalog in the API reference.

When a tool stops working: decide

A tool that has not worked for 7 days (you choose the number) shows on Needs a decision: in the dashboard, at GET /v1/decisions, and in MCP (list_decisions). For each one you answer keep watching, false alarm, stop watching, or remove from my site. AgentViva never changes your site: it sends your webhook a signed remove_requested message (and lists the tool under status=remove_requested), and your site hides the tool. Stop watching many tools at once with POST /v1/monitors/actions. See Needs a decision.

MCP server

An AI agent can use AgentViva without writing REST calls. The MCP server at https://agentviva.dev/mcp has 14 tools: list and check monitors, create one, probe now, read recent changes, connect and sync a catalog, pause, resume or stop watching monitors, list the tools that need a decision and answer for them, and look up any tool AgentViva watches publicly. You sign in once in your browser and press Allow; there is no key to copy. In Claude Code:

claude mcp add --transport http agentviva https://agentviva.dev/mcp

Then type /mcp, choose agentviva, then Authenticate. In claude.ai: Settings → Connectors → Add custom connector, with the same address. A client that cannot open a browser can send the API key instead (--header "Authorization: Bearer av_live_..."). No account? https://agentviva.dev/mcp/public has only lookup_tool. See the MCP section of the API reference.

Public surfaces, no key needed

GET https://agentviva.dev/v1/public/<team>/<external_id>.json
GET https://agentviva.dev/badge/<team>/<slug>.svg      180x48 SVG, cached 5 minutes
GET https://agentviva.dev/s/<team>/<slug>              HTML status page, 90-day history, no JavaScript
GET https://agentviva.dev/status                        the public list of tools, and which are not working now
GET https://agentviva.dev/pricing.md                    plans and prices in Markdown, for agents
GET https://agentviva.dev/v1/public/search?q=notion     the public tools we already watch, by name or address
GET https://agentviva.dev/v1/public/check?url=v0.dev    one check of any public site or MCP server, right now
POST https://agentviva.dev/v1/public/report             {"query":"notion.so"}: tell us a watched tool does not work
GET https://agentviva.dev/v1/public/tools.json          every public tool and its state: the feed for directories
GET https://agentviva.dev/research.json                 the state of AI tools in numbers (also as a page: /research)

The same check is a form on the home page and at agentviva.dev/check: paste an address, see what we saw. A report never changes a state by itself; it makes us check the tool again (at most once an hour).

A catalog tool's <slug> is its id from your list (lower case, with dashes, when the id is not a valid link), so one line in the template of your tool pages gives every tool its badge. The Catalog page in the dashboard shows it.

The badge has seven forms and three themes: add ?style=dot|word|pill|card|seal|strip|panel and &theme=dark|light|auto to the badge link. The default is the dark card.

For agents

Agents can find all of this without reading a page: llms.txt, OpenAPI, the ARD catalog and the MCP server card. The MCP server is dev.agentviva/agentviva in the MCP Registry (server.json). In the browser, the home page offers check_url, lookup_tool and report_problem as WebMCP tools.

Getting a key

Signup is not open yet. Email support@agentviva.dev with what you want to watch and we will tell you whether we can help. Keys are issued per team and shown once.

Install the plugin (skill and MCP)

In Claude Code, the plugin brings the skill and the MCP connection.

  1. Install it:

    claude plugin marketplace add AgentViva/docs
    claude plugin install agentviva@agentviva
    
  2. Restart Claude Code, then type /mcp.

  3. Choose agentviva, then Authenticate. Your browser opens: sign in with Google and press Allow.

  4. Back in Claude Code, agentviva shows 16 tools.

Installed it before? Run claude plugin marketplace update agentviva and claude plugin update agentviva@agentviva, then restart Claude Code. All the steps are in GETTING-STARTED.md.

Or with skills.sh, which works with any agent that reads SKILL.md:

npx skills add AgentViva/docs

To read the skill once without installing it:

npx skills use AgentViva/docs@agentviva

Our crawler

AgentVivaBot fetches one page per monitored site at most once an hour (most sites are checked once a day), more often only while confirming a change, never more than 2 MB, and never posts data except to assistant endpoints whose owners configured a canary question. Every request is signed with Web Bot Auth; the keys are at https://agentviva.dev/.well-known/http-message-signatures-directory. Before a website check it reads robots.txt and follows the rules for AgentVivaBot (else *); a page it is asked not to open is blocked, never down. The policy, and how to opt out, is at agentviva.dev/bot.

Licence

Example code and the OpenAPI spec are MIT — see LICENSE. The prose documentation is CC BY 4.0. Attribute it to AgentViva with a link to this repository.

No installation packages available.