Sign in
abstract agent · sales · 3 processes · plugin 1.0.0

Risk watcher

risk-watcher v1

Watches for the signs that a customer is leaving and raises them early enough that somebody can still act. It confirms a signal against the account record before anybody is told, sets the usage trend beside the support history and the invoices, and writes one reason in words that the work can start from. The reason carries a severity and a date by which somebody must act, and it goes to the account owner with the evidence attached rather than as a score. Afterwards it reads the same evidence again to see whether the signal turned.

The abstract agent

What it is granted, and what it hands to a person

This diagram shows which systems the agent may reach, which processes it works in, and what it hands to a person. Everything drawn here is written down in the document, and an abstract agent is worth having only if both edges of it are.

WORKS INref/sls/close-a-renewalref/sls/open-a-renewalref/sls/work-a-churn-riskGRANTEDthe usage recordread — where use fell, when, and for which teathe support systemread — open tickets and anything in disputethe billing systemread — unpaid invoices, and what is in collectthe CRMread — which named contacts are still there anthe agreement storeread — the notice date the clock is set againsthe risk recordwrite — the reason, the severity and the outcothe notification channelwrite — the owner is told inside the time the THE ABSTRACT AGENTrisk-watcherv1watches for the signs…HANDS TO A PERSONa confirmed risk, to the…a person decidesa plan that was agreed and…a person decidesa signal that does not…a person decidesa customer who has gone…a person decidesa source that keeps…a person decidesMUST FOLLOWcollect-and-reportassessment

Runs assessment three times: on the signal, before anybody hears about it; on how likely the account is to leave, against the risk model at a version; and on how bad it is against the severity scale, with the date somebody must act by. Runs collect-and-report over the signal for as long as a run is open, and the same assessment on a cadence beside a renewal conversation from the day it opens until the signature. Takes the usage trend from the usage-monitor agent and the standing from the account-monitor agent, hands the reason and its evidence to the account owner, and hands the severity and the clock to the renewal-manager agent, who convenes the save plan.

The plugin

What is in the package

5 skills and the systems they need, written to version 1.1.0 of the Agent Plugins standard. Nothing in these files names a product. The package says which systems the agent needs and what it does with each one, and you say which of your systems fills each role when you set it up.

risk-watcher · 10 files · 1.0.0
com.agentcatalog.agent/NOT.mdWhat the agent does not do, and when it asks a person.
# Where this abstract agent stops

Does not decide what to do about the risk. The save plan is agreed by
the account owner with the renewal-manager agent and delivery, and what
it may cost is priced by the quote-builder agent and signed by a person.
Does not contact the customer or promise anything, and nothing is
offered that the signed plan does not contain. Does not measure usage or
read the account's standing itself. Does not replace a reason with a
score: a score alone does not open a plan, which is the difference
between this job and a churn model.

## What always goes to a person

- a confirmed risk, to the account owner inside the time the policy
  sets, with the evidence attached rather than a score
- a plan that was agreed and not done by the date it was promised, up
  for a decision rather than waiting for the next reading
- a signal that does not turn after a second reason has been named and
  worked, up rather than around the same loop again
- a customer who has gone quiet against a notice date, to the account
  owner with the days remaining named
- a source that keeps raising signals the account record contradicts, to
  whoever owns that model, because a source that cries wolf stops being
  read
com.agentcatalog.agent/RECORDS.mdThe records the agent must leave behind.
# The records this abstract agent must leave

This is the contract. An agent implementing `risk-watcher` leaves the
following behind, on every run.

Per risk: the signal, what raised it, the date, and the account it is
against. The confirmation against the account record, or the
contradiction that closed the run without anybody being told. One
reason, in words, with the evidence lines that support it, each naming
the system it was read from and the date. The severity, the scale
version it was set against, and the date somebody must act by. What the
account owner was told and when they were told it. The readings taken
again against the reason after the plan was delivered, set beside what
the customer was promised. Whether the risk cleared, stayed open or went
up, and a departure written with its reason, what was tried, what it
cost and what the customer said, readable by everyone who works
renewals.

An agent that leaves less than this does not implement `risk-watcher`,
whatever else it does well.
com.agentcatalog.agent/SERVERS.mdThe systems the agent needs, by role rather than by product.
# The systems this abstract agent needs

Seven systems, named by role rather than by product. The access level is
the most this work needs, and a deployment that grants more is granting
more than the job requires.

