Lead Research Factory

Campaign operations

Active Campaigns0

0 total, 0 completed

Ranked Leads0

0 research errors

Runtimecheck

0/0 modules healthy

Server Load-

waiting for API

Campaigns

CampaignStatusProgressDiscoveredResearchedRankedUpdatedControls
Campaigns created through MCP will appear here.

Ranked Leads

No campaign selected
RankCompanyScorePublic EmailsOwners / ManagersSignalEvidence

Sendread Export

Add Sendread key in Runtime Settings

MCP Settings

Remote MCP URLhttp://localhost:4000/mcp
Ready config
# Paste into ~/.codex/config.toml
[mcp_servers.lead-research-factory]
url = "http://localhost:4000/mcp"
How to connect Codex
Connect Codex to Lead Research Factory

Remote MCP URL:
http://localhost:4000/mcp

Option A - config file:
1. Open ~/.codex/config.toml on the machine where Codex runs.
2. No MCP token is configured. For a public domain, set MCP Token in this dashboard first, save Runtime Settings, then copy this again.
3. Add this block to ~/.codex/config.toml:

[mcp_servers.lead-research-factory]
url = "http://localhost:4000/mcp"

4. Restart Codex, or reload MCP servers from the Codex MCP settings.
5. In Codex, run /mcp and confirm lead-research-factory is connected.

Option B - CLI:
codex mcp add lead-research-factory --url 'http://localhost:4000/mcp'

After it connects, tell Codex:
Use the lead-research-factory MCP server as the control plane. Check system_health, system_stats, and get_runtime_settings first, then create and manage lead research campaigns through MCP tools. If you create a campaign-specific source recipe, pass its id/name to create_campaign with strictSourceRecipes=true. If you scrape verified rows outside the queue, import them with import_campaign_csv so they appear in the dashboard. For Sendread, list destinations and dry-run export_campaign_to_sendread before pushing leads.

Runtime Settings

Waiting for API
Runtime settings will appear when the API is running.

Proxy Pool

Waiting for API
Pool Status

No proxy data yet

Data Providers

Providers created through MCP will appear here
Discovery0

0 successful runs

Enrichment0

0 active

Email Verify0

0 active

TypeProviderStatusScopeDomainsModeRunsUpdatedControls
No reusable data providers saved yet.

System Health

Waiting for API
CPU-

Not checked

RAM-

Not checked

Disk-

Disk probe unavailable

GPUnone

No GPU visible inside this container

Health data will appear when the API is running.
Codex configconfig.toml
[mcp_servers.lead-research-factory]
url = "http://localhost:4000/mcp"
Codex CLIdirect HTTP
codex mcp add lead-research-factory --url 'http://localhost:4000/mcp'
JSON configmcp-remote
{
  "mcpServers": {
    "lead-research-factory": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://localhost:4000/mcp"
      ],
      "env": {}
    }
  }
}
Codex instructionscontrol plane
Use the lead-research-factory MCP server as the control plane for lead research.

Operating model:
- Codex is the research director.
- The dashboard is for monitoring, settings, proxies, progress, and CSV export.
- Qwen and workers do bulk research.
- Codex should use MCP tools instead of manually operating browsers.

Normal workflow:
1. Check get_runtime_settings, system_health, and system_stats before creating a campaign.
2. Update Redis, Qwen, storage, browser, capacity, and provider runtime settings with update_runtime_settings when the user asks.
3. Create campaigns from the user's ICP prompt with create_campaign.
4. Use strict evidence. Unknown is better than guessed.
5. If Google /sorry, CAPTCHA, or other challenge pages appear, record the source as blocked and rotate/skip instead of trying to solve the challenge.
6. Inspect reusable providers with list_source_recipes, list_enrichment_providers, and list_email_verification_providers before creating new ones.
7. When a source needs custom browser handling, start Camoufox with start_debug_browser and inspect it with debug_browser_snapshot/open/click/type/extract/screenshot.
8. Convert the debug trail into a source recipe draft with debug_browser_recipe_draft, then save it with create_source_recipe.
9. If that recipe is campaign-specific, create the campaign with sourceRecipeIds/sourceRecipeNames and strictSourceRecipes=true.
10. If you collect verified rows with a direct/debug scrape, call import_campaign_csv to put them into the campaign database.
11. When an HTTP API can enrich company/contact data, save it with create_enrichment_provider. Store reusable provider credentials in provider templates or server secrets.
12. When an HTTP API can verify discovered emails, save it with create_email_verification_provider. Map response fields so workers can mark valid/risky/invalid emails.
13. Reuse active providers before creating new ones. Use trial providers for one campaign, and global active providers when reusable.
14. For Sendread exports, list destinations with list_sendread_campaigns or list_sendread_ab_test_lists, run export_campaign_to_sendread with dryRun=true, then push only ranked public-email leads after approval.
15. Inspect leads, evidence, provider runs, and weak fields before presenting recommendations.
16. Pause, resume, cancel, audit, rerun analysis, and export through MCP when those tools are available.

Currently wired MCP tools:
- get_runtime_settings
- update_runtime_settings
- create_campaign
- import_campaign_csv
- list_sendread_campaigns
- list_sendread_ab_test_lists
- list_sendread_ab_test_list_leads
- export_campaign_to_sendread
- create_source_recipe
- list_source_recipes
- get_source_recipe
- activate_source_recipe
- disable_source_recipe
- create_enrichment_provider
- list_enrichment_providers
- get_enrichment_provider
- activate_enrichment_provider
- disable_enrichment_provider
- create_email_verification_provider
- list_email_verification_providers
- get_email_verification_provider
- activate_email_verification_provider
- disable_email_verification_provider
- start_debug_browser
- list_debug_browsers
- debug_browser_snapshot
- debug_browser_open
- debug_browser_click
- debug_browser_type
- debug_browser_extract
- debug_browser_screenshot
- debug_browser_recipe_draft
- close_debug_browser
- system_stats
- parse_proxies
- upload_proxies
- list_campaigns
- get_campaign
- pause_campaign
- resume_campaign
- cancel_campaign
- get_leads
- get_lead_evidence
- export_campaign_csv
- system_health
- list_proxies

App endpoints:
- Dashboard: http://localhost:3000
- API base: http://localhost:4000
- Remote MCP: http://localhost:4000/mcp