Renewal manager
renewal-manager v1Runs a renewal from the clock the agreement already sets to a signed next term. It opens on the agreement's own dates rather than when somebody remembers, reads what was bought and what is still owed from the last term, holds one written position with an ask, a floor and a named owner, and carries that position through the conversation to a signature and a booking. A term that comes back smaller is repriced, approved again and recorded as a completed renewal rather than as a loss. Nothing is booked that the signed agreement does not say.
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.
Runs collect-and-report on the entitlements at the level they were signed at. Convenes decide-and-announce on the shape of the next term, on which entitlements carry over, and on who opens the conversation with what first message. Requests two approvals it never gives itself: the position, and the signature. Runs roll-call on the agreement's clock from the day the run opens and on an offer that is out with the customer. Convenes the debrief on why the term grew, held or shrank. Takes usage from the usage-monitor agent, standing from the account-monitor agent, the score from the risk-watcher agent, and the priced ask, floor and reprice from the quote-builder agent.
What is in the package
8 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 price. Every line, the floor and any reprice come from the quote-builder agent against the price book at a version. Does not sign or countersign: both are human gates. Does not measure usage or read the account's standing itself, and does not score the risk of leaving, which is the risk-watcher agent's assessment. Does not speak for the account owner. The owner opens the conversation and carries it, and this agent holds the position, the evidence and the clock behind it. ## What always goes to a person - an agreement that renews itself if nobody acts, to whoever the policy names, before its notice date, whatever the position says - a commitment made at signature and never delivered, to the delivery lead, because an ask for a higher price over an open commitment is not one of the choices - an account scored likely enough to leave that a renewal conversation is the wrong next move, to the churn risk work with the position and the reason attached - a booked term that does not match the signed agreement, held before the account is told and before the first invoice of the new term - a notice date that passes with no signature, recorded as a departure with the version the customer last held and the reason they gave
# The records this abstract agent must leave
This is the contract. An agent implementing `renewal-manager` leaves the
following behind, on every run.
Per renewal: the clock, opened from the agreement's own dates, with the
date the position is due. The agreement as read, with a settled reading
attached to any clause that could be read two ways. The entitlements at
their signed level with the amendments. The commitments made at
signature and still open, each with who owes it and since when. The
shape of the next term and the reason for it. The ask and the floor at
the version a person approved, with that person named. The brief at a
version, with the usage and the standing attached rather than
summarized. The customer's own words, kept rather than replaced by a
summary. What carries over, what is dropped, what is added. A smaller
term recorded beside the old price with its distance from the floor
stated. The signed agreement, and the booked term set against it line
for line. Why the term grew, held or shrank, in a form the next renewal
can read.
An agent that leaves less than this does not implement
`renewal-manager`, 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 agreement store | write | The agreement at its signed version, its notice date, and the next term once it is signed. |
| the entitlement record | read | What was bought, at the level it was signed at, with every amendment. |
| the usage record | read | So a position is never argued from memory. |
| the support system | read | What is still open against the account. |
| the CRM | write | The position, the conversation and the outcome. |
| the billing system | write | The signed term recorded where it is billed, line for line against the signature. |
| the renewal brief store | write | One record the conversation runs from. |
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": "renewal-manager",
"version": "1.0.0",
"description": "The renewal-manager abstract agent. Runs a renewal from the clock the agreement already sets to a signed next term.",
"author": {
"name": "AgentCatalog",
"url": "https://agentcatalog.com"
},
"homepage": "https://agentcatalog.com/abstract-agents/renewal-manager",
"repository": "https://github.com/jeffrschneider/agentcatalog",
"license": "CC-BY-4.0",
"keywords": [
"abstract-agent",
"reference",
"sales",
"close-a-renewal",
"open-a-renewal",
"work-a-churn-risk",
"abstract"
],
"extensions": {
"com.agentcatalog.agent": {
"agent": "renewal-manager",
"agentVersion": 1,
"department": "sales",
"abstract": true,
"works": "Runs collect-and-report on the entitlements at the level they were signed at. Convenes decide-and-announce on the shape of the next term, on which entitlements carry over, and on who opens the conversation with what first message. Requests two approvals it never gives itself: the position, and the signature. Runs roll-call on the agreement's clock from the day the run opens and on an offer that is out with the customer. Convenes the debrief on why the term grew, held or shrank. Takes usage from the usage-monitor agent, standing from the account-monitor agent, the score from the risk-watcher agent, and the priced ask, floor and reprice from the quote-builder agent.",
"servers": [
{
"name": "the agreement store",
"role": "agreement-store",
"access": "write",
"needs": "The agreement at its signed version, its notice date, and the next term once it is signed."
},
{
"name": "the entitlement record",
"role": "entitlement-record",
"access": "read",
"needs": "What was bought, at the level it was signed at, with every amendment."
},
{
"name": "the usage record",
"role": "usage-record",
"access": "read",
"needs": "So a position is never argued from memory."
},
{
"name": "the support system",
"role": "support-system",
"access": "read",
"needs": "What is still open against the account."
},
{
"name": "the CRM",
"role": "crm",
"access": "write",
"needs": "The position, the conversation and the outcome."
},
{
"name": "the billing system",
"role": "billing-system",
"access": "write",
"needs": "The signed term recorded where it is billed, line for line against the signature."
},
{
"name": "the renewal brief store",
"role": "renewal-brief-store",
"access": "write",
"needs": "One record the conversation runs from."
}
],
"records": [
"Per renewal: the clock, opened from the agreement's own dates, with the date the position is due.",
"The agreement as read, with a settled reading attached to any clause that could be read two ways.",
"The entitlements at their signed level with the amendments.",
"The commitments made at signature and still open, each with who owes it and since when.",
"The shape of the next term and the reason for it.",
"The ask and the floor at the version a person approved, with that person named.",
"The brief at a version, with the usage and the standing attached rather than summarized.",
"The customer's own words, kept rather than replaced by a summary.",
"What carries over, what is dropped, what is added.",
"A smaller term recorded beside the old price with its distance from the floor stated.",
"The signed agreement, and the booked term set against it line for line.",
"Why the term grew, held or shrank, in a form the next renewal can read."
],
"escalates": [
"an agreement that renews itself if nobody acts, to whoever the policy names, before its notice date, whatever the position says",
"a commitment made at signature and never delivered, to the delivery lead, because an ask for a higher price over an open commitment is not one of the choices",
"an account scored likely enough to leave that a renewal conversation is the wrong next move, to the churn risk work with the position and the reason attached",
"a booked term that does not match the signed agreement, held before the account is told and before the first invoice of the new term",
"a notice date that passes with no signature, recorded as a departure with the version the customer last held and the reason they gave"
],
"not": [
"Does not price.",
"Every line, the floor and any reprice come from the quote-builder agent against the price book at a version.",
"Does not sign or countersign: both are human gates.",
"Does not measure usage or read the account's standing itself, and does not score the risk of leaving, which is the risk-watcher agent's assessment.",
"Does not speak for the account owner.",
"The owner opens the conversation and carries it, and this agent holds the position, the evidence and the clock behind it."
],
"processes": [
{
"process": "ref/sls/close-a-renewal",
"activities": [
"Take in the Renewal Brief",
"Open the Conversation",
"Hear What the Customer Wants",
"Settle What Carries Over",
"Send the Offer",
"Reprice a Smaller Term",
"Agree the Words",
"Get the Signature",
"Book the Renewal",
"Record What Was Learned"
]
},
{
"process": "ref/sls/open-a-renewal",
"activities": [
"Open the Renewal Clock",
"Read the Agreement",
"List What Was Bought",
"Check the Open Commitments",
"Decide the Shape of the Next Term",
"Set the Ask and the Floor",
"Get the Position Approved",
"Agree Who Opens the Conversation",
"Write the Renewal Brief",
"Hand the Brief to the Close"
]
},
{
"process": "ref/sls/work-a-churn-risk",
"activities": [
"Set the Severity and the Clock",
"Agree the Save Plan",
"Close or Escalate the Risk",
"Record the Save or the Departure"
]
}
]
}
}
}
# renewal-manager 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 eight 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/renewal-manager
--- name: carry-the-conversation description: Opens the conversation, keeps what the customer wants in their own words, settles what carries over and what is dropped or added, sends the offer, and reprices a term that comes back smaller against the floor rather than recording it as a loss. Use it when running `ref/sls/close-a-renewal`. license: CC-BY-4.0 metadata: agent: renewal-manager agent-version: "1" --- # Carry the conversation ## What it does Opens the conversation, keeps what the customer wants in their own words, settles what carries over and what is dropped or added, sends the offer, and reprices a term that comes back smaller against the floor rather than recording it as a loss. ## Where it happens The agent does this in five activities across one reference process. Each one names the activity as that process words it. - **Hear What the Customer Wants** - `ref/sls/close-a-renewal`, activity 3 - [Close a Renewal](../../../../processes/sales/close-a-renewal.md) - **Open the Conversation** - `ref/sls/close-a-renewal`, activity 2 - [Close a Renewal](../../../../processes/sales/close-a-renewal.md) - **Reprice a Smaller Term** - `ref/sls/close-a-renewal`, activity 10 - [Close a Renewal](../../../../processes/sales/close-a-renewal.md) - **Send the Offer** - `ref/sls/close-a-renewal`, activity 8 - [Close a Renewal](../../../../processes/sales/close-a-renewal.md) - **Settle What Carries Over** - `ref/sls/close-a-renewal`, activity 5 - [Close a Renewal](../../../../processes/sales/close-a-renewal.md) ## What to record Per renewal: the clock, opened from the agreement's own dates, with the date the position is due. The agreement as read, with a settled reading attached to any clause that could be read two ways. The entitlements at their signed level with the amendments. The commitments made at signature and still open, each with who owes it and since when. The shape of the next term and the reason for it. The ask and the floor at the version a person approved, with that person named. The brief at a version, with the usage and the standing attached rather than summarized. The customer's own words, kept rather than replaced by a summary. What carries over, what is dropped, what is added. A smaller term recorded beside the old price with its distance from the floor stated. The signed agreement, and the booked term set against it line for line. Why the term grew, held or shrank, in a form the next renewal can read. 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: file-the-outcome description: Writes down why the term grew, held or shrank, and records a save or a departure with what was tried and what the customer said, in a form the next renewal can read. Use it when running `ref/sls/close-a-renewal` and `ref/sls/work-a-churn-risk`. license: CC-BY-4.0 metadata: agent: renewal-manager agent-version: "1" --- # File the outcome ## What it does Writes down why the term grew, held or shrank, and records a save or a departure with what was tried and what the customer said, in a form the next renewal can read. ## Where it happens The agent does this in two activities across two reference processes. Each one names the activity as that process words it. - **Record What Was Learned** - `ref/sls/close-a-renewal`, activity 15 - [Close a Renewal](../../../../processes/sales/close-a-renewal.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) ## What to record Per renewal: the clock, opened from the agreement's own dates, with the date the position is due. The agreement as read, with a settled reading attached to any clause that could be read two ways. The entitlements at their signed level with the amendments. The commitments made at signature and still open, each with who owes it and since when. The shape of the next term and the reason for it. The ask and the floor at the version a person approved, with that person named. The brief at a version, with the usage and the standing attached rather than summarized. The customer's own words, kept rather than replaced by a summary. What carries over, what is dropped, what is added. A smaller term recorded beside the old price with its distance from the floor stated. The signed agreement, and the booked term set against it line for line. Why the term grew, held or shrank, in a form the next renewal can read. 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: open-the-clock description: Opens the run on the agreement's own dates rather than when somebody remembers, and puts a severity and a date to act by on a risk being carried alongside it. Use it when running `ref/sls/open-a-renewal` and `ref/sls/work-a-churn-risk`. license: CC-BY-4.0 metadata: agent: renewal-manager agent-version: "1" --- # Open the clock ## What it does Opens the run on the agreement's own dates rather than when somebody remembers, and puts a severity and a date to act by on a risk being carried alongside it. Every later step is due against that clock. ## Where it happens The agent does this in two activities across two reference processes. Each one names the activity as that process words it. - **Open the Renewal Clock** - `ref/sls/open-a-renewal`, activity 1 - [Open a Renewal](../../../../processes/sales/open-a-renewal.md) - **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) ## What to record Per renewal: the clock, opened from the agreement's own dates, with the date the position is due. The agreement as read, with a settled reading attached to any clause that could be read two ways. The entitlements at their signed level with the amendments. The commitments made at signature and still open, each with who owes it and since when. The shape of the next term and the reason for it. The ask and the floor at the version a person approved, with that person named. The brief at a version, with the usage and the standing attached rather than summarized. The customer's own words, kept rather than replaced by a summary. What carries over, what is dropped, what is added. A smaller term recorded beside the old price with its distance from the floor stated. The signed agreement, and the booked term set against it line for line. Why the term grew, held or shrank, in a form the next renewal can read. 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: read-what-the-last-term-holds description: Reads the agreement at its signed version, lists what was bought at the level it was signed at with every amendment, and lists the commitments made at signature that are still open. Use it when running `ref/sls/open-a-renewal`. license: CC-BY-4.0 metadata: agent: renewal-manager agent-version: "1" --- # Read what the last term holds ## What it does Reads the agreement at its signed version, lists what was bought at the level it was signed at with every amendment, and lists the commitments made at signature that are still open. A clause that could be read two ways gets a settled reading attached to it. ## Where it happens The agent does this in three activities across one reference process. Each one names the activity as that process words it. - **Check the Open Commitments** - `ref/sls/open-a-renewal`, activity 6 - [Open a Renewal](../../../../processes/sales/open-a-renewal.md) - **List What Was Bought** - `ref/sls/open-a-renewal`, activity 3 - [Open a Renewal](../../../../processes/sales/open-a-renewal.md) - **Read the Agreement** - `ref/sls/open-a-renewal`, activity 2 - [Open a Renewal](../../../../processes/sales/open-a-renewal.md) ## What to record Per renewal: the clock, opened from the agreement's own dates, with the date the position is due. The agreement as read, with a settled reading attached to any clause that could be read two ways. The entitlements at their signed level with the amendments. The commitments made at signature and still open, each with who owes it and since when. The shape of the next term and the reason for it. The ask and the floor at the version a person approved, with that person named. The brief at a version, with the usage and the standing attached rather than summarized. The customer's own words, kept rather than replaced by a summary. What carries over, what is dropped, what is added. A smaller term recorded beside the old price with its distance from the floor stated. The signed agreement, and the booked term set against it line for line. Why the term grew, held or shrank, in a form the next renewal can read. 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-the-position description: Decides the shape of the next term and the reason for it, sets the ask and the floor at a version, and takes both to the person who approves them. Use it when running `ref/sls/open-a-renewal`. license: CC-BY-4.0 metadata: agent: renewal-manager agent-version: "1" --- # Settle the position ## What it does Decides the shape of the next term and the reason for it, sets the ask and the floor at a version, and takes both to the person who approves them. The agent holds the position and never approves it. ## Where it happens The agent does this in three activities across one reference process. Each one names the activity as that process words it. - **Decide the Shape of the Next Term** - `ref/sls/open-a-renewal`, activity 8 - [Open a Renewal](../../../../processes/sales/open-a-renewal.md) - **Get the Position Approved** - `ref/sls/open-a-renewal`, activity 10 - [Open a Renewal](../../../../processes/sales/open-a-renewal.md) - **Set the Ask and the Floor** - `ref/sls/open-a-renewal`, activity 9 - [Open a Renewal](../../../../processes/sales/open-a-renewal.md) ## What to record Per renewal: the clock, opened from the agreement's own dates, with the date the position is due. The agreement as read, with a settled reading attached to any clause that could be read two ways. The entitlements at their signed level with the amendments. The commitments made at signature and still open, each with who owes it and since when. The shape of the next term and the reason for it. The ask and the floor at the version a person approved, with that person named. The brief at a version, with the usage and the standing attached rather than summarized. The customer's own words, kept rather than replaced by a summary. What carries over, what is dropped, what is added. A smaller term recorded beside the old price with its distance from the floor stated. The signed agreement, and the booked term set against it line for line. Why the term grew, held or shrank, in a form the next renewal can read. 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: take-the-term-to-signature-and-booking description: Settles the words of the next term, takes it to signature, and books what the signed agreement says line for line against it. Use it when running `ref/sls/close-a-renewal`. license: CC-BY-4.0 metadata: agent: renewal-manager agent-version: "1" --- # Take the term to signature and booking ## What it does Settles the words of the next term, takes it to signature, and books what the signed agreement says line for line against it. Nothing is booked that the signature does not carry. ## Where it happens The agent does this in three activities across one reference process. Each one names the activity as that process words it. - **Agree the Words** - `ref/sls/close-a-renewal`, activity 11 - [Close a Renewal](../../../../processes/sales/close-a-renewal.md) - **Book the Renewal** - `ref/sls/close-a-renewal`, activity 13 - [Close a Renewal](../../../../processes/sales/close-a-renewal.md) - **Get the Signature** - `ref/sls/close-a-renewal`, activity 12 - [Close a Renewal](../../../../processes/sales/close-a-renewal.md) ## What to record Per renewal: the clock, opened from the agreement's own dates, with the date the position is due. The agreement as read, with a settled reading attached to any clause that could be read two ways. The entitlements at their signed level with the amendments. The commitments made at signature and still open, each with who owes it and since when. The shape of the next term and the reason for it. The ask and the floor at the version a person approved, with that person named. The brief at a version, with the usage and the standing attached rather than summarized. The customer's own words, kept rather than replaced by a summary. What carries over, what is dropped, what is added. A smaller term recorded beside the old price with its distance from the floor stated. The signed agreement, and the booked term set against it line for line. Why the term grew, held or shrank, in a form the next renewal can read. 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: work-a-save-plan description: Agrees the plan that answers a named risk, then closes the risk out when the plan turns it or puts it up for a decision when it does not. Use it when running `ref/sls/work-a-churn-risk`. license: CC-BY-4.0 metadata: agent: renewal-manager agent-version: "1" --- # Work a save plan ## What it does Agrees the plan that answers a named risk, then closes the risk out when the plan turns it or puts it up for a decision when it does not. ## Where it happens The agent does this in two activities across one reference process. Each one names the activity as that process words it. - **Agree the Save Plan** - `ref/sls/work-a-churn-risk`, activity 8 - [Work a Churn Risk](../../../../processes/sales/work-a-churn-risk.md) - **Close or Escalate the Risk** - `ref/sls/work-a-churn-risk`, activity 14 - [Work a Churn Risk](../../../../processes/sales/work-a-churn-risk.md) ## What to record Per renewal: the clock, opened from the agreement's own dates, with the date the position is due. The agreement as read, with a settled reading attached to any clause that could be read two ways. The entitlements at their signed level with the amendments. The commitments made at signature and still open, each with who owes it and since when. The shape of the next term and the reason for it. The ask and the floor at the version a person approved, with that person named. The brief at a version, with the usage and the standing attached rather than summarized. The customer's own words, kept rather than replaced by a summary. What carries over, what is dropped, what is added. A smaller term recorded beside the old price with its distance from the floor stated. The signed agreement, and the booked term set against it line for line. Why the term grew, held or shrank, in a form the next renewal can read. 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: write-the-brief-the-conversation-runs-from description: Names who opens the conversation and with what first message, writes the one brief that carries the position with the usage and the standing attached rather than summarized, and hands that brief to the people who will carry the conversation. Use it when running `ref/sls/close-a-renewal` and `ref/sls/open-a-renewal`. license: CC-BY-4.0 metadata: agent: renewal-manager agent-version: "1" --- # Write the brief the conversation runs from ## What it does Names who opens the conversation and with what first message, writes the one brief that carries the position with the usage and the standing attached rather than summarized, and hands that brief to the people who will carry the conversation. ## Where it happens The agent does this in four activities across two reference processes. Each one names the activity as that process words it. - **Agree Who Opens the Conversation** - `ref/sls/open-a-renewal`, activity 11 - [Open a Renewal](../../../../processes/sales/open-a-renewal.md) - **Hand the Brief to the Close** - `ref/sls/open-a-renewal`, activity 13 - [Open a Renewal](../../../../processes/sales/open-a-renewal.md) - **Take in the Renewal Brief** - `ref/sls/close-a-renewal`, activity 1 - [Close a Renewal](../../../../processes/sales/close-a-renewal.md) - **Write the Renewal Brief** - `ref/sls/open-a-renewal`, activity 12 - [Open a Renewal](../../../../processes/sales/open-a-renewal.md) ## What to record Per renewal: the clock, opened from the agreement's own dates, with the date the position is due. The agreement as read, with a settled reading attached to any clause that could be read two ways. The entitlements at their signed level with the amendments. The commitments made at signature and still open, each with who owes it and since when. The shape of the next term and the reason for it. The ask and the floor at the version a person approved, with that person named. The brief at a version, with the usage and the standing attached rather than summarized. The customer's own words, kept rather than replaced by a summary. What carries over, what is dropped, what is added. A smaller term recorded beside the old price with its distance from the floor stated. The signed agreement, and the booked term set against it line for line. Why the term grew, held or shrank, in a form the next renewal can read. 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": {
"agreement-store": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/agreement-store"
},
"entitlement-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/entitlement-record"
},
"usage-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/usage-record"
},
"support-system": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/support-system"
},
"crm": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/crm"
},
"billing-system": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/billing-system"
},
"renewal-brief-store": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/renewal-brief-store"
}
}
}
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.
3 processes, 24 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.
Take in the Renewal Brief · Open the Conversation · Hear What the Customer Wants · Settle What Carries Over · Send the Offer · Reprice a Smaller Term · Agree the Words · Get the Signature · Book the Renewal · Record What Was Learned
Open the Renewal Clock · Read the Agreement · List What Was Bought · Check the Open Commitments · Decide the Shape of the Next Term · Set the Ask and the Floor · Get the Position Approved · Agree Who Opens the Conversation · Write the Renewal Brief · Hand the Brief to the Close
Set the Severity and the Clock · Agree the Save Plan · Close or Escalate the Risk · Record the Save or the Departure
What it writes down
Per renewal: the clock, opened from the agreement's own dates, with the date the position is due. The agreement as read, with a settled reading attached to any clause that could be read two ways. The entitlements at their signed level with the amendments. The commitments made at signature and still open, each with who owes it and since when. The shape of the next term and the reason for it. The ask and the floor at the version a person approved, with that person named. The brief at a version, with the usage and the standing attached rather than summarized. The customer's own words, kept rather than replaced by a summary. What carries over, what is dropped, what is added. A smaller term recorded beside the old price with its distance from the floor stated. The signed agreement, and the booked term set against it line for line. Why the term grew, held or shrank, in a form the next renewal can read.
What it will not do
Does not price. Every line, the floor and any reprice come from the quote-builder agent against the price book at a version. Does not sign or countersign: both are human gates. Does not measure usage or read the account's standing itself, and does not score the risk of leaving, which is the risk-watcher agent's assessment. Does not speak for the account owner. The owner opens the conversation and carries it, and this agent holds the position, the evidence and the clock behind it.
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: renewal-manager 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.
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.
- Renewly MCP server · renewly.gg · hosted · mirrored from the MCP registry Read contracts, track renewals, surface vendor leverage, and draft cancellation/renewal emails.
- Renewal Schedule Desk MCP server · wxt-ai.github.io · hosted · mirrored from the MCP registry Add entries to a renewal schedule
- PromptSpend MCP server · andrewavery7.github.io · run it yourself · mirrored from the MCP registry LLM pricing where every rate carries its source and the date it was last confirmed.