| Role | Access | What the access is for |
|---|---|---|
| the usage record | read | Where use fell, when, and for which team. |
| the support system | read | Open tickets and anything in dispute. |
| the billing system | read | Unpaid invoices, and what is in collections. |
| the CRM | read | Which named contacts are still there and which have left. |
| the agreement store | read | The notice date the clock is set against. |
| the risk record | write | The reason, the severity and the outcome. |
| the notification channel | write | The owner is told inside the time the policy sets. |

Whoever builds an agent from this plugin writes the `mcp.json` that
points these roles at their own systems. Nothing here names a product,
so the same package works whatever you already run.
plugin.jsonThe manifest. It lists the skills and the systems the agent needs.
{
  "$schema": "https://agent-plugins.org/schemas/1.1.0/plugin.schema.json",
  "name": "risk-watcher",
  "version": "1.0.0",
  "description": "The risk-watcher abstract agent. Watches for the signs that a customer is leaving and raises them early enough that somebody can still act.",
  "author": {
    "name": "AgentCatalog",
    "url": "https://agentcatalog.com"
  },
  "homepage": "https://agentcatalog.com/abstract-agents/risk-watcher",
  "repository": "https://github.com/jeffrschneider/agentcatalog",
  "license": "CC-BY-4.0",
  "keywords": [
    "abstract-agent",
    "reference",
    "sales",
    "work-a-churn-risk",
    "close-a-renewal",
    "open-a-renewal",
    "abstract"
  ],
  "extensions": {
    "com.agentcatalog.agent": {
      "agent": "risk-watcher",
      "agentVersion": 1,
      "department": "sales",
      "abstract": true,
      "works": "Runs assessment three times: on the signal, before anybody hears about it; on how likely the account is to leave, against the risk model at a version; and on how bad it is against the severity scale, with the date somebody must act by. Runs collect-and-report over the signal for as long as a run is open, and the same assessment on a cadence beside a renewal conversation from the day it opens until the signature. Takes the usage trend from the usage-monitor agent and the standing from the account-monitor agent, hands the reason and its evidence to the account owner, and hands the severity and the clock to the renewal-manager agent, who convenes the save plan.",
      "servers": [
        {
          "name": "the usage record",
          "role": "usage-record",
          "access": "read",
          "needs": "Where use fell, when, and for which team."
        },
        {
          "name": "the support system",
          "role": "support-system",
          "access": "read",
          "needs": "Open tickets and anything in dispute."
        },
        {
          "name": "the billing system",
          "role": "billing-system",
          "access": "read",
          "needs": "Unpaid invoices, and what is in collections."
        },
        {
          "name": "the CRM",
          "role": "crm",
          "access": "read",
          "needs": "Which named contacts are still there and which have left."
        },
        {
          "name": "the agreement store",
          "role": "agreement-store",
          "access": "read",
          "needs": "The notice date the clock is set against."
        },
        {
          "name": "the risk record",
          "role": "risk-record",
          "access": "write",
          "needs": "The reason, the severity and the outcome."
        },
        {
          "name": "the notification channel",
          "role": "notification-channel",
          "access": "write",
          "needs": "The owner is told inside the time the policy sets."
        }
      ],
      "records": [
        "Per risk: the signal, what raised it, the date, and the account it is against.",
        "The confirmation against the account record, or the contradiction that closed the run without anybody being told.",
        "One reason, in words, with the evidence lines that support it, each naming the system it was read from and the date.",
        "The severity, the scale version it was set against, and the date somebody must act by.",
        "What the account owner was told and when they were told it.",
        "The readings taken again against the reason after the plan was delivered, set beside what the customer was promised.",
        "Whether the risk cleared, stayed open or went up, and a departure written with its reason, what was tried, what it cost and what the customer said, readable by everyone who works renewals."
      ],
      "escalates": [
        "a confirmed risk, to the account owner inside the time the policy sets, with the evidence attached rather than a score",
        "a plan that was agreed and not done by the date it was promised, up for a decision rather than waiting for the next reading",
        "a signal that does not turn after a second reason has been named and worked, up rather than around the same loop again",
        "a customer who has gone quiet against a notice date, to the account owner with the days remaining named",
        "a source that keeps raising signals the account record contradicts, to whoever owns that model, because a source that cries wolf stops being read"
      ],
      "not": [
        "Does not decide what to do about the risk.",
        "The save plan is agreed by the account owner with the renewal-manager agent and delivery, and what it may cost is priced by the quote-builder agent and signed by a person.",
        "Does not contact the customer or promise anything, and nothing is offered that the signed plan does not contain.",
        "Does not measure usage or read the account's standing itself.",
        "Does not replace a reason with a score: a score alone does not open a plan, which is the difference between this job and a churn model."
      ],
      "processes": [
        {
          "process": "ref/sls/close-a-renewal",
          "activities": [
            "Work the Response"
          ]
        },
        {
          "process": "ref/sls/open-a-renewal",
          "activities": [
            "Score the Risk of Leaving"
          ]
        },
        {
          "process": "ref/sls/work-a-churn-risk",
          "activities": [
            "Take in the Risk Signal",
            "Confirm the Signal",
            "Name the Reason",
            "Set the Severity and the Clock",
            "Tell the Account Owner",
            "Watch for the Signal to Turn",
            "Close or Escalate the Risk",
            "Record the Save or the Departure"
          ]
        }
      ]
    }
  }
}
README.mdWhat the package is, and why it carries no mcp.json.
# risk-watcher

