Lead scorer
lead-scorer v1Turns a form submission into a scored, routed lead in minutes: deduplicates, enriches, scores against the current model, assigns by territory, and notifies the owner with the evidence attached. Every activity this agent holds can run unattended, and it earns that by leaving the evidence behind every decision it makes.
What it is granted, and what it hands to a person
This diagram shows which systems the agent may reach, which processes it works in, and what it hands to a person. Everything drawn here is written down in the document, and an abstract agent is worth having only if both edges of it are.
Works alone, because lead routing convenes no rooms in the ordinary case. That is what makes the records this agent leaves the only way anyone can check its work. Feeds the weekly accuracy review that the analytics agent runs.
What is in the package
11 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 edit the scoring model or the territory map - both change only through their own review, as versioned amendments. Does not contact the lead. ## What always goes to a person - a lead it cannot score or route - to the exception queue, with what it knows attached, instead of guessing - a spike in exceptions, because that usually means an upstream form or data source changed
# The records this abstract agent must leave
This is the contract. An agent implementing `lead-scorer` leaves the
following behind, on every run.
Per lead: the merged record with each filled field naming its source,
the score with the model version and the inputs it was computed from,
and the assignment with the reason. Any auditor can replay any decision
from what it left behind.
An agent that leaves less than this does not implement `lead-scorer`,
whatever else it does well.
# The systems this abstract agent needs
Three 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 |
|---|---|
| the CRM | write |
| enrichment sources | read |
| the notification channel | write |
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": "lead-scorer",
"version": "1.0.0",
"description": "The lead-scorer abstract agent. Turns a form submission into a scored, routed lead in minutes: deduplicates, enriches, scores against the current model, assigns by territory, and notifies the owner with the evidence attached.",
"author": {
"name": "AgentCatalog",
"url": "https://agentcatalog.com"
},
"homepage": "https://agentcatalog.com/abstract-agents/lead-scorer",
"repository": "https://github.com/jeffrschneider/agentcatalog",
"license": "CC-BY-4.0",
"keywords": [
"abstract-agent",
"reference",
"marketing",
"lead-scoring-model",
"lead-routing",
"ideal-customer-profile",
"abstract"
],
"extensions": {
"com.agentcatalog.agent": {
"agent": "lead-scorer",
"agentVersion": 1,
"department": "marketing",
"abstract": true,
"works": "Works alone, because lead routing convenes no rooms in the ordinary case. That is what makes the records this agent leaves the only way anyone can check its work. Feeds the weekly accuracy review that the analytics agent runs.",
"servers": [
{
"name": "the CRM",
"role": "crm",
"access": "write"
},
{
"name": "enrichment sources",
"role": "enrichment-sources",
"access": "read"
},
{
"name": "the notification channel",
"role": "notification-channel",
"access": "write"
}
],
"records": [
"Per lead: the merged record with each filled field naming its source, the score with the model version and the inputs it was computed from, and the assignment with the reason.",
"Any auditor can replay any decision from what it left behind."
],
"escalates": [
"a lead it cannot score or route - to the exception queue, with what it knows attached, instead of guessing",
"a spike in exceptions, because that usually means an upstream form or data source changed"
],
"not": [
"Does not edit the scoring model or the territory map - both change only through their own review, as versioned amendments.",
"Does not contact the lead."
],
"processes": [
{
"process": "ref/mkt/account-based-play",
"activities": [
"Hand over the Accounts that Moved"
]
},
{
"process": "ref/mkt/analyze-customer-base",
"activities": [
"Hand over the Findings"
]
},
{
"process": "ref/mkt/buyer-persona",
"activities": [
"Hand over the Persona"
]
},
{
"process": "ref/mkt/channel-program",
"activities": [
"Set up the Partner Systems"
]
},
{
"process": "ref/mkt/co-marketing-campaign",
"activities": [
"Split and Hand over the Leads"
]
},
{
"process": "ref/mkt/enable-channel-partner",
"activities": [
"Hand over the Selling Kit"
]
},
{
"process": "ref/mkt/field-event",
"activities": [
"Follow up with the People Who Came"
]
},
{
"process": "ref/mkt/ideal-customer-profile",
"activities": [
"Test the Signal Coverage",
"Hand over the Profile"
]
},
{
"process": "ref/mkt/lead-routing",
"activities": [
"Capture and Dedupe",
"Enrich",
"Score",
"Route",
"Notify",
"Clear the Exception"
]
},
{
"process": "ref/mkt/lead-scoring-model",
"activities": [
"Read the Exception Queue",
"Test the Signal Coverage",
"Check What Each Does to Routing",
"Run It Beside the Live Model",
"Hand over the Model",
"Put It into Production",
"Watch the First Weeks"
]
},
{
"process": "ref/mkt/nurture-sequence",
"activities": [
"Set the Exits",
"Hand over the Ready Ones"
]
},
{
"process": "ref/mkt/segment-the-market",
"activities": [
"Test Whether Each Segment Can Be Reached",
"Hand over the Segments"
]
},
{
"process": "ref/mkt/trade-show",
"activities": [
"Set up Lead Capture",
"Hand over the Leads"
]
},
{
"process": "ref/mkt/webinar",
"activities": [
"Hand off the Leads"
]
},
{
"process": "ref/mkt/win-back-campaign",
"activities": [
"Hand over the Responders"
]
}
]
}
}
}
# lead-scorer 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 eleven 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/analyze-customer-base`, `ref/mkt/buyer-persona`, `ref/mkt/channel-program`, `ref/mkt/co-marketing-campaign`, `ref/mkt/enable-channel-partner`, and 9 more. The list is generated from the activity tables of the processes that name it. https://agentcatalog.com/abstract-agents/lead-scorer
--- name: build-one-clean-record-from-a-submission description: Takes an incoming submission, merges it into any record already held for the same person or company, and fills in the company size, industry and geography that the model needs and the form did not ask for. Use it when running `ref/mkt/lead-routing`. license: CC-BY-4.0 metadata: agent: lead-scorer agent-version: "1" --- # Build one clean record from a submission ## What it does Takes an incoming submission, merges it into any record already held for the same person or company, and fills in the company size, industry and geography that the model needs and the form did not ask for. ## Where it happens The agent does this in two activities across one reference process. Each one names the activity as that process words it. - **Capture and Dedupe** - `ref/mkt/lead-routing`, activity 1 - [Route Inbound Lead](../../../../processes/marketing/lead-routing.md) - **Enrich** - `ref/mkt/lead-routing`, activity 2 - [Route Inbound Lead](../../../../processes/marketing/lead-routing.md) ## What to record Per lead: the merged record with each filled field naming its source, the score with the model version and the inputs it was computed from, and the assignment with the reason. Any auditor can replay any decision from what it left behind. 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: put-a-new-model-into-service description: Switches scoring over to a new version, so every lead from that point on is scored by it. Use it when running `ref/mkt/lead-scoring-model`. license: CC-BY-4.0 metadata: agent: lead-scorer agent-version: "1" --- # Put a new model into service ## What it does Switches scoring over to a new version, so every lead from that point on is scored by it. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Put It into Production** - `ref/mkt/lead-scoring-model`, activity 15 - [Maintain Lead Scoring Model](../../../../processes/marketing/lead-scoring-model.md) ## What to record Per lead: the merged record with each filled field naming its source, the score with the model version and the inputs it was computed from, and the assignment with the reason. Any auditor can replay any decision from what it left behind. 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: report-how-the-scoring-is-holding-up description: "Reports how the live model is doing: the scores it gave set against what those leads went on to do, and the leads no rule could place with how each one was settled. Use it when running `ref/mkt/lead-scoring-model`." license: CC-BY-4.0 metadata: agent: lead-scorer agent-version: "1" --- # Report how the scoring is holding up ## What it does Reports how the live model is doing: the scores it gave set against what those leads went on to do, and the leads no rule could place with how each one was settled. ## Where it happens The agent does this in two activities across one reference process. Each one names the activity as that process words it. - **Read the Exception Queue** - `ref/mkt/lead-scoring-model`, activity 3 - [Maintain Lead Scoring Model](../../../../processes/marketing/lead-scoring-model.md) - **Watch the First Weeks** - `ref/mkt/lead-scoring-model`, activity 16 - [Maintain Lead Scoring Model](../../../../processes/marketing/lead-scoring-model.md) ## What to record Per lead: the merged record with each filled field naming its source, the score with the model version and the inputs it was computed from, and the assignment with the reason. Any auditor can replay any decision from what it left behind. 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: route-leads-to-their-owners description: Works out who owns a lead from its territory and its score, assigns it, and tells that owner with the score and the evidence behind it. Use it when running `ref/mkt/account-based-play` and 8 other reference processes. license: CC-BY-4.0 metadata: agent: lead-scorer agent-version: "1" --- # Route leads to their owners ## What it does Works out who owns a lead from its territory and its score, assigns it, and tells that owner with the score and the evidence behind it. The same work runs over a batch of leads that came from an event, a campaign, a program or a list shared with another party. ## Where it happens The agent does this in ten activities across nine reference processes. Each one names the activity as that process words it. - **Follow up with the People Who Came** - `ref/mkt/field-event`, activity 14 - [Host Field Event](../../../../processes/marketing/field-event.md) - **Hand off the Leads** - `ref/mkt/webinar`, activity 16 - [Produce Webinar](../../../../processes/marketing/webinar.md) - **Hand over the Accounts that Moved** - `ref/mkt/account-based-play`, activity 17 - [Run Account-Based Play](../../../../processes/marketing/account-based-play.md) - **Hand over the Leads** - `ref/mkt/trade-show`, activity 13 - [Exhibit at Trade Show](../../../../processes/marketing/trade-show.md) - **Hand over the Ready Ones** - `ref/mkt/nurture-sequence`, activity 15 - [Build Nurture Sequence](../../../../processes/marketing/nurture-sequence.md) - **Hand over the Responders** - `ref/mkt/win-back-campaign`, activity 16 - [Run Win-Back Campaign](../../../../processes/marketing/win-back-campaign.md) - **Hand over the Selling Kit** - `ref/mkt/enable-channel-partner`, activity 13 - [Enable Channel Partner](../../../../processes/marketing/enable-channel-partner.md) - **Notify** - `ref/mkt/lead-routing`, activity 5 - [Route Inbound Lead](../../../../processes/marketing/lead-routing.md) - **Route** - `ref/mkt/lead-routing`, activity 4 - [Route Inbound Lead](../../../../processes/marketing/lead-routing.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 Per lead: the merged record with each filled field naming its source, the score with the model version and the inputs it was computed from, and the assignment with the reason. Any auditor can replay any decision from what it left behind. 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: score-a-lead description: Scores a lead against the model currently in force and records the inputs that produced the score. Use it when running `ref/mkt/lead-routing`. license: CC-BY-4.0 metadata: agent: lead-scorer agent-version: "1" --- # Score a lead ## What it does Scores a lead against the model currently in force and records the inputs that produced the score. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Score** - `ref/mkt/lead-routing`, activity 3 - [Route Inbound Lead](../../../../processes/marketing/lead-routing.md) ## What to record Per lead: the merged record with each filled field naming its source, the score with the model version and the inputs it was computed from, and the assignment with the reason. Any auditor can replay any decision from what it left behind. 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-rules-that-take-a-contact-out description: Writes the rules that end a contact's run through a program and says where that contact goes next. Use it when running `ref/mkt/nurture-sequence`. license: CC-BY-4.0 metadata: agent: lead-scorer agent-version: "1" --- # Set the rules that take a contact out ## What it does Writes the rules that end a contact's run through a program and says where that contact goes next. ## 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 Exits** - `ref/mkt/nurture-sequence`, activity 5 - [Build Nurture Sequence](../../../../processes/marketing/nurture-sequence.md) ## What to record Per lead: the merged record with each filled field naming its source, the score with the model version and the inputs it was computed from, and the assignment with the reason. Any auditor can replay any decision from what it left behind. 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-a-path-for-leads-to-arrive description: "Sets up the way leads reach the record: the capture fields and the scan or form behind them, and the partner records, tiers and registrations that incoming leads land against. Use it when running `ref/mkt/channel-program` and `ref/mkt/trade-show`." license: CC-BY-4.0 metadata: agent: lead-scorer agent-version: "1" --- # Set up a path for leads to arrive ## What it does Sets up the way leads reach the record: the capture fields and the scan or form behind them, and the partner records, tiers and registrations that incoming leads land against. ## 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 Lead Capture** - `ref/mkt/trade-show`, activity 9 - [Exhibit at Trade Show](../../../../processes/marketing/trade-show.md) - **Set up the Partner Systems** - `ref/mkt/channel-program`, activity 9 - [Launch Channel Program](../../../../processes/marketing/channel-program.md) ## What to record Per lead: the merged record with each filled field naming its source, the score with the model version and the inputs it was computed from, and the assignment with the reason. Any auditor can replay any decision from what it left behind. 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-a-lead-no-rule-can-place description: Holds a lead that no routing rule settles, puts it to a person with everything known about it, and applies the answer that comes back. Use it when running `ref/mkt/lead-routing`. license: CC-BY-4.0 metadata: agent: lead-scorer agent-version: "1" --- # Settle a lead no rule can place ## What it does Holds a lead that no routing rule settles, puts it to a person with everything known about it, and applies the answer that comes back. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Clear the Exception** - `ref/mkt/lead-routing`, activity 6 - [Route Inbound Lead](../../../../processes/marketing/lead-routing.md) ## What to record Per lead: the merged record with each filled field naming its source, the score with the model version and the inputs it was computed from, and the assignment with the reason. Any auditor can replay any decision from what it left behind. 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-part-in-a-handover-of-a-finished-definition description: Takes part in the handover of a finished definition, such as a profile, a persona, a set of segments, a scoring model or a set of findings, and says what changes about how leads are scored and routed as a result. Use it when running `ref/mkt/analyze-customer-base` and 4 other reference processes. license: CC-BY-4.0 metadata: agent: lead-scorer agent-version: "1" --- # Take part in a handover of a finished definition ## What it does Takes part in the handover of a finished definition, such as a profile, a persona, a set of segments, a scoring model or a set of findings, and says what changes about how leads are scored and routed as a result. ## 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 Findings** - `ref/mkt/analyze-customer-base`, activity 17 - [Analyze Customer Base](../../../../processes/marketing/analyze-customer-base.md) - **Hand over the Model** - `ref/mkt/lead-scoring-model`, activity 14 - [Maintain Lead Scoring Model](../../../../processes/marketing/lead-scoring-model.md) - **Hand over the Persona** - `ref/mkt/buyer-persona`, activity 18 - [Develop Buyer Persona](../../../../processes/marketing/buyer-persona.md) - **Hand over the Profile** - `ref/mkt/ideal-customer-profile`, activity 15 - [Define Ideal Customer Profile](../../../../processes/marketing/ideal-customer-profile.md) - **Hand over the Segments** - `ref/mkt/segment-the-market`, activity 16 - [Segment the Market](../../../../processes/marketing/segment-the-market.md) ## What to record Per lead: the merged record with each filled field naming its source, the score with the model version and the inputs it was computed from, and the assignment with the reason. Any auditor can replay any decision from what it left behind. 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: test-whether-the-data-supports-a-definition description: "Checks whether the data on hand can carry a proposed model or a proposed set of segments: how often each signal is filled in, what it costs to fill, and whether the people described can be found and reached at all. Use it when running `ref/mkt/ideal-customer-profile`, `ref/mkt/lead-scoring-model` and `ref/mkt/segment-the-market`." license: CC-BY-4.0 metadata: agent: lead-scorer agent-version: "1" --- # Test whether the data supports a definition ## What it does Checks whether the data on hand can carry a proposed model or a proposed set of segments: how often each signal is filled in, what it costs to fill, and whether the people described can be found and reached at all. ## Where it happens The agent does this in two activities across three reference processes. Each one names the activity as that process words it. - **Test Whether Each Segment Can Be Reached** - `ref/mkt/segment-the-market`, activity 10 - [Segment the Market](../../../../processes/marketing/segment-the-market.md) - **Test the Signal Coverage** - `ref/mkt/ideal-customer-profile`, activity 8 - [Define Ideal Customer Profile](../../../../processes/marketing/ideal-customer-profile.md) - `ref/mkt/lead-scoring-model`, activity 7 - [Maintain Lead Scoring Model](../../../../processes/marketing/lead-scoring-model.md) ## What to record Per lead: the merged record with each filled field naming its source, the score with the model version and the inputs it was computed from, and the assignment with the reason. Any auditor can replay any decision from what it left behind. 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: try-a-candidate-model-against-live-leads description: Runs a proposed model beside the one in force so both score real leads while only the current one routes, and reports what the change would do to the tiers and the territory queues. Use it when running `ref/mkt/lead-scoring-model`. license: CC-BY-4.0 metadata: agent: lead-scorer agent-version: "1" --- # Try a candidate model against live leads ## What it does Runs a proposed model beside the one in force so both score real leads while only the current one routes, and reports what the change would do to the tiers and the territory queues. ## Where it happens The agent does this in two activities across one reference process. Each one names the activity as that process words it. - **Check What Each Does to Routing** - `ref/mkt/lead-scoring-model`, activity 10 - [Maintain Lead Scoring Model](../../../../processes/marketing/lead-scoring-model.md) - **Run It Beside the Live Model** - `ref/mkt/lead-scoring-model`, activity 12 - [Maintain Lead Scoring Model](../../../../processes/marketing/lead-scoring-model.md) ## What to record Per lead: the merged record with each filled field naming its source, the score with the model version and the inputs it was computed from, and the assignment with the reason. Any auditor can replay any decision from what it left behind. 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 3 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": {
"crm": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/crm"
},
"enrichment-sources": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/enrichment-sources"
},
"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.
20 processes, 40 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.
Hand over the Accounts that Moved
Hand over the Findings
Hand over the Persona
Set up the Partner Systems
Split and Hand over the Leads
Hand over the Selling Kit
Follow up with the People Who Came
Test the Signal Coverage · Hand over the Profile
Capture and Dedupe · Enrich · Score · Route · Notify · Clear the Exception
Read the Exception Queue · Test the Signal Coverage · Check What Each Does to Routing · Run It Beside the Live Model · Hand over the Model · Put It into Production · Watch the First Weeks
Set the Exits · Hand over the Ready Ones
Test Whether Each Segment Can Be Reached · Hand over the Segments
Set up Lead Capture · Hand over the Leads
Hand off the Leads
Hand over the Responders
Find Who Should Have Got It · Look for the Others Like It
Replay It Against Past Work · Verify It in the Live System
Match the Inquiry to a Record
Score What Was Learned · Record the Decision and Its Reason
Hand the Lead to Nurture · Close the Opportunity Record · Record the Outcome
What it writes down
Per lead: the merged record with each filled field naming its source, the score with the model version and the inputs it was computed from, and the assignment with the reason. Any auditor can replay any decision from what it left behind.
What it will not do
Does not edit the scoring model or the territory map - both change only through their own review, as versioned amendments. Does not contact the lead.
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: lead-scorer 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.
- leadpipe-mcp MCP server · enzoemir1.github.io · run it yourself · mirrored from the MCP registry AI lead qualification: ICP filter, 0-100 scoring, Hunter.io enrichment, HubSpot/Pipedrive export.
- Italian B2B Lead Scoring, Ranking & JSON Decisions MCP server · machinesignal.it · hosted · mirrored from the MCP registry Score, rank and prioritize an existing Italian B2B lead list into explained JSON decisions.
- LeadProof Sales Agent MCP server · leadproof.jessesay.chatgpt.site · hosted · mirrored from the MCP registry Audit lead-delivery workflows, find reliability gaps, and generate a LeadProof integration plan.