Skip to content

Agent Watch

by entradox · remote · no sign-in to list tools · v0.1.0 · published by GitHub user entradox

Monitoring for the agent economy — liveness, latency, trust scoring for MCP endpoints

Changes · 4

8 tools: 4 change things and 4 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http agent-watch https://agent-watch-api-production.up.railway.app/mcp/

Findings

Matches of fixed checks, with the text they matched.

1 info
  • The description mentions "credentials".

    Matched text

    description: "...directing — liveness unprovable without credentials. Use to quantify how much of the MC..."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

8 tools

Changes things 4Claude Code: ask
  • aw_censusFull-census summary of the official MCP registry: 7,454 endpoints probed with real MCP handshakes.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "...directing — liveness unprovable without credentials. Use to quantify how much of the MC..."

      What this check looks for
    Description, as the server wrote it
    Full-census summary of the official MCP registry: 7,454 endpoints probed with real MCP handshakes. Returns alive/dead/unknown counts and percentages. States: alive = MCP initialize succeeded; dead = no answer; unknown = answered but auth-gated (401/403/402) or redirecting — liveness unprovable without credentials. Use to quantify how much of the MCP ecosystem is actually reachable.

    Annotations the server declares

    • title: Registry Liveness Census
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • aw_check_endpointProbe an MCP or HTTP-402 endpoint now and get its trust verdict.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Probe an MCP or HTTP-402 endpoint now and get its trust verdict. Performs a real MCP initialize handshake (not a ping), measures p50/p95 latency, counts tools, hashes the tool schema (for drift detection), and checks RFC 9728 auth metadata. Returns: alive (bool), name, tool_count, latency_p50_ms, tool_schema_hash, auth_metadata_present, and error detail when dead. Use before wiring any new MCP server into your client. Args: url: the MCP or HTTP-402 endpoint URL to probe (e.g. https://host/mcp/) timeout: probe timeout in seconds (default 30)

    Annotations the server declares

    • title: Probe MCP Endpoint
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • aw_healthLiveness check for the Agent Watch API.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Liveness check for the Agent Watch API. Returns ok, service name, and version. Call this first to verify connectivity before using other tools.

    Annotations the server declares

    • title: Agent Watch Health
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • aw_watchAdd endpoints to your personal watchlist (probed immediately, then every 6h).No findings

    Why it is in this group

    • The description's first verb is "add": a word for a change.
    Description, as the server wrote it
    Add endpoints to your personal watchlist (probed immediately, then every 6h). Plan-limited by the email used at checkout: free 5, Builder ($19/mo) 50, Team ($99/mo) 500 endpoints. Alerts fire on alive→dead transitions and tool-schema drift. Already-watched URLs are returned without re-probing. Args: email: the email your subscription is under (free tier works too) urls: endpoint URLs to add to your watchlist watch_token: issued at registration, delivered in your onboarding email — required

    Annotations the server declares

    • title: Add Endpoints to Watchlist
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
Only reads 4Claude Code: allow
  • aw_alertsShow dead endpoints across the monitored registry (alive=false).No findings

    Why it is in this group

    • The description's first verb is "show": a word for reading.
    Description, as the server wrote it
    Show dead endpoints across the monitored registry (alive=false). Returns up to 500 dead endpoints with names. Use after aw_census or aw_list_monitored to get the actionable dead list. Read-only.

    Annotations the server declares

    • title: Dead Endpoint Alerts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • aw_list_monitoredList all endpoints in the Agent Watch census with their registry names.No findings

    Why it is in this group

    • The name "aw_list_monitored" says "list": a word for reading.
    Description, as the server wrote it
    List all endpoints in the Agent Watch census with their registry names. Returns count and the full endpoint list (URLs). Combine with aw_alerts to find which of these are dead. Read-only.

    Annotations the server declares

    • title: List Monitored Endpoints
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • read_skillRead a product skill file by its skill:// URI.No findings

    Why it is in this group

    • The name "read_skill" says "read": a word for reading.
    Description, as the server wrote it
    Read a product skill file by its skill:// URI. Args: uri: e.g. skill://<product>/<skill-name>/SKILL.md Get valid URIs from `skills_list_tool`.
  • skills_list_toolList this product's skills.No findings

    Why it is in this group

    • The name "skills_list_tool" says "list": a word for reading.
    Description, as the server wrote it
    List this product's skills. Each entry carries the SKILL.md URI, its name and description, verbatim frontmatter, and a per-file sha256 manifest. Read a body with `read_skill`.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http agent-watch https://agent-watch-api-production.up.railway.app/mcp/

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__agent-watch__aw_list_monitored",
      "mcp__agent-watch__aw_alerts",
      "mcp__agent-watch__skills_list_tool",
      "mcp__agent-watch__read_skill"
    ],
    "ask": [
      "mcp__agent-watch__aw_health",
      "mcp__agent-watch__aw_check_endpoint",
      "mcp__agent-watch__aw_census",
      "mcp__agent-watch__aw_watch"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as agent-watch. Review it before you use it.