This is an abstract agent, published as an Agent Plugin. An abstract
agent is a job description rather than an implementation. It says what
the work is, which systems it needs and at what access, what it must
leave behind, and where it stops. Any agent that leaves the records can
implement it.

The plugin carries five skills, no `mcp.json`, and everything the
abstract agent owes under `com.agentcatalog.agent/`.

## Why there is no mcp.json

A conformant server entry in `mcp.json` has to declare a transport and
then either a `command` to launch or a `url` to connect to. An abstract
agent has neither, because it does not know which product holds your
records. Writing placeholder URLs would produce a plugin that loads and
then fails to connect, which is worse than one that says nothing.

Section 6.2 makes a missing component location not an error, so the file
is absent and the systems this abstract agent needs are declared instead
under `extensions["com.agentcatalog.agent"].servers`, as a role, an
access level and what the access is for. Whoever builds an agent from
this plugin writes the `mcp.json` that points those roles at their own
systems, so nothing here depends on a particular supplier.

## Why the obligations are in an extension

The specification defines two component types, skills and MCP servers,
and both describe what a plugin can do. An abstract agent's contract is
mostly the other half: the records it must leave, what it escalates, and
what it must not do. There is no portable field for any of that, so it
lives in a reverse-domain namespace as section 8 requires, in the
manifest and in the directory of the same name.

## Where this abstract agent is used

`ref/sls/close-a-renewal`, `ref/sls/open-a-renewal`,
`ref/sls/work-a-churn-risk`. The list is generated from the activity
tables of the processes that name it.

https://agentcatalog.com/abstract-agents/risk-watcher
skills/name-one-reason-in-words/SKILL.mdWrites one reason, in words, that the work can start from, with the evidence lines that support it. Use it when running `ref/sls/work-a-churn-risk`.
---
name: name-one-reason-in-words
description: Writes one reason, in words, that the work can start from, with the evidence lines that support it. Use it when running `ref/sls/work-a-churn-risk`.
license: CC-BY-4.0
metadata:
  agent: risk-watcher
  agent-version: "1"
---

# Name one reason in words

## What it does

Writes one reason, in words, that the work can start from, with the
evidence lines that support it. Each line names the system it was read
from and the date it was read.

## Where it happens

The agent does this in one activity across one reference process. Each
one names the activity as that process words it.

- **Name the Reason**
  - `ref/sls/work-a-churn-risk`, activity 5 -
    [Work a Churn Risk](../../../../processes/sales/work-a-churn-risk.md)

## What to record

Per risk: the signal, what raised it, the date, and the account it is
against. The confirmation against the account record, or the
contradiction that closed the run without anybody being told. One
reason, in words, with the evidence lines that support it, each naming
the system it was read from and the date. The severity, the scale
version it was set against, and the date somebody must act by. What the
account owner was told and when they were told it. The readings taken
again against the reason after the plan was delivered, set beside what
the customer was promised. Whether the risk cleared, stayed open or went
up, and a departure written with its reason, what was tried, what it
cost and what the customer said, readable by everyone who works
renewals.

