Lead Leak Check
Analyzes Google Sheets used as lead storage in a lead pipeline, checking for risks such as missing deduplication, unowned leads, routing gaps, and lack of unanswered-lead monitoring.
Analyzes lead pipelines automated with Make.com, identifying risks where runs may report success while leads are silently dropped due to filters, disabled workflows, missing ownership, or absent alerts.
Analyzes n8n lead automation workflows for dropped-lead risks, including failed or filtered runs, long gaps in execution history, stale workflows, and missing response monitoring.
Analyzes Slack channels used for lead notifications and sales routing, checking whether leads posted to a shared channel have a clear owner and whether unanswered leads trigger alerts.
Analyzes Typeform as an inbound lead source, checking required contact fields, storage handoff, owner assignment, response SLA coverage, and monitoring gaps.
Analyzes WhatsApp as an inbound lead source, checking whether leads are logged to storage, assigned to an owner, and covered by response and unanswered-lead alerts.
Analyzes lead pipelines automated through Zapier, identifying risks where Zap runs show success but leads are never answered due to filters, disabled workflows, missing ownership, or absent monitoring.
lead-leak-check (MCP server)
Find where inbound leads are silently dropped between the first touch and the first human reply.
Your Zapier, Make or n8n runs say Success. The lead still never hears back: nobody owned the reply, a filter stopped on an empty field, the workflow was switched off for a day, or an AI draft sat unsent. lead-leak-check turns a description of your lead pipeline into a ranked list of those risks, each with a concrete fix.
Tools
Tool | Input | Output |
| JSON config of your pipeline (sources, storage, routing, response, monitoring…) | Risk score 0–100 and findings ranked high / medium / low / verify |
| Plain English, e.g. "Typeform and WhatsApp go to Google Sheets via Zapier, nobody is assigned" | Same report, plus how the text was interpreted |
| CSV export of run history ( | Failed and filtered runs, long gaps with no runs, stale workflows |
Resource: leakcheck://rules lists all 15 rules with their explanation and fix.
Anything you don't describe is reported as verify, never as safe. No network calls, no data leaves your machine.
Related MCP server: linkedin-profile-manager-mcp
Install
git clone https://github.com/paopao-studio-ai/lead-leak-check-mcp && cd lead-leak-check-mcp
pip install . # Python 3.10+, works with mcp 1.x and 2.xOne-click bundle (MCPB)
Download lead-leak-check-mcp-0.1.0.mcpb from the latest release and open it in Claude Desktop (or any MCPB-aware client). Needs uv; dependencies install automatically.
Claude Desktop / Cursor / any MCP client
{
"mcpServers": {
"lead-leak-check": { "command": "lead-leak-check-mcp" }
}
}Without installing: {"command": "python", "args": ["-m", "lead_leak_check.server"], "env": {"PYTHONPATH": "/path/to/lead-leak-check-mcp/src"}}
Command line
lead-leak-check check examples/pipeline.json
lead-leak-check describe "WhatsApp leads land in Google Sheets via Make.com. Nobody is assigned."
lead-leak-check history examples/run_history.csv --interval 30
lead-leak-check --json check examples/pipeline.jsonConfig shape (all keys optional)
{
"name": "Typeform -> Google Sheets -> Slack #sales",
"sources": [{ "type": "web_form", "required_contact_field": false }, { "type": "whatsapp", "logged_to_storage": false }],
"storage": { "type": "google_sheets", "dedupe": false },
"routing": { "owner_assignment": "none", "after_hours_coverage": false },
"response": { "sla_minutes": 30, "auto_ack": true, "ai_drafts": true, "human_send_step": false },
"monitoring": { "error_alerts": false, "unanswered_lead_alert": false, "run_history_review": "never" },
"automation": { "platform": "zapier", "plan": "free" },
"timezone": { "business_tz": "America/New_York", "automation_tz": "UTC" },
"follow_up": { "sequence": false }
}Example output (top of the report for the config above):
# Lead leak risk: Typeform -> Google Sheets -> Slack #sales
Risk score: **100/100** (12 findings)
## 1. [HIGH] Nobody owns the first reply
- Why it leaks: Leads posted to a shared sheet or channel are seen by everyone and answered by no one.
- Fix: Assign an owner per lead (round robin or fixed) at the moment it is created, and name them in the notification.Fix the #1 finding for free
The most common high-severity finding is "no alert when a lead goes unanswered". The free n8n missed-lead heartbeat template (https://github.com/paopao-studio-ai/n8n-missed-lead-heartbeat) checks your sheet or CRM every 5 minutes and pings Slack, Discord or any webhook when a lead waits past your SLA.
Want a human to map it?
Paopao Studio runs a fixed-price Lead Leak Check ($197): a written leak map of 1–2 lead workflows, credited in full to a Starter build within 30 days. Free screenshot triage by email. → https://paopao-studio.pages.dev/?utm_source=github&utm_medium=oss&utm_campaign=lead_leak_1029
Develop
pip install -e ".[test]"
pytest -q # rule tests + an end-to-end stdio round trip with the official MCP clientLicense
MIT, see LICENSE.
Available Tools
3 toolsanalyze_run_historyA
Analyze a run-history CSV (needs a status column; a timestamp column enables gap and stale checks).
Flags failed/halted runs, filtered runs that end without errors, long gaps with no runs, and a stale last run.
| Name | Required | Description | Default |
|---|---|---|---|
| csv_text | Yes | ||
| expected_interval_minutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose key traits: large inputs (~200-400KB) and a fidelity requirement that raw logs be passed rather than a summarized excerpt. It stops short of stating whether output is truncated or paginated, but overall the operational hazards are covered.
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?
Two tight sentences; the detection capabilities and the hard prerequisite are front-loaded, and no sentence restates the name or title.
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?
Prerequisites, input size, input fidelity, and sibling alternatives are all present, and an output schema exists so return-shape explanation is unnecessary. The remaining gap is parameter-level guidance for the non-log argument.
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?
Schema coverage is 0%, so the description must carry the parameters, but it names only one behavior — that the primary input must be raw, unsummarized logs. The second parameter (the workflow filename/identifier implied by the prerequisite) is never mentioned, and no parameter is matched by name, leaving the agent to infer the mapping.
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?
States a specific verb and resource ("Analyze CI/CD audit logs") plus the concrete outcomes it detects (pipeline and test failures). It also names the two sibling analysis tools (analyze_cicd_config, analyze_cicd_workflow_yaml) so the agent can route on content type rather than guess.
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?
Gives an explicit precondition and tool chain ("Requires get_workflow_run_logs or get_workflow_run_jobs first") and names the alternatives for adjacent tasks. An agent knows both when to call this and what to call before it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_pipelineA
Check a structured lead-pipeline config and return a ranked leak-risk list.
Keys (all optional; omitted ones are reported as 'verify'): name; sources: [{type: web_form|whatsapp|email|ads_lead_form|instagram_dm|..., required_contact_field: bool, logged_to_storage: bool}]; storage: {type: google_sheets|crm|airtable|none, dedupe: bool}; routing: {owner_assignment: round_robin|fixed|none, after_hours_coverage: bool}; response: {sla_minutes: int, auto_ack: bool, ai_drafts: bool, human_send_step: bool}; monitoring: {error_alerts: bool, unanswered_lead_alert: bool, run_history_review: weekly|never}; automation: {platform: zapier|make|n8n, plan: free|paid}; timezone: {business_tz, automation_tz}; follow_up: {sequence: bool}
| Name | Required | Description | Default |
|---|---|---|---|
| config | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose one real behavioral trait: omitted keys surface as 'verify' rather than failing. It is silent on whether the call is purely read-only, whether it needs stored credentials to inspect storage/automation settings, and how the 'ranked' ordering is derived.
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?
The one-line purpose is front-loaded before the config breakdown, and every listed key maps to an otherwise undocumented field, so the bulk earns its place. The layout is a little ragged (the '...' in source types is vague) and could be tightened into a cleaner structured block.
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?
Return values need not be described since an output schema exists, and the description thoroughly fills the empty parameter schema. Remaining gaps are what 'verify' means in practice and whether the check is read-only, but nothing essential to invoking it is missing.
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?
Schema coverage is 0% – the single 'config' parameter is an untyped object with additionalProperties true and no properties. The description compensates fully by enumerating every accepted key, its nesting, and allowed enum values (web_form|whatsapp|..., round_robin|fixed|none, zapier|make|n8n, etc.), which the schema alone cannot convey.
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?
States a specific verb and resource ('Check a structured lead-pipeline config') and names the concrete output ('ranked leak-risk list'), so the agent knows exactly what it gets back. It doesn't explicitly contrast itself with the sibling check_pipeline_description, so sibling differentiation is only implicit.
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 note that all keys are optional and omitted ones are reported as 'verify' gives some practical guidance on how loosely the tool can be called. However, there is no statement of when to use this versus check_pipeline_description or analyze_run_history, and no prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_pipeline_descriptionC
Check a plain-English description of how leads arrive, where they are stored, who replies and what alerts exist.
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full disclosure burden, and it says nothing about what checking entails — validation rules, failure modes, whether it is read-only, or whether it requires a pre-existing pipeline. An output schema exists, so return shape needn't be covered, but the checking behavior itself is opaque.
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 efficient sentence with the resource front-loaded. Nothing is wasted, though the sentence is doing too little work rather than too much.
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?
Output schema handles return values and there is only one parameter, so the remaining burden is modest — but for a tool whose whole job is 'checking', not saying what the check looks for or produces leaves a real gap given zero annotations.
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?
Schema coverage is 0%, so the description must compensate, and it partly does by specifying what the single 'description' string should contain: lead arrival, storage, reply ownership, and alerts. That is useful content guidance, but it doesn't say length expectations, format, or what happens if an aspect is omitted.
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 verb is 'check' and the resource is a plain-English pipeline description, and it enumerates the aspects the description should cover (arrival, storage, replies, alerts). But 'check' is undefined — the agent cannot tell whether this validates, scores, or critiques the text, nor how it differs meaningfully from the sibling check_pipeline.
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?
No guidance on when to use this versus check_pipeline, which sits right next to it in the sibling list. Nothing indicates whether this is a pre-check, a fallback for unstructured input, or an alternative for users who can't fill a structured pipeline.
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.
3 tool updates
v0.1.0- First observed
analyze_run_history - First observed
check_pipeline - First observed
check_pipeline_description
TDQS
Scored across 3 tools
The three tools target distinct input types: structured config, plain-English description, and run-history CSV. However, check_pipeline and check_pipeline_description have nearly identical names and purposes, which could cause misselection when the input format is ambiguous.
All tools use consistent snake_case verb_noun naming (check_pipeline, check_pipeline_description, analyze_run_history). The longer check_pipeline_description is still predictable within the same convention.
Three tools are well-scoped for a focused lead-leak diagnostic server. The count is slightly thin and two tools are input-format variants of the same check, but neither is excessive.
The surface covers structured pipeline checks, natural-language descriptions, and run-history analysis, which are the main diagnostic inputs. Minor gaps remain: no tool to consolidate findings or recommend fixes, and no direct lead-level audit.
Maintenance
Related MCP Connectors
Open-source Zapier/n8n alternative as an MCP server: agents build, run and debug your workflows.
Scan any MCP server for tool-poisoning/prompt-injection/exfiltration (OWASP LLM01/08) + Base data
API-first CRM for LLMs - contacts, companies, deals and activities over a native MCP server.
Marketo MCP server for AI. 130 tools to operate Marketo from Claude, Cursor, or ChatGPT.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA local MCP server that parses Terraform .tfstate files and lets AI agents audit enterprise infrastructure for security misconfigurations without requiring direct cloud credentials.MIT
- AlicenseAqualityDmaintenanceA local-first MCP server for auditing, drafting, and planning updates to your personal LinkedIn profile safely, without automation or scraping.101MIT
- AlicenseNot gradedqualityCmaintenanceA sovereign, MIT-licensed MCP server for professional-service workflow automation, enabling offline-capable, cryptographically signed operations without vendor lock-in.MIT
- AlicenseAqualityBmaintenanceAn unofficial MCP server for Smartlead that exposes the SmartProspect API and core Smartlead operations, enabling agents to search for leads, manage campaigns, and control credit spending with configurable safety modes.3918 npm1MIT