Broadcast operator
broadcast-operator v1Runs the technical side of a session an audience watches online. The agent sets the session up in the broadcast platform, which means creating it at its date and time, settling who may join and how they get in, loading the material each presenter will show, and preparing the polls and the question handling the program asks for. It runs the technical rehearsal, so that every presenter has connected, been heard and shared their screen before an audience is watching. It drives the controls while the session is live, putting each presenter on air, opening and closing the polls, and starting and stopping the recording. When the session ends it hands across the recording, the attendance record, the poll answers and every question that was asked.
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.
Sits in the briefing that starts the session, so it knows what the session is for, who presents, and what each presenter will show. Holds a specialist slice in build-by-talent for everything inside the broadcast platform, building to the program and the material it was given, and telling the agent that made a piece when something will not play as supplied. Runs the technical rehearsal as a roll-call of its own, where every presenter answers the same three questions: whether they connected, whether they were heard, and whether they could share what they intend to show. Answers the roll-call before the session with whether the session is ready to run and what is still open. Reports into collect-and-report once the session is over, with every attendance and engagement figure attributed to the platform record it came from.
What is in the package
4 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 what the session is for, who it is aimed at, or what it has to deliver, which is the event-manager agent, and this agent works to the plan that agent sets. Does not build the program, choose the presenters, brief them or chase their decks, which is the event-program agent; this agent's rehearsal covers the connection, the sound, the picture and the sharing, and that agent rehearses what a presenter is going to say. Does not book venues, order equipment, ship anything or handle a supplier contract, which is the event-operations agent. Does not write the words, make the slides or cut the video a session shows, which are the copywriter, designer and video-editor agents. Does not cut the recording into the pieces that get published afterwards, which is the video-editor agent, and it hands the recording over whole. Does not publish the recording or build the page it sits on, which is the web-producer agent, and does not decide when it goes live, which is the content-manager agent. Does not build the registration page and does not send the invitation, the reminder or the follow-up, which are the web-producer and email-producer agents. Does not answer the audience's questions, because the presenters answer on air and the community-manager agent answers what comes in afterwards. Does not act on what an attendee posts in the session when it breaks the community rules, which is the moderator agent. Does not score the people who attended or write them into the CRM, which is the lead-scorer agent, and does not send the attendance record to any system outside the organization, which is the audience-handover agent. Does not report how the session did against what it was asked to do, because the analytics agent reports the numbers and the event-manager agent answers for the session. Does not sign anything. ## What always goes to a person - a presenter who has not completed the technical rehearsal by the date it was due - a failure the audience can see while the session is live, immediately, because a person decides whether the session carries on, restarts or stops - cancelling a session, postponing it, or cutting it short, always - a presenter who says something on air that has not been approved, such as an unreleased product, a customer's name, or a claim the register does not support, raised while the recording can still be changed before anybody publishes it - anything said in the session that reads like a legal threat or a crisis, immediately and before anybody answers it on air - a recording that captured something nobody meant to be recorded, such as a conversation before the session started - a request to hand the attendance record or the questions to anybody outside the organization
# The records this abstract agent must leave
This is the contract. An agent implementing `broadcast-operator` leaves
the following behind, on every run.
The session as it was set up, at a version, saying the date, the time,
who may join and how, what material was loaded, and which polls were
prepared. The rehearsal record, saying which presenters connected, which
were heard, which shared successfully, what failed, and what was still
unresolved when the rehearsal ended. A dated record of the live session,
saying when it started, when it ended, who was on air at each point,
when each poll opened and closed, and anything that went wrong with the
time it happened. The recording at a version. The attendance record,
naming who registered, who joined, when each person joined and left, and
how long they stayed. The poll answers as the platform recorded them.
Every question that was asked, with the time it came in, whether it was
answered on air, and which questions were still unanswered when the
session ended.
An agent that leaves less than this does not implement
`broadcast-operator`, whatever else it does well.
# The systems this abstract agent needs
Nine 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 broadcast platform | write | The session, its access settings, its polls and its loaded material are set up here. |
| the live session | trigger | Starting it, ending it, putting a presenter on air, opening a poll, and recording. |
| the session recording store | write | The recording lands at a version with the date it was made. |
| the attendance and engagement record | write | Who joined, when they joined and left, what they answered and what they asked. |
| the registration record | read | Who is expected. |
| the asset store | read | The slides, the video and the graphics at the versions that were signed. |
| the event plan and its schedule | read | |
| the speaker record | read | Who presents and what each of them owes. |
| the presenter back channel | write | What is said to the presenters while the session is running. |
There is deliberately no sending grant. This agent invites nobody,
because the email-producer agent sends the invitation, the reminder and
the follow-up to the list the run defines.
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": "broadcast-operator",
"version": "1.0.0",
"description": "The broadcast-operator abstract agent. Runs the technical side of a session an audience watches online.",
"author": {
"name": "AgentCatalog",
"url": "https://agentcatalog.com"
},
"homepage": "https://agentcatalog.com/abstract-agents/broadcast-operator",
"repository": "https://github.com/jeffrschneider/agentcatalog",
"license": "CC-BY-4.0",
"keywords": [
"abstract-agent",
"reference",
"marketing",
"webinar",
"enable-channel-partner",
"abstract"
],
"extensions": {
"com.agentcatalog.agent": {
"agent": "broadcast-operator",
"agentVersion": 1,
"department": "marketing",
"abstract": true,
"works": "Sits in the briefing that starts the session, so it knows what the session is for, who presents, and what each presenter will show. Holds a specialist slice in build-by-talent for everything inside the broadcast platform, building to the program and the material it was given, and telling the agent that made a piece when something will not play as supplied. Runs the technical rehearsal as a roll-call of its own, where every presenter answers the same three questions: whether they connected, whether they were heard, and whether they could share what they intend to show. Answers the roll-call before the session with whether the session is ready to run and what is still open. Reports into collect-and-report once the session is over, with every attendance and engagement figure attributed to the platform record it came from.",
"servers": [
{
"name": "the broadcast platform",
"role": "broadcast-platform",
"access": "write",
"needs": "The session, its access settings, its polls and its loaded material are set up here."
},
{
"name": "the live session",
"role": "live-session",
"access": "trigger",
"needs": "Starting it, ending it, putting a presenter on air, opening a poll, and recording."
},
{
"name": "the session recording store",
"role": "session-recording-store",
"access": "write",
"needs": "The recording lands at a version with the date it was made."
},
{
"name": "the attendance and engagement record",
"role": "attendance-and-engagement-record",
"access": "write",
"needs": "Who joined, when they joined and left, what they answered and what they asked."
},
{
"name": "the registration record",
"role": "registration-record",
"access": "read",
"needs": "Who is expected."
},
{
"name": "the asset store",
"role": "asset-store",
"access": "read",
"needs": "The slides, the video and the graphics at the versions that were signed."
},
{
"name": "the event plan and its schedule",
"role": "event-plan-and-its-schedule",
"access": "read"
},
{
"name": "the speaker record",
"role": "speaker-record",
"access": "read",
"needs": "Who presents and what each of them owes."
},
{
"name": "the presenter back channel",
"role": "presenter-back-channel",
"access": "write",
"needs": "What is said to the presenters while the session is running."
}
],
"records": [
"The session as it was set up, at a version, saying the date, the time, who may join and how, what material was loaded, and which polls were prepared.",
"The rehearsal record, saying which presenters connected, which were heard, which shared successfully, what failed, and what was still unresolved when the rehearsal ended.",
"A dated record of the live session, saying when it started, when it ended, who was on air at each point, when each poll opened and closed, and anything that went wrong with the time it happened.",
"The recording at a version.",
"The attendance record, naming who registered, who joined, when each person joined and left, and how long they stayed.",
"The poll answers as the platform recorded them.",
"Every question that was asked, with the time it came in, whether it was answered on air, and which questions were still unanswered when the session ended."
],
"escalates": [
"a presenter who has not completed the technical rehearsal by the date it was due",
"a failure the audience can see while the session is live, immediately, because a person decides whether the session carries on, restarts or stops",
"cancelling a session, postponing it, or cutting it short, always",
"a presenter who says something on air that has not been approved, such as an unreleased product, a customer's name, or a claim the register does not support, raised while the recording can still be changed before anybody publishes it",
"anything said in the session that reads like a legal threat or a crisis, immediately and before anybody answers it on air",
"a recording that captured something nobody meant to be recorded, such as a conversation before the session started",
"a request to hand the attendance record or the questions to anybody outside the organization"
],
"not": [
"Does not decide what the session is for, who it is aimed at, or what it has to deliver, which is the event-manager agent, and this agent works to the plan that agent sets.",
"Does not build the program, choose the presenters, brief them or chase their decks, which is the event-program agent; this agent's rehearsal covers the connection, the sound, the picture and the sharing, and that agent rehearses what a presenter is going to say.",
"Does not book venues, order equipment, ship anything or handle a supplier contract, which is the event-operations agent.",
"Does not write the words, make the slides or cut the video a session shows, which are the copywriter, designer and video-editor agents.",
"Does not cut the recording into the pieces that get published afterwards, which is the video-editor agent, and it hands the recording over whole.",
"Does not publish the recording or build the page it sits on, which is the web-producer agent, and does not decide when it goes live, which is the content-manager agent.",
"Does not build the registration page and does not send the invitation, the reminder or the follow-up, which are the web-producer and email-producer agents.",
"Does not answer the audience's questions, because the presenters answer on air and the community-manager agent answers what comes in afterwards.",
"Does not act on what an attendee posts in the session when it breaks the community rules, which is the moderator agent.",
"Does not score the people who attended or write them into the CRM, which is the lead-scorer agent, and does not send the attendance record to any system outside the organization, which is the audience-handover agent.",
"Does not report how the session did against what it was asked to do, because the analytics agent reports the numbers and the event-manager agent answers for the session.",
"Does not sign anything."
],
"processes": [
{
"process": "ref/mkt/enable-channel-partner",
"activities": [
"Run the Session"
]
},
{
"process": "ref/mkt/webinar",
"activities": [
"Set up the Session in the Platform",
"Rehearse the Session",
"Run the Session",
"Hand over What the Session Produced"
]
}
]
}
}
}
# broadcast-operator 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 four 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/enable-channel-partner`, `ref/mkt/webinar`. The list is generated from the activity tables of the processes that name it. https://agentcatalog.com/abstract-agents/broadcast-operator
--- name: hand-over-what-the-session-produced description: Passes on everything the session produced once it ends, which is the recording, the attendance record, the poll answers and every question that was asked. Use it when running `ref/mkt/webinar`. license: CC-BY-4.0 metadata: agent: broadcast-operator agent-version: "1" --- # Hand over what the session produced ## What it does Passes on everything the session produced once it ends, which is the recording, the attendance record, the poll answers and every question that was asked. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Hand over What the Session Produced** - `ref/mkt/webinar`, activity 13 - [Produce Webinar](../../../../processes/marketing/webinar.md) ## What to record The session as it was set up, at a version, saying the date, the time, who may join and how, what material was loaded, and which polls were prepared. The rehearsal record, saying which presenters connected, which were heard, which shared successfully, what failed, and what was still unresolved when the rehearsal ended. A dated record of the live session, saying when it started, when it ended, who was on air at each point, when each poll opened and closed, and anything that went wrong with the time it happened. The recording at a version. The attendance record, naming who registered, who joined, when each person joined and left, and how long they stayed. The poll answers as the platform recorded them. Every question that was asked, with the time it came in, whether it was answered on air, and which questions were still unanswered when the session ended. 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: rehearse-the-presenters description: Runs the technical rehearsal so that every presenter has connected, been heard and shared their screen before an audience is watching. Use it when running `ref/mkt/webinar`. license: CC-BY-4.0 metadata: agent: broadcast-operator agent-version: "1" --- # Rehearse the presenters ## What it does Runs the technical rehearsal so that every presenter has connected, been heard and shared their screen before an audience is watching. It records who was ready, what failed, and what was still unresolved when the rehearsal ended. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Rehearse the Session** - `ref/mkt/webinar`, activity 11 - [Produce Webinar](../../../../processes/marketing/webinar.md) ## What to record The session as it was set up, at a version, saying the date, the time, who may join and how, what material was loaded, and which polls were prepared. The rehearsal record, saying which presenters connected, which were heard, which shared successfully, what failed, and what was still unresolved when the rehearsal ended. A dated record of the live session, saying when it started, when it ended, who was on air at each point, when each poll opened and closed, and anything that went wrong with the time it happened. The recording at a version. The attendance record, naming who registered, who joined, when each person joined and left, and how long they stayed. The poll answers as the platform recorded them. Every question that was asked, with the time it came in, whether it was answered on air, and which questions were still unanswered when the session ended. 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: run-the-live-session description: Drives the controls while the session is live, putting each presenter on air, opening and closing the polls, and starting and stopping the recording. Use it when running `ref/mkt/enable-channel-partner` and `ref/mkt/webinar`. license: CC-BY-4.0 metadata: agent: broadcast-operator agent-version: "1" --- # Run the live session ## What it does Drives the controls while the session is live, putting each presenter on air, opening and closing the polls, and starting and stopping the recording. It keeps a dated account of when the session started and ended, who was on air at each point, and anything that went wrong. ## Where it happens The agent does this in one activity across two reference processes. Each one names the activity as that process words it. - **Run the Session** - `ref/mkt/enable-channel-partner`, activity 10 - [Enable Channel Partner](../../../../processes/marketing/enable-channel-partner.md) - `ref/mkt/webinar`, activity 12 - [Produce Webinar](../../../../processes/marketing/webinar.md) ## What to record The session as it was set up, at a version, saying the date, the time, who may join and how, what material was loaded, and which polls were prepared. The rehearsal record, saying which presenters connected, which were heard, which shared successfully, what failed, and what was still unresolved when the rehearsal ended. A dated record of the live session, saying when it started, when it ended, who was on air at each point, when each poll opened and closed, and anything that went wrong with the time it happened. The recording at a version. The attendance record, naming who registered, who joined, when each person joined and left, and how long they stayed. The poll answers as the platform recorded them. Every question that was asked, with the time it came in, whether it was answered on air, and which questions were still unanswered when the session ended. 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-session description: Creates the session in the broadcast platform at its date and time, settles who may join and how they get in, loads the material each presenter will show, and prepares the polls, the question handling and the registration form. Use it when running `ref/mkt/webinar`. license: CC-BY-4.0 metadata: agent: broadcast-operator agent-version: "1" --- # Set up the session ## What it does Creates the session in the broadcast platform at its date and time, settles who may join and how they get in, loads the material each presenter will show, and prepares the polls, the question handling and the registration form. ## 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 up the Session in the Platform** - `ref/mkt/webinar`, activity 3 - [Produce Webinar](../../../../processes/marketing/webinar.md) ## What to record The session as it was set up, at a version, saying the date, the time, who may join and how, what material was loaded, and which polls were prepared. The rehearsal record, saying which presenters connected, which were heard, which shared successfully, what failed, and what was still unresolved when the rehearsal ended. A dated record of the live session, saying when it started, when it ended, who was on air at each point, when each poll opened and closed, and anything that went wrong with the time it happened. The recording at a version. The attendance record, naming who registered, who joined, when each person joined and left, and how long they stayed. The poll answers as the platform recorded them. Every question that was asked, with the time it came in, whether it was answered on air, and which questions were still unanswered when the session ended. 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 9 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": {
"broadcast-platform": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/broadcast-platform"
},
"live-session": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/live-session"
},
"session-recording-store": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/session-recording-store"
},
"attendance-and-engagement-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/attendance-and-engagement-record"
},
"registration-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/registration-record"
},
"asset-store": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/asset-store"
},
"event-plan-and-its-schedule": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/event-plan-and-its-schedule"
},
"speaker-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/speaker-record"
},
"presenter-back-channel": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/presenter-back-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.
2 processes, 5 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.
Run the Session
Set up the Session in the Platform · Rehearse the Session · Run the Session · Hand over What the Session Produced
What it writes down
The session as it was set up, at a version, saying the date, the time, who may join and how, what material was loaded, and which polls were prepared. The rehearsal record, saying which presenters connected, which were heard, which shared successfully, what failed, and what was still unresolved when the rehearsal ended. A dated record of the live session, saying when it started, when it ended, who was on air at each point, when each poll opened and closed, and anything that went wrong with the time it happened. The recording at a version. The attendance record, naming who registered, who joined, when each person joined and left, and how long they stayed. The poll answers as the platform recorded them. Every question that was asked, with the time it came in, whether it was answered on air, and which questions were still unanswered when the session ended.
What it will not do
Does not decide what the session is for, who it is aimed at, or what it has to deliver, which is the event-manager agent, and this agent works to the plan that agent sets. Does not build the program, choose the presenters, brief them or chase their decks, which is the event-program agent; this agent's rehearsal covers the connection, the sound, the picture and the sharing, and that agent rehearses what a presenter is going to say. Does not book venues, order equipment, ship anything or handle a supplier contract, which is the event-operations agent. Does not write the words, make the slides or cut the video a session shows, which are the copywriter, designer and video-editor agents. Does not cut the recording into the pieces that get published afterwards, which is the video-editor agent, and it hands the recording over whole. Does not publish the recording or build the page it sits on, which is the web-producer agent, and does not decide when it goes live, which is the content-manager agent. Does not build the registration page and does not send the invitation, the reminder or the follow-up, which are the web-producer and email-producer agents. Does not answer the audience's questions, because the presenters answer on air and the community-manager agent answers what comes in afterwards. Does not act on what an attendee posts in the session when it breaks the community rules, which is the moderator agent. Does not score the people who attended or write them into the CRM, which is the lead-scorer agent, and does not send the attendance record to any system outside the organization, which is the audience-handover agent. Does not report how the session did against what it was asked to do, because the analytics agent reports the numbers and the event-manager agent answers for the session. 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: broadcast-operator 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.
- Before Users Do MCP server · bhuman-ai.github.io · hosted · mirrored from the MCP registry Browser-backed QA with evidence and fix-ready reports for coding agents.
- operandi MCP server · operandi.cc · run it yourself · mirrored from the MCP registry Grounded, safety-checked appliance operation packages for robots and agents. Zero-config trial.
- Let Agents In MCP server · letagentsin.com · hosted · mirrored from the MCP registry Scan agent readiness, or find measured providers an unattended AI agent can finish with.