Lead Scorer

For builders

Outreach tools for your AI agent

You already have an agent. It does not need another SaaS UI — it needs a registry, real company data, a place to put scores, and a queue to drop drafts into. That is what Lead Scorer exposes: 104 MCP tools, typed responses, and a hard human-approval boundary at the send.

104 tools 101 of them cost zero credits OAuth 2.1 or Bearer key Free plan included

Bring your own model, keep your credits

Credits pay for provider work we run for you. Exactly three tools do that: enrich_leads, enrich_company, find_lead_contact_info. The other 101 do not touch the billing path at all.

That is deliberate. When your agent classifies a company or writes a first touch, the inference already happened — in your model, on your tokens. Lead Scorer's job at that point is to hold the result, not to charge you for thinking it did not do.

The pull-and-submit pattern

Every place the product would normally call an LLM has a matching pair: one tool hands you the queue and the context, one takes your verdict back.

Score a lead

get_leads_pending_scoring → your model → submit_lead_score

Pull the leads waiting on a verdict with the context needed to judge them, decide in your own model, and write back the company ICP score, the decision-maker score and the reason.

Classify a company

get_companies_pending_classification → your model → submit_company_classification

Read the companies that have no classification yet and push back the one your model decided on.

Enrich a lead

get_leads_pending_ai_enrichment → your model → submit_lead_ai_enrichment

Take the queue of leads needing business context, research them however you like, and submit the structured enrichment.

Write a campaign draft

get_campaign_authoring_context → your model → write_campaign_drafts

Read the product, the lead's enrichment and the angle for a campaign action, write the message with your own model, and push it into the approval queue.

Workflow runs

Longer motions — discovery from a brief, key-people lookups — are exposed as runs rather than as one blocking call. list_workflows tells you what exists and what each one takes, start_workflow_run kicks one off, and get_workflow_run polls it. Every run answers with the same shape, whatever it is doing underneath.

get_workflow_run

{
  "run_id": "…",
  "workflow_key": "…",
  "status": "awaiting_company_approval",
  "processed": 42,
  "total": 120,
  "awaiting": {
    "action": "approve_companies",
    "context": { … }
  },
  "result": { "lead_list_id": 91, "company_list_id": null },
  "error": null
}

Interactive steps

When a run needs a decision, it stops and fills awaiting with the action that resolves it and the context to decide on. Your agent — or you — answers with advance_workflow_run.

  • answer_clarifications
  • confirm_brief
  • approve_companies
  • approve_credit_charge
  • resume
  • finish_with_current_results

Note approve_credit_charge: a run that is about to spend stops and asks, rather than spending and telling you afterwards.

Responses you can branch on

Every tool returns two things: a text block for the model to read, and a typed structuredContent object for your code. No prose parsing, no regex over an answer.

{
  "content": [{ "type": "text", "text": "…" }],
  "structuredContent": { "list_id": 91, "total": 250, "leads": [ … ] }
}

Guardrails you inherit

Approval before send

Your agent can build the whole campaign and still not send it. Launching is a human action in the app, under your daily cap and sending window.

Spend guardrail

The three billable tools estimate before they run, require an explicit confirmation above the threshold, and refuse any call targeting more than 250 leads.

Your account, your scope

OAuth 2.1 means the agent acts as you, on your workspace, and you can revoke it at any time. Nothing is shared across accounts.

Connect

Streamable HTTP at https://mcp.lead-scorer.com/mcp. Use OAuth 2.1 if your client supports it; otherwise send Authorization: Bearer <MCP API key>.

Server URL

https://mcp.lead-scorer.com/mcp

OAuth — the login command opens your browser.

  1. Run the add command from the project that should use Lead Scorer.
  2. Run the login command, then complete Lead Scorer sign-in in your browser.
Terminal
claude mcp add --transport http lead-scorer https://mcp.lead-scorer.com/mcp
claude mcp login lead-scorer
Claude Code MCP documentation

Questions

Why are most of the tools free in credits?
Credits pay for provider work Lead Scorer runs on your behalf. Only three tools do that — enrich_leads, enrich_company, find_lead_contact_info — so the other 101 cost nothing. When your agent scores a lead or writes a draft, the inference happened in your model, on your tokens, and Lead Scorer only stores the result.
Can my agent spend my credits without asking?
No. The three billable tools run behind a spend guardrail: they return an estimate first, calls above the threshold have to be confirmed explicitly, and no single call may target more than 250 leads.
Can my agent send messages?
It can create campaigns and write every draft. It cannot put a campaign into sending — going live is a human action in the app, with your own daily cap and sending window.
How do I authenticate a headless agent?
OAuth 2.1 is the recommended path wherever your client supports it. Some clients — Cursor, for one — only support API keys today: generate an MCP API key in Settings and send it as an Authorization: Bearer header instead.
Do the tools return parseable output?
Yes. Every tool returns a text block for the model plus a typed structuredContent object with the actual data, so you can branch on fields instead of parsing prose.

Next

  • Agent skills — downloadable SKILL.md playbooks that drive these tools end to end. Drop them in .claude/skills/ and your agent has the method, not just the tools.
  • MCP server — the client-by-client setup, the capability families, and the example prompts.
  • /llm-info and llms.txt — the machine-readable product summary, if you are pointing a model at us.