That contract covers every activity this abstract agent takes on, and it
is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract
agent does not do is in `com.agentcatalog.agent/NOT.md`.
skills/read-the-evidence-again-and-close-the-run/SKILL.mdReads the same evidence again after the plan was delivered to see whether the signal turned, then closes the risk or puts it up, and records the save or the departure with what was tried, what it cost and what the customer said. Use it when running `ref/sls/work-a-churn-risk`.
---
name: read-the-evidence-again-and-close-the-run
description: Reads the same evidence again after the plan was delivered to see whether the signal turned, then closes the risk or puts it up, and records the save or the departure with what was tried, what it cost and what the customer said. Use it when running `ref/sls/work-a-churn-risk`.
license: CC-BY-4.0
metadata:
  agent: risk-watcher
  agent-version: "1"
---

# Read the evidence again and close the run

## What it does

Reads the same evidence again after the plan was delivered to see
whether the signal turned, then closes the risk or puts it up, and
records the save or the departure with what was tried, what it cost and
what the customer said.

## Where it happens

The agent does this in three activities across one reference process.
Each one names the activity as that process words it.

- **Close or Escalate the Risk**
  - `ref/sls/work-a-churn-risk`, activity 14 -
    [Work a Churn Risk](../../../../processes/sales/work-a-churn-risk.md)
- **Record the Save or the Departure**
  - `ref/sls/work-a-churn-risk`, activity 15 -
    [Work a Churn Risk](../../../../processes/sales/work-a-churn-risk.md)
- **Watch for the Signal to Turn**
  - `ref/sls/work-a-churn-risk`, activity 13 -
    [Work a Churn Risk](../../../../processes/sales/work-a-churn-risk.md)

## What to record

Per risk: the signal, what raised it, the date, and the account it is
against. The confirmation against the account record, or the
contradiction that closed the run without anybody being told. One
reason, in words, with the evidence lines that support it, each naming
the system it was read from and the date. The severity, the scale
version it was set against, and the date somebody must act by. What the
account owner was told and when they were told it. The readings taken
again against the reason after the plan was delivered, set beside what
the customer was promised. Whether the risk cleared, stayed open or went
up, and a departure written with its reason, what was tried, what it
cost and what the customer said, readable by everyone who works
renewals.

That contract covers every activity this abstract agent takes on, and it
is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract
agent does not do is in `com.agentcatalog.agent/NOT.md`.
skills/score-how-likely-the-account-is-to-leave/SKILL.mdScores the account against the risk model at a version, and keeps scoring it on a cadence while a renewal conversation is open, so what the customer says back to an offer is read against the same evidence. Use it when running `ref/sls/close-a-renewal` and `ref/sls/open-a-renewal`.
---
name: score-how-likely-the-account-is-to-leave
description: Scores the account against the risk model at a version, and keeps scoring it on a cadence while a renewal conversation is open, so what the customer says back to an offer is read against the same evidence. Use it when running `ref/sls/close-a-renewal` and `ref/sls/open-a-renewal`.
license: CC-BY-4.0
metadata:
  agent: risk-watcher
  agent-version: "1"
---

# Score how likely the account is to leave

## What it does

Scores the account against the risk model at a version, and keeps
scoring it on a cadence while a renewal conversation is open, so what
the customer says back to an offer is read against the same evidence.

## Where it happens

The agent does this in two activities across two reference processes.
Each one names the activity as that process words it.

- **Score the Risk of Leaving**
  - `ref/sls/open-a-renewal`, activity 7 -
    [Open a Renewal](../../../../processes/sales/open-a-renewal.md)
- **Work the Response**
  - `ref/sls/close-a-renewal`, activity 9 -
    [Close a Renewal](../../../../processes/sales/close-a-renewal.md)

## What to record

Per risk: the signal, what raised it, the date, and the account it is
against. The confirmation against the account record, or the
contradiction that closed the run without anybody being told. One
reason, in words, with the evidence lines that support it, each naming
the system it was read from and the date. The severity, the scale
version it was set against, and the date somebody must act by. What the
account owner was told and when they were told it. The readings taken
again against the reason after the plan was delivered, set beside what
the customer was promised. Whether the risk cleared, stayed open or went
up, and a departure written with its reason, what was tried, what it
cost and what the customer said, readable by everyone who works
renewals.

That contract covers every activity this abstract agent takes on, and it
is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract
agent does not do is in `com.agentcatalog.agent/NOT.md`.
skills/set-the-severity-and-tell-the-owner/SKILL.mdSets how bad it is against the severity scale at a version, with the date somebody must act by, and tells the account owner inside the time the policy sets. Use it when running `ref/sls/work-a-churn-risk`.
---
name: set-the-severity-and-tell-the-owner
description: Sets how bad it is against the severity scale at a version, with the date somebody must act by, and tells the account owner inside the time the policy sets. Use it when running `ref/sls/work-a-churn-risk`.
license: CC-BY-4.0
metadata:
  agent: risk-watcher
  agent-version: "1"
---

# Set the severity and tell the owner

## What it does

Sets how bad it is against the severity scale at a version, with the
date somebody must act by, and tells the account owner inside the time
the policy sets. The owner gets the reason and the evidence, not a
score.

## Where it happens

The agent does this in two activities across one reference process. Each
one names the activity as that process words it.

- **Set the Severity and the Clock**
  - `ref/sls/work-a-churn-risk`, activity 6 -
    [Work a Churn Risk](../../../../processes/sales/work-a-churn-risk.md)
- **Tell the Account Owner**
  - `ref/sls/work-a-churn-risk`, activity 7 -
    [Work a Churn Risk](../../../../processes/sales/work-a-churn-risk.md)

## What to record

Per risk: the signal, what raised it, the date, and the account it is
against. The confirmation against the account record, or the
contradiction that closed the run without anybody being told. One
reason, in words, with the evidence lines that support it, each naming
the system it was read from and the date. The severity, the scale
version it was set against, and the date somebody must act by. What the
account owner was told and when they were told it. The readings taken
again against the reason after the plan was delivered, set beside what
the customer was promised. Whether the risk cleared, stayed open or went
up, and a departure written with its reason, what was tried, what it
cost and what the customer said, readable by everyone who works
renewals.

That contract covers every activity this abstract agent takes on, and it
is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract
agent does not do is in `com.agentcatalog.agent/NOT.md`.
skills/take-in-a-signal-and-confirm-it/SKILL.mdTakes in a signal that a customer may be leaving and tests it against the account record before anybody is told. Use it when running `ref/sls/work-a-churn-risk`.
---
name: take-in-a-signal-and-confirm-it
description: Takes in a signal that a customer may be leaving and tests it against the account record before anybody is told. Use it when running `ref/sls/work-a-churn-risk`.
license: CC-BY-4.0
metadata:
  agent: risk-watcher
  agent-version: "1"
---

# Take in a signal and confirm it

## What it does

Takes in a signal that a customer may be leaving and tests it against
the account record before anybody is told. A signal the record
contradicts closes the run there, with the contradiction written down.

## Where it happens

The agent does this in two activities across one reference process. Each
one names the activity as that process words it.

- **Confirm the Signal**
  - `ref/sls/work-a-churn-risk`, activity 2 -
    [Work a Churn Risk](../../../../processes/sales/work-a-churn-risk.md)
- **Take in the Risk Signal**
  - `ref/sls/work-a-churn-risk`, activity 1 -
    [Work a Churn Risk](../../../../processes/sales/work-a-churn-risk.md)

## What to record

Per risk: the signal, what raised it, the date, and the account it is
against. The confirmation against the account record, or the
contradiction that closed the run without anybody being told. One
reason, in words, with the evidence lines that support it, each naming
the system it was read from and the date. The severity, the scale
version it was set against, and the date somebody must act by. What the
account owner was told and when they were told it. The readings taken
again against the reason after the plan was delivered, set beside what
the customer was promised. Whether the risk cleared, stayed open or went
up, and a departure written with its reason, what was tried, what it
cost and what the customer said, readable by everyone who works
renewals.

That contract covers every activity this abstract agent takes on, and it
is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract
agent does not do is in `com.agentcatalog.agent/NOT.md`.
mcp.jsonNot in the package.

Every server entry in an mcp.json needs either a command to run or a url to connect to, and the package cannot know either of those until somebody points it at their own systems. So the file is left out, the systems the agent needs are named by role in plugin.json, and you write the mcp.json when you set it up.

Setting it up

Point it at your systems

To run an agent built from this package, write an mcp.json that says which of your systems fills each role. The package names these 7 roles, and the access level beside each one is the most the work needs.

