Audience handover
audience-handover v1Delivers an approved audience or lead list to a system outside the organization. Before anything leaves, the agent applies the consent record to that particular transfer and takes out every record the consent record does not cover for it, and it cuts the fields down to what the agreement with the receiving organization and the receiving platform's own terms allow. It then sends the list, gets a receipt back, and records what was sent, what the receiving system accepted, what it rejected and for what reason, and how much of the list matched at the other end. One run of this agent covers one transfer, and the agent keeps answering for that transfer afterwards, because a withdrawal that arrives later has to reach every system the records were sent to.
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.
Answers the roll-call before a transfer with whether the list may leave, how many records it holds, and how many the consent record took out. Sits in the briefing that plans a campaign running on somebody else's system, so the fields it will be allowed to send are known while the plan can still change. Requests the approval that has to pass before a list leaves the organization, and puts the consent-manager agent's finding and the field list in front of the signers. Takes a changes-requested from an approval by reopening only the part that was named. Reports into collect-and-report with the counts and the match figures for every transfer in the period.
What is in the package
6 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.
# Where this abstract agent stops Does not decide who is on the list. The audience-manager agent sets the segment and what it is for, and the audience-operator agent builds it in the systems that hold contacts. Does not hold the consent record and does not decide whether a contact may be contacted at all, which is the consent-manager agent; this agent applies that agent's record to one transfer and files the finding with the receipt. Does not set targeting, bids or budget on the receiving platform, which is the media-buyer agent, and does not run the campaign the audience is bought against, which is the campaign-manager agent. Does not score a form submission or route it to an owner, which is the lead-scorer agent, and that agent works on a lead inside the organization's own systems. Does not send messages to the contacts, which is the email-producer agent. Does not negotiate or sign the agreement that allows a transfer, which are the legal reviewer (person) and the people who sign contracts. Does not answer for the partner relationship a transfer happens inside, which is the partner-manager agent, and it tells that agent what was sent. Does not delete the records at the other end, because the receiving organization does that; this agent records the date the deletion is owed and escalates when it cannot confirm the deletion happened. Does not sign anything. ## What always goes to a person - a field the destination asks for that the agreement does not cover - a use the receiving organization intends that the consent record does not cover, sent to a person with the consent-manager agent's finding attached - a receipt it cannot get, and an accepted count that does not agree with what it sent - a withdrawal it cannot confirm reached a system the records were sent to - a destination with no agreement in force, or an agreement that has passed its end date - a request to send a list that no person has signed for, because this agent sends nothing on its own - a match rate below the level the process sets, because the campaign built on that list will not reach the audience it was planned for
# The records this abstract agent must leave
This is the contract. An agent implementing `audience-handover` leaves
the following behind, on every run.
For every transfer: the list at the version it was approved at, the
count it started with, the count the consent record took out, the fields
that were sent, and the fields that were held back with the term that
held each one back. The date and time the transfer went, the count the
receiving system accepted, the count it rejected with the reason it
gave, and how much of the list matched. The approval the transfer rests
on, naming the person who signed for it. The date the receiving
organization is required to delete the records, taken from the
agreement. A dated line for every withdrawal passed on after the
transfer, naming the system it went to and the day that system confirmed
it. A transfer whose receipt never arrived is recorded as unconfirmed
rather than left out.
An agent that leaves less than this does not implement
`audience-handover`, whatever else it does well.
# 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 approved list | read | At the version it was approved at. |
| the consent record | read | |
| the suppression lists | read | |
| the agreement covering the transfer | read | Which fields may be sent, what they may be used for, and how long the receiving organization may hold them. |
| the destination system | write | Cap: which fields may leave and how many records one transfer may carry, set by the adopting organization. |
| the transfer record | write | Every transfer lands with what was sent, what was accepted and what matched. |
| the notification channel | write | |
There is deliberately no grant to build or change a segment. This agent
sends the list it was handed at the version it was approved at, and the
audience-operator agent is the one that builds a list in the first
place.
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.
{
"$schema": "https://agent-plugins.org/schemas/1.1.0/plugin.schema.json",
"name": "audience-handover",
"version": "1.0.0",
"description": "The audience-handover abstract agent. Delivers an approved audience or lead list to a system outside the organization.",
"author": {
"name": "AgentCatalog",
"url": "https://agentcatalog.com"
},
"homepage": "https://agentcatalog.com/abstract-agents/audience-handover",
"repository": "https://github.com/jeffrschneider/agentcatalog",
"license": "CC-BY-4.0",
"keywords": [
"abstract-agent",
"reference",
"marketing",
"co-marketing-campaign",
"target-audience-segment",
"account-based-play",
"abstract"
],
"extensions": {
"com.agentcatalog.agent": {
"agent": "audience-handover",
"agentVersion": 1,
"department": "marketing",
"abstract": true,
"works": "Answers the roll-call before a transfer with whether the list may leave, how many records it holds, and how many the consent record took out. Sits in the briefing that plans a campaign running on somebody else's system, so the fields it will be allowed to send are known while the plan can still change. Requests the approval that has to pass before a list leaves the organization, and puts the consent-manager agent's finding and the field list in front of the signers. Takes a changes-requested from an approval by reopening only the part that was named. Reports into collect-and-report with the counts and the match figures for every transfer in the period.",
"servers": [
{
"name": "the approved list",
"role": "approved-list",
"access": "read",
"needs": "At the version it was approved at."
},
{
"name": "the consent record",
"role": "consent-record",
"access": "read"
},
{
"name": "the suppression lists",
"role": "suppression-lists",
"access": "read"
},
{
"name": "the agreement covering the transfer",
"role": "agreement-covering-the-transfer",
"access": "read",
"needs": "Which fields may be sent, what they may be used for, and how long the receiving organization may hold them."
},
{
"name": "the destination system",
"role": "destination-system",
"access": "write",
"needs": "Cap: which fields may leave and how many records one transfer may carry, set by the adopting organization."
},
{
"name": "the transfer record",
"role": "transfer-record",
"access": "write",
"needs": "Every transfer lands with what was sent, what was accepted and what matched."
},
{
"name": "the notification channel",
"role": "notification-channel",
"access": "write"
}
],
"records": [
"For every transfer: the list at the version it was approved at, the count it started with, the count the consent record took out, the fields that were sent, and the fields that were held back with the term that held each one back.",
"The date and time the transfer went, the count the receiving system accepted, the count it rejected with the reason it gave, and how much of the list matched.",
"The approval the transfer rests on, naming the person who signed for it.",
"The date the receiving organization is required to delete the records, taken from the agreement.",
"A dated line for every withdrawal passed on after the transfer, naming the system it went to and the day that system confirmed it.",
"A transfer whose receipt never arrived is recorded as unconfirmed rather than left out."
],
"escalates": [
"a field the destination asks for that the agreement does not cover",
"a use the receiving organization intends that the consent record does not cover, sent to a person with the consent-manager agent's finding attached",
"a receipt it cannot get, and an accepted count that does not agree with what it sent",
"a withdrawal it cannot confirm reached a system the records were sent to",
"a destination with no agreement in force, or an agreement that has passed its end date",
"a request to send a list that no person has signed for, because this agent sends nothing on its own",
"a match rate below the level the process sets, because the campaign built on that list will not reach the audience it was planned for"
],
"not": [
"Does not decide who is on the list.",
"The audience-manager agent sets the segment and what it is for, and the audience-operator agent builds it in the systems that hold contacts.",
"Does not hold the consent record and does not decide whether a contact may be contacted at all, which is the consent-manager agent; this agent applies that agent's record to one transfer and files the finding with the receipt.",
"Does not set targeting, bids or budget on the receiving platform, which is the media-buyer agent, and does not run the campaign the audience is bought against, which is the campaign-manager agent.",
"Does not score a form submission or route it to an owner, which is the lead-scorer agent, and that agent works on a lead inside the organization's own systems.",
"Does not send messages to the contacts, which is the email-producer agent.",
"Does not negotiate or sign the agreement that allows a transfer, which are the legal reviewer (person) and the people who sign contracts.",
"Does not answer for the partner relationship a transfer happens inside, which is the partner-manager agent, and it tells that agent what was sent.",
"Does not delete the records at the other end, because the receiving organization does that; this agent records the date the deletion is owed and escalates when it cannot confirm the deletion happened.",
"Does not sign anything."
],
"processes": [
{
"process": "ref/mkt/account-based-play",
"activities": [
"Set up the Paid Buy"
]
},
{
"process": "ref/mkt/channel-program",
"activities": [
"Set up the Partner Systems"
]
},
{
"process": "ref/mkt/co-marketing-campaign",
"activities": [
"Settle the Lead Terms",
"Wire up the Split",
"Split and Hand over the Leads",
"Agree the Joint Numbers"
]
},
{
"process": "ref/mkt/enable-channel-partner",
"activities": [
"Hand over the Selling Kit"
]
},
{
"process": "ref/mkt/target-audience-segment",
"activities": [
"Brief the Build",
"Hand the List to the Platforms",
"Confirm the Match",
"Set the Refresh Schedule"
]
},
{
"process": "ref/mkt/traffic-ad-creative",
"activities": [
"Load the Audiences the Plan Names"
]
}
]
}
}
}
# audience-handover 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 six 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/mkt/account-based-play`, `ref/mkt/channel-program`, `ref/mkt/co-marketing-campaign`, `ref/mkt/enable-channel-partner`, `ref/mkt/target-audience-segment`, `ref/mkt/traffic-ad-creative`. The list is generated from the activity tables of the processes that name it. https://agentcatalog.com/abstract-agents/audience-handover
--- name: deliver-the-list description: The agent applies the consent record and the field limits to the approved list, formats it for the receiving system, sends it, and gets a receipt back saying what was accepted and what was rejected. Use it when running `ref/mkt/account-based-play` and 4 other reference processes. license: CC-BY-4.0 metadata: agent: audience-handover agent-version: "1" --- # Deliver the list ## What it does The agent applies the consent record and the field limits to the approved list, formats it for the receiving system, sends it, and gets a receipt back saying what was accepted and what was rejected. ## Where it happens The agent does this in five activities across five reference processes. Each one names the activity as that process words it. - **Hand over the Selling Kit** - `ref/mkt/enable-channel-partner`, activity 13 - [Enable Channel Partner](../../../../processes/marketing/enable-channel-partner.md) - **Hand the List to the Platforms** - `ref/mkt/target-audience-segment`, activity 13 - [Build Target Audience Segment](../../../../processes/marketing/target-audience-segment.md) - **Load the Audiences the Plan Names** - `ref/mkt/traffic-ad-creative`, activity 11 - [Traffic Ad Creative](../../../../processes/marketing/traffic-ad-creative.md) - **Set up the Paid Buy** - `ref/mkt/account-based-play`, activity 11 - [Run Account-Based Play](../../../../processes/marketing/account-based-play.md) - **Split and Hand over the Leads** - `ref/mkt/co-marketing-campaign`, activity 14 - [Run Co-Marketing Campaign](../../../../processes/marketing/co-marketing-campaign.md) ## What to record For every transfer: the list at the version it was approved at, the count it started with, the count the consent record took out, the fields that were sent, and the fields that were held back with the term that held each one back. The date and time the transfer went, the count the receiving system accepted, the count it rejected with the reason it gave, and how much of the list matched. The approval the transfer rests on, naming the person who signed for it. The date the receiving organization is required to delete the records, taken from the agreement. A dated line for every withdrawal passed on after the transfer, naming the system it went to and the day that system confirmed it. A transfer whose receipt never arrived is recorded as unconfirmed rather than left out. 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`.
--- name: hear-the-request-at-the-briefing description: The agent sits in the briefing that plans a transfer and says which fields it will be allowed to send and to which systems, while the plan can still change. Use it when running `ref/mkt/target-audience-segment`. license: CC-BY-4.0 metadata: agent: audience-handover agent-version: "1" --- # Hear the request at the briefing ## What it does The agent sits in the briefing that plans a transfer and says which fields it will be allowed to send and to which systems, while the plan can still change. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Brief the Build** - `ref/mkt/target-audience-segment`, activity 7 - [Build Target Audience Segment](../../../../processes/marketing/target-audience-segment.md) ## What to record For every transfer: the list at the version it was approved at, the count it started with, the count the consent record took out, the fields that were sent, and the fields that were held back with the term that held each one back. The date and time the transfer went, the count the receiving system accepted, the count it rejected with the reason it gave, and how much of the list matched. The approval the transfer rests on, naming the person who signed for it. The date the receiving organization is required to delete the records, taken from the agreement. A dated line for every withdrawal passed on after the transfer, naming the system it went to and the day that system confirmed it. A transfer whose receipt never arrived is recorded as unconfirmed rather than left out. 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`.
--- name: reconcile-the-counts-after-a-transfer description: The agent sets what it sent against what the receiving system recorded, reports how much of the list matched at the other end, and matches both sides' counts and costs into one set of figures. Use it when running `ref/mkt/co-marketing-campaign` and `ref/mkt/target-audience-segment`. license: CC-BY-4.0 metadata: agent: audience-handover agent-version: "1" --- # Reconcile the counts after a transfer ## What it does The agent sets what it sent against what the receiving system recorded, reports how much of the list matched at the other end, and matches both sides' counts and costs into one set of figures. ## Where it happens The agent does this in two activities across two reference processes. Each one names the activity as that process words it. - **Agree the Joint Numbers** - `ref/mkt/co-marketing-campaign`, activity 15 - [Run Co-Marketing Campaign](../../../../processes/marketing/co-marketing-campaign.md) - **Confirm the Match** - `ref/mkt/target-audience-segment`, activity 14 - [Build Target Audience Segment](../../../../processes/marketing/target-audience-segment.md) ## What to record For every transfer: the list at the version it was approved at, the count it started with, the count the consent record took out, the fields that were sent, and the fields that were held back with the term that held each one back. The date and time the transfer went, the count the receiving system accepted, the count it rejected with the reason it gave, and how much of the list matched. The approval the transfer rests on, naming the person who signed for it. The date the receiving organization is required to delete the records, taken from the agreement. A dated line for every withdrawal passed on after the transfer, naming the system it went to and the day that system confirmed it. A transfer whose receipt never arrived is recorded as unconfirmed rather than left out. 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`.
--- name: set-the-refresh-schedule description: The agent sets how often the list is rebuilt and delivered again, and records the date the next transfer is due. Use it when running `ref/mkt/target-audience-segment`. license: CC-BY-4.0 metadata: agent: audience-handover agent-version: "1" --- # Set the refresh schedule ## What it does The agent sets how often the list is rebuilt and delivered again, and records the date the next transfer is due. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Set the Refresh Schedule** - `ref/mkt/target-audience-segment`, activity 15 - [Build Target Audience Segment](../../../../processes/marketing/target-audience-segment.md) ## What to record For every transfer: the list at the version it was approved at, the count it started with, the count the consent record took out, the fields that were sent, and the fields that were held back with the term that held each one back. The date and time the transfer went, the count the receiving system accepted, the count it rejected with the reason it gave, and how much of the list matched. The approval the transfer rests on, naming the person who signed for it. The date the receiving organization is required to delete the records, taken from the agreement. A dated line for every withdrawal passed on after the transfer, naming the system it went to and the day that system confirmed it. A transfer whose receipt never arrived is recorded as unconfirmed rather than left out. 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`.
--- name: set-up-the-receiving-systems description: "The agent sets up the receiving side before anything is sent: the records and tiers held at the other end, the tracking, the form fields, and where each record has to land. Use it when running `ref/mkt/channel-program` and `ref/mkt/co-marketing-campaign`." license: CC-BY-4.0 metadata: agent: audience-handover agent-version: "1" --- # Set up the receiving systems ## What it does The agent sets up the receiving side before anything is sent: the records and tiers held at the other end, the tracking, the form fields, and where each record has to land. ## Where it happens The agent does this in two activities across two reference processes. Each one names the activity as that process words it. - **Set up the Partner Systems** - `ref/mkt/channel-program`, activity 9 - [Launch Channel Program](../../../../processes/marketing/channel-program.md) - **Wire up the Split** - `ref/mkt/co-marketing-campaign`, activity 10 - [Run Co-Marketing Campaign](../../../../processes/marketing/co-marketing-campaign.md) ## What to record For every transfer: the list at the version it was approved at, the count it started with, the count the consent record took out, the fields that were sent, and the fields that were held back with the term that held each one back. The date and time the transfer went, the count the receiving system accepted, the count it rejected with the reason it gave, and how much of the list matched. The approval the transfer rests on, naming the person who signed for it. The date the receiving organization is required to delete the records, taken from the agreement. A dated line for every withdrawal passed on after the transfer, naming the system it went to and the day that system confirmed it. A transfer whose receipt never arrived is recorded as unconfirmed rather than left out. 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`.
--- name: settle-what-may-be-sent description: The agent settles who gets which records, which fields go with them and on what basis, reading the agreement covering the transfer and the consent record together. Use it when running `ref/mkt/co-marketing-campaign`. license: CC-BY-4.0 metadata: agent: audience-handover agent-version: "1" --- # Settle what may be sent ## What it does The agent settles who gets which records, which fields go with them and on what basis, reading the agreement covering the transfer and the consent record together. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Settle the Lead Terms** - `ref/mkt/co-marketing-campaign`, activity 2 - [Run Co-Marketing Campaign](../../../../processes/marketing/co-marketing-campaign.md) ## What to record For every transfer: the list at the version it was approved at, the count it started with, the count the consent record took out, the fields that were sent, and the fields that were held back with the term that held each one back. The date and time the transfer went, the count the receiving system accepted, the count it rejected with the reason it gave, and how much of the list matched. The approval the transfer rests on, naming the person who signed for it. The date the receiving organization is required to delete the records, taken from the agreement. A dated line for every withdrawal passed on after the transfer, naming the system it went to and the day that system confirmed it. A transfer whose receipt never arrived is recorded as unconfirmed rather than left out. 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`.
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.
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.
{
"$schema": "https://agent-plugins.org/schemas/1.1.0/mcp.schema.json",
"mcpServers": {
"approved-list": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/approved-list"
},
"consent-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/consent-record"
},
"suppression-lists": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/suppression-lists"
},
"agreement-covering-the-transfer": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/agreement-covering-the-transfer"
},
"destination-system": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/destination-system"
},
"transfer-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/transfer-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.
6 processes, 12 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.
Set up the Paid Buy
Set up the Partner Systems
Settle the Lead Terms · Wire up the Split · Split and Hand over the Leads · Agree the Joint Numbers
Hand over the Selling Kit
Brief the Build · Hand the List to the Platforms · Confirm the Match · Set the Refresh Schedule
Load the Audiences the Plan Names
What it writes down
For every transfer: the list at the version it was approved at, the count it started with, the count the consent record took out, the fields that were sent, and the fields that were held back with the term that held each one back. The date and time the transfer went, the count the receiving system accepted, the count it rejected with the reason it gave, and how much of the list matched. The approval the transfer rests on, naming the person who signed for it. The date the receiving organization is required to delete the records, taken from the agreement. A dated line for every withdrawal passed on after the transfer, naming the system it went to and the day that system confirmed it. A transfer whose receipt never arrived is recorded as unconfirmed rather than left out.
What it will not do
Does not decide who is on the list. The audience-manager agent sets the segment and what it is for, and the audience-operator agent builds it in the systems that hold contacts. Does not hold the consent record and does not decide whether a contact may be contacted at all, which is the consent-manager agent; this agent applies that agent's record to one transfer and files the finding with the receipt. Does not set targeting, bids or budget on the receiving platform, which is the media-buyer agent, and does not run the campaign the audience is bought against, which is the campaign-manager agent. Does not score a form submission or route it to an owner, which is the lead-scorer agent, and that agent works on a lead inside the organization's own systems. Does not send messages to the contacts, which is the email-producer agent. Does not negotiate or sign the agreement that allows a transfer, which are the legal reviewer (person) and the people who sign contracts. Does not answer for the partner relationship a transfer happens inside, which is the partner-manager agent, and it tells that agent what was sent. Does not delete the records at the other end, because the receiving organization does that; this agent records the date the deletion is owed and escalates when it cannot confirm the deletion happened. Does not sign anything.
These limits are written into the job on purpose, so that everyone adopting the process knows which decisions stay with a person.
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.
implements: audience-handover v1
One line in your agent's manifest. The catalog checks it against the records your runs actually leave.
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.
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,…
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.
- agent-handoff-certified-mcp MCP server · csoai-org.github.io · hosted · run it yourself · mirrored from the MCP registry Verifiable agent-to-agent task handoff with signed provenance chain. Initiating agent signs the ...
- Agent Handoff MCP server · jordan23wagner-ops.github.io · hosted · mirrored from the MCP registry Pass messages between AI agents with cleaning, metadata enrichment, and metered billing.
- mcp MCP server · postcept.github.io · run it yourself · mirrored from the MCP registry Verify agent actions against the system of record and get signed completion receipts.