LeadsClean MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
pip install mcp-leadsclean
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add leads-clean -- node "<FULL_PATH_TO_LEADSCLEAN>/dist/index.js"

Replace <FULL_PATH_TO_LEADSCLEAN>/dist/index.js with the actual folder you prepared in step 1.

README.md

Extract structured B2B lead intelligence from company websites.

LeadsClean MCP Server

An open-source MCP server that extracts structured B2B lead intelligence from company websites. Point it at any URL — get back a clean JSON object with company summary, buying signals, inferred needs, and personalised icebreaker lines.

Built as a reference implementation for MCP tool development. Demonstrates multi-provider LLM routing, dual-transport MCP serving, GDPR compliance patterns, and API key management — patterns you can reuse in your own MCP servers.

Works with Claude Desktop, Cursor, and any MCP-compatible client.


Tools

Tool Description
extract_lead_intelligence Analyse a single company URL and return structured lead intel
batch_extract_leads Analyse up to 20 URLs in parallel — designed for agent list-processing

Output schema

{
  "company_name": "Acme Hotels Group",
  "core_business_summary": "Boutique hotel chain with 12 properties across Europe.",
  "product_category_match": "Strong match — hotel groups purchase furniture in bulk for room refits.",
  "recent_company_trigger": "Announced expansion to 3 new cities in Q1 2026, adding 400+ rooms.",
  "inferred_business_need": "Bulk furnishing for new hotel rooms on tight fit-out timelines.",
  "icebreaker_hook_business": "Running 12 properties across Europe is impressive — furnishing them at scale is where we help.",
  "icebreaker_hook_news": "Saw the Q1 expansion news — we help hotel groups source wholesale beds and sofas fast.",
  "data_provenance": {
    "source_url": "https://acmehotels.com",
    "source_type": "public_website",
    "collection_method": "jina_reader_public_fetch",
    "contains_pii": false,
    "gdpr_basis": "legitimate_interest",
    "gdpr_notes": "Extracted solely from publicly available company web pages. No personal data collected. Compliant with GDPR Art. 6(1)(f)."
  }
}

Every response includes data_provenance — a machine-readable GDPR metadata block indicating data source, PII status, and legal basis.


Quick start

Prerequisites

Install

pip install mcp-leadsclean

Or clone and install from source:

git clone https://github.com/edition/leadsclean
cd leadsclean
pip install -e .

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "leadsclean": {
      "command": "mcp-leadsclean",
      "env": {
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}

Set the key for whichever provider(s) you use (see Environment variables).

Cursor

Add to your Cursor MCP config (~/.cursor/mcp.json):

{
  "mcpServers": {
    "leadsclean": {
      "command": "mcp-leadsclean",
      "env": {
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}

HTTP transport (production agent pipelines)

For remote agents or multi-tenant deployments, run with Streamable HTTP transport:

OPENAI_API_KEY=sk-... mcp-leadsclean --transport http --port 8001

The server exposes a single MCP endpoint at http://localhost:8001/mcp.


Demo mode

Try the server without an API key — useful for testing your agent pipeline or reviewing the output schema:

LEADSCLEAN_DEMO=1 mcp-leadsclean

All tool calls return a sanitised fixture response when LEADSCLEAN_DEMO=1 is set. The response includes "_demo": true so agents can detect and discard it.


Environment variables

The model parameter controls which provider is used. Provider is inferred from the model-name prefix — set the corresponding key:

Variable Required when Model prefix Description
OPENAI_API_KEY Using OpenAI (default) gpt-*, o1-*, o3-* OpenAI API key
ANTHROPIC_API_KEY Using Claude claude-* Anthropic API key
DASHSCOPE_API_KEY Using Alibaba Qwen qwen-* Alibaba DashScope API key
MINIMAX_API_KEY Using MiniMax abab*, minimax-* MiniMax API key
LEADSCLEAN_DEMO Set to 1 to return fixture data without any LLM call

The default model is gpt-4o-mini (OpenAI). To switch provider, pass the desired model ID in the tool call — e.g. claude-3-5-haiku-20241022 for Anthropic, qwen-turbo for Alibaba.


REST API

A standard FastAPI REST endpoint is also available for non-MCP integrations:

u

Tools (2)

extract_lead_intelligenceAnalyse a single company URL and return structured lead intel
batch_extract_leadsAnalyse up to 20 URLs in parallel

Environment Variables

OPENAI_API_KEYAPI key for OpenAI models
ANTHROPIC_API_KEYAPI key for Anthropic models
DASHSCOPE_API_KEYAPI key for Alibaba Qwen models
MINIMAX_API_KEYAPI key for MiniMax models
LEADSCLEAN_DEMOSet to 1 to return fixture data without LLM calls

Configuration

claude_desktop_config.json
{"mcpServers": {"leadsclean": {"command": "mcp-leadsclean", "env": {"OPENAI_API_KEY": "sk-..."}}}}

Try it

Analyze https://example.com and provide a summary of their business and potential buying signals.
Find inferred business needs and generate personalized icebreaker lines for the company at https://acme.com.
Batch process these 5 URLs to extract lead intelligence for my sales pipeline: [list of URLs].
What are the recent company triggers for https://techcorp.com that might indicate a need for our services?

Frequently Asked Questions

What are the key features of LeadsClean?

Extracts structured B2B lead intelligence including company summaries and buying signals.. Generates personalized icebreaker hooks based on company news and business needs.. Supports parallel batch processing of up to 20 URLs.. Includes GDPR-compliant data provenance metadata in every response.. Supports multi-provider LLM routing including OpenAI, Anthropic, Qwen, and MiniMax..

What can I use LeadsClean for?

Automating lead qualification for B2B sales outreach pipelines.. Generating personalized icebreakers for cold email campaigns at scale.. Identifying business needs and buying signals from prospect websites.. Integrating company intelligence directly into AI agent workflows..

How do I install LeadsClean?

Install LeadsClean by running: pip install mcp-leadsclean

What MCP clients work with LeadsClean?

LeadsClean works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep LeadsClean docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare