Lead Cleanup MCP Lite
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Lead Cleanup MCP LiteClean and dedupe: Jane Doe jane@example.com, jane@example.com, bob@invalid"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Lead Cleanup MCP Lite
A free, minimal Model Context Protocol server that cleans and de-duplicates sales lead lists. It runs locally, needs no API keys, and makes no network calls.
Tools
Tool | What it does |
| Takes a list of leads ( |
| Checks whether an email address has a valid format (no network lookup). |
Related MCP server: omniventure-agent-tools
Install
Requires Node.js 18 or newer.
git clone https://github.com/digitalsolutionsmagic/lead-cleanup-mcp-lite.git
cd lead-cleanup-mcp-lite
npm install
npm run sample # runs the cleaning logic on examples/sample-leads.jsonAdd to an MCP client
Example config for Claude Desktop or any client that uses an mcpServers block (replace the path with your own):
{
"mcpServers": {
"lead-cleanup-lite": {
"command": "node",
"args": ["/full/path/to/lead-cleanup-mcp-lite/src/index.js"]
}
}
}Example
Input (examples/sample-leads.json) has three rows: one messy valid lead, a duplicate of it, and one with an invalid email. Output:
{
"cleaned": [
{
"name": "Jane Doe",
"email": "jane.doe@example.com",
"phone": "5551234567",
"company": "Acme Inc",
"website": "acme.com"
}
],
"stats": { "input": 3, "kept": 1, "invalid_email": 1, "duplicates": 1 }
}Full version
This Lite version covers cleanup only. The full Lead Enrichment & Cleanup MCP Skill adds AI-powered lead enrichment using Gemini and is available on the author's store:
https://www.getly.store/store/ai-magic-mvh6ijc8
License
MIT. See LICENSE.
Available Tools
2 toolsclean_leadsA
Clean a list of sales leads: normalize names, emails, phones and websites, drop invalid emails and remove duplicates.
| Name | Required | Description | Default |
|---|---|---|---|
| leads | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full behavioral burden, and it does disclose the substantive behaviors: normalization of four field types, removal of invalid emails, and deduplication. However, it does not disclose the dedupe key (email? name+company?), whether input order is preserved, or whether it returns a new list versus mutating anything, which are exactly the details an agent needs to interpret output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-formed sentence that front-loads the verb and the resource, then lists effects in a scannable colon-list. No filler, no repetition of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description is the only source of truth, yet it never says what the return value looks like (cleaned leads plus a report of dropped items? just the cleaned list?) or how the 5000-item cap behaves. For a data-transforming tool with a nested payload, that leaves a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter, but schema description coverage is 0% and the parameter is a nested array of lead objects, so the description must do the semantic work. It names four of the five object fields (name, email, phone, website) but silently omits 'company', leaving an agent unsure whether company is preserved, passed through, or dropped. The mapping of described operations to fields is helpful but incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description has a specific verb ('Clean') and resource ('a list of sales leads'), then enumerates the concrete operations: normalize names, emails, phones and websites, drop invalid emails, remove duplicates. That is far more informative than a restatement of the name. It does not, however, contrast itself with the sibling validate_email, so an agent must infer that this is the batch-level operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the plural 'list of leads' signals a bulk operation, while validate_email suggests single-record validation, but the description never states when to choose one over the other or any preconditions. There are no explicit exclusions or escalation rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_emailA
Check whether an email address has a valid format (no network lookup).
| Name | Required | Description | Default |
|---|---|---|---|
| Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It usefully discloses that no network lookup occurs, implying a fast, side-effect-free local check, but it never states whether the result is a boolean, an error reason, or what happens with malformed input.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler. The key constraint, no network lookup, is included inline where it is most useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a trivial one-parameter tool with no output schema, the description covers the input and the execution scope but omits the shape of the result, which is the entire point of a validation tool. An agent can guess a boolean, but it should not have to.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter with 0% schema description coverage, so the description must compensate. It only implies that the input is the email address to validate, adding minimal meaning beyond the property name 'email'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: check an email address for valid format. It is unambiguous about what the tool does, though it never mentions the sibling clean_leads or how the two differ in scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(no network lookup)' implicitly scopes usage to syntactic-only checks and signals this is not a deliverability or MX verification tool, which is useful. However, there is no explicit statement of when to use this versus clean_leads or any other alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.1.0- First observed
clean_leads - First observed
validate_email
TDQS
Scored across 2 tools
Both tools operate on email validity: clean_leads already drops invalid emails, so validate_email is essentially a single-item subset of the bulk tool. The descriptions do clarify scope (one address vs. a whole list), which keeps an agent from complete confusion, but the boundaries overlap.
Both names follow the same verb_noun snake_case pattern (clean_leads, validate_email) and the verbs accurately describe the actions.
Two tools is thin even for a 'Lite' server; the surface is a bulk operation plus one narrow helper rather than a balanced set. It is not egregiously over- or under-scoped, but it sits at the borderline.
clean_leads covers the core domain (normalize names, emails, phones, websites, drop invalid, dedupe) and validate_email gives a quick single-address check. Minor gaps exist — no standalone phone/website validation or single-lead normalization, though an agent can pass a one-item list as a workaround.
Maintenance
Related MCP Connectors
Clean, dedupe and verify Google Maps leads from any scraper.
Clean, dedupe, join and reconcile CSV/Excel files. Runs on Apify, pay per use.
Dedupe, flatten and clean messy JSON rows (emails, phones, URLs, HTML) in one call, as JSON or CSV.
Audit B2B prospect lists before enrichment, CRM import or outreach.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables personalized cold email outreach through research, drafting, template management, and deliverability checks, all locally with no required API keys.6MIT
- AlicenseAqualityCmaintenanceSub-15ms edge intelligence tools for Claude Desktop, Cursor, and LLM agent loops. Provides sub-millisecond LLM JSON repair, web-to-markdown token compression (cuts context tokens up to 90%), PII redaction, and RFC 5322 B2B email deliverability verification at zero marginal token cost.6MIT
- AlicenseNot gradedqualityBmaintenanceEnables autonomous B2B lead generation by discovering companies, scraping websites for contacts, decoding obfuscated emails, generating email permutations, and verifying email deliverability via MX and SMTP checks.2MIT
- AlicenseAqualityCmaintenanceEnables validating CSV structure, checking simple schemas, converting between CSV and JSON, sampling rows, and finding duplicate keys on local files. All processing stays local, so no user data is ever uploaded.6MIT