usage-record · readsupport-system · readbilling-system · readcrm · readagreement-store · readrisk-record · writenotification-channel · write
mcp.json You write this file. It is not part of the package.
{
  "$schema": "https://agent-plugins.org/schemas/1.1.0/mcp.schema.json",
  "mcpServers": {
    "usage-record": {
      "type": "streamable-http",
      "url": "https://mcp.yourcompany.com/usage-record"
    },
    "support-system": {
      "type": "streamable-http",
      "url": "https://mcp.yourcompany.com/support-system"
    },
    "billing-system": {
      "type": "streamable-http",
      "url": "https://mcp.yourcompany.com/billing-system"
    },
    "crm": {
      "type": "streamable-http",
      "url": "https://mcp.yourcompany.com/crm"
    },
    "agreement-store": {
      "type": "streamable-http",
      "url": "https://mcp.yourcompany.com/agreement-store"
    },
    "risk-record": {
      "type": "streamable-http",
      "url": "https://mcp.yourcompany.com/risk-record"
    },
    "notification-channel": {
      "type": "streamable-http",
      "url": "https://mcp.yourcompany.com/notification-channel"
    }
  }
}

The hostnames here are a placeholder for your own. Whichever product holds each of these systems, the agent you build is yours and nobody else has to be involved in running it.

Where it works

3 processes, 10 activities

The highlighted activities are the ones this abstract agent does. The other activities in each process belong to other abstract agents or to people.

Close a Renewalref/sls/close-a-renewal · 15 activities
123456789101112131415

Work the Response

Open a Renewalref/sls/open-a-renewal · 13 activities
12345678910111213

Score the Risk of Leaving

Work a Churn Riskref/sls/work-a-churn-risk · 15 activities
123456789101112131415

Take in the Risk Signal · Confirm the Signal · Name the Reason · Set the Severity and the Clock · Tell the Account Owner · Watch for the Signal to Turn · Close or Escalate the Risk · Record the Save or the Departure

The records it leaves

What it writes down

Per risk: the signal, what raised it, the date, and the account it is against. The confirmation against the account record, or the contradiction that closed the run without anybody being told. One reason, in words, with the evidence lines that support it, each naming the system it was read from and the date. The severity, the scale version it was set against, and the date somebody must act by. What the account owner was told and when they were told it. The readings taken again against the reason after the plan was delivered, set beside what the customer was promised. Whether the risk cleared, stayed open or went up, and a departure written with its reason, what was tried, what it cost and what the customer said, readable by everyone who works renewals.

Where it stops

What it will not do

Does not decide what to do about the risk. The save plan is agreed by the account owner with the renewal-manager agent and delivery, and what it may cost is priced by the quote-builder agent and signed by a person. Does not contact the customer or promise anything, and nothing is offered that the signed plan does not contain. Does not measure usage or read the account's standing itself. Does not replace a reason with a score: a score alone does not open a plan, which is the difference between this job and a churn model.

These limits are written into the job on purpose, so that everyone adopting the process knows which decisions stay with a person.

Agents built from this plugin

Who has built one, and how far each one got

Nobody has built one yet. The catalog says so rather than leaving the section off, because an empty list is a fact about the document.

declare it implements: risk-watcher v1 One line in your agent's manifest. The catalog checks it against the records your runs actually leave.
A guess, not a claim

The closest things in the catalog, by description

Nobody above has claimed any of these. This is the nearest match by wording between the job written above and what publishers wrote about their own listings, closest first, and wording is not evidence: some of these will be wrong, and a job with nothing suitable still gets whatever was nearest. The publishers have never heard of this abstract agent and have promised nothing about it. What a claim looks like is in the table above, and it is signed.

Might do the job

Things that could be the worker: an agent, a packaged product, a plugin.

  • The Website Specification — A2A agent Agent · specification.website Read-only A2A agent that answers natural-language questions about The Website Specification and returns matching topics with status, canonical URL,…
Might be reached for

Not workers. These are capability that whatever does the job would use, which is a different relationship and kept in its own column for that reason.

  • blackwall MCP server · blackwalltier.com · run it yourself · mirrored from the MCP registry Pre-action risk gate: AI agents call before any irreversible action (money, SQL, delete).
  • fundzwatch MCP server · fund-z.github.io · run it yourself · mirrored from the MCP registry Business-event intelligence for AI agents: funding, exec moves, UCC and benefit-plan signals.
  • BounceWatch Signal Intelligence MCP server · bouncewatch.com · hosted · mirrored from the MCP registry Millions of dated buying and momentum signals: who raised, who's hiring, what changed and when