# OpenLeads (pypi · openleads)

Find leads with honest email evidence, then work them: CRM, sequences, tasks, deals. No API keys.

- Trust score: 66/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-17

## Components

- pypi · `openleads`: 66/100 (this document), [markdown](https://verifymcp.io/servers/samyrrrrrr990-openleads/openleads.md), [page](https://verifymcp.io/servers/samyrrrrrr990-openleads/openleads)

## Channel facts

- Registry: `pypi`
- Package: `openleads`
- Version: `5.0.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-17.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - Runs setuptools.build_meta at install time, a recognised build step with no custom scripting around it.
  - No production dependencies, so there is no dependency health to assess.
- **Provenance & Transparency**: 48/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (AGPL-3.0-or-later).
  - Actively maintained (last published 1 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 60/100
  - AI-judged instruction clarity (fair).
  - Tool/resource definitions use about 1443 tokens (~65/item across 22 items; 22 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 10/100
  - Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 78/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 33% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 22 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 23 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the OpenLeads MCP server?

OpenLeads runs locally as a PyPI package, launched with uvx openleads. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add samyrrrrrr990-openleads -- uvx openleads
```

### Cursor

```json
{
  "mcpServers": {
    "samyrrrrrr990-openleads": {
      "command": "uvx",
      "args": [
        "openleads"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "samyrrrrrr990-openleads": {
      "command": "uvx",
      "args": [
        "openleads"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add samyrrrrrr990-openleads -- uvx openleads
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "samyrrrrrr990-openleads": {
      "type": "local",
      "command": [
        "uvx",
        "openleads"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add samyrrrrrr990-openleads --command uvx --arg openleads
```

### Hermes

```yaml
mcp_servers:
  samyrrrrrr990-openleads:
    command: "uvx"
    args: ["openleads"]
```

### Netclaw

```json
{
  "McpServers": {
    "samyrrrrrr990-openleads": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "openleads"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add samyrrrrrr990-openleads -t stdio -c uvx -a openleads
```

### Other

```json
{
  "mcpServers": {
    "samyrrrrrr990-openleads": {
      "command": "uvx",
      "args": [
        "openleads"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-16 (score 66, +16)

- [security improvement] Malware scan: unverified → pass

### 2026-10-15 (score 50, −17)

- [security regression] Malware scan: pass → unverified
- [functional regression] Tool coverage: 57% → 33%
- [functional regression] Schema quality: 284 → 1443
- [functional improvement] Stability: unverified → 0.03
- [functional] Schema quality: good → fair
- [functional] Package version: 4.6.1 → 5.0.0

### 2026-10-14 (score 67, +27)

- [security improvement] Injection markers: unverified → pass
- [security] First check of Judged manipulation: pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional regression] MCP protocol: unverified → fail
- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Schema quality: fail
- [functional] First check of Destructive annotations: pass
- [functional] First check of Schema quality: pass
- [functional] First check of Tool coverage: 57
- [functional] First check of Schema quality: good

### 2026-10-13 (score 40)

First indexed and scored.

## MCP tools (22)

### `find_leads` (~161 tokens)

Find B2B leads from free public sources and verify their emails. Describe who you want in plain English, e.g. 'dentists in Austin', 'marketing agencies in Miami', 'fintech founders', 'rust developers in Berlin', or 'emails at stripe.com'. Returns people/companies with an email, a deliverability tier (safe/risky), and evidence (found/pattern/guessed).

Input parameters:

- `budget_seconds` (integer)
- `count` (integer)
- `query` (string, required): Who to find, in plain English.
- `save_to_list` (string): Also save the results to your workspace, in this list (created if new).
- `verified_only` (boolean): Only return deliverable (safe-tier) emails.

### `find_email` (~57 tokens)

Find the most likely work email for a person at a company domain.

Input parameters:

- `domain` (string, required): Company domain, e.g. 'acme.com'.
- `name` (string, required): Full name, e.g. 'Ada Lovelace'.

### `verify_email` (~33 tokens)

Check whether an email address is deliverable (safe/risky/bad) and why.

Input parameters:

- `email` (string, required)

### `list_sources` (~19 tokens)

List the public data sources OpenLeads can search.

### `search_contacts` (~222 tokens)

Search the people saved in your OpenLeads workspace (like Apollo's People tab). Filter by free text (name, email, company, title), stage, email status, seniority, department, tag, list, or minimum ICP fit score. Returns contacts with stage, fit score (0-100) and email tier.

Input parameters:

- `department` (string): e.g. sales, marketing, engineering, executive
- `fit_min` (integer)
- `limit` (integer)
- `list` (string): List name.
- `never_contacted` (boolean)
- `query` (string): Words to match in name, email, company or title.
- `seniority` (string): owner, founder, c_suite, partner, vp, head, director, manager, senior, entry
- `stage` (string): new, approaching, replied, interested, meeting, customer, not_interested, unresponsive, do_not_contact, bad_data
- `tag` (string)
- `tier` (string): Email status: safe or risky.

### `get_contact` (~43 tokens)

Everything about one contact: profile, company, tags, lists, notes, open tasks, deals, sequences they're in, and recent activity.

Input parameters:

- `email` (string, required)

### `search_companies` (~75 tokens)

Search companies in the workspace by text, technology they use (e.g. HubSpot, Shopify), industry or stage. Returns people counts and tech stack.

Input parameters:

- `industry` (string)
- `limit` (integer)
- `query` (string)
- `stage` (string)
- `technology` (string)

### `get_company` (~33 tokens)

One company: profile, tech stack, its people, deals, open tasks and notes.

Input parameters:

- `domain` (string, required)

### `list_tasks` (~36 tokens)

The follow-up queue (calls, emails, LinkedIn touches, to-dos) by due date.

Input parameters:

- `bucket` (string)

### `pipeline` (~29 tokens)

The deal pipeline by stage with totals: open value, probability-weighted forecast, won value and win rate.

### `list_sequences` (~21 tokens)

Outreach sequences with their steps, status and reply/bounce numbers.

### `workspace_stats` (~33 tokens)

The workspace at a glance: contacts, sends, reply rate, tasks due, pipeline, ICP grades and data-quality issues.

### `save_contacts` (~81 tokens)

Save people to the workspace (e.g. results from find_leads), optionally into a list and with tags. Existing contacts are updated without blanking fields. Each contact needs an email; other fields are optional.

Input parameters:

- `contacts` (array, required)
- `list` (string): Add them to this list (created if new).
- `tags` (array)

### `add_to_list` (~39 tokens)

Add saved contacts to a people list (created if it doesn't exist).

Input parameters:

- `emails` (array, required): Contact emails.
- `list` (string, required)

### `set_stage` (~56 tokens)

Move contacts to a stage: new, approaching, replied, interested, meeting, customer, not_interested, unresponsive, do_not_contact, bad_data.

Input parameters:

- `emails` (array, required): Contact emails.
- `stage` (string, required)

### `tag_contacts` (~44 tokens)

Add (or with remove=true, remove) tags on contacts.

Input parameters:

- `emails` (array, required): Contact emails.
- `remove` (boolean)
- `tags` (array, required)

### `add_note` (~46 tokens)

Add a note to a contact's record (call notes, context, next steps).

Input parameters:

- `email` (string, required)
- `pinned` (boolean)
- `text` (string, required)

### `create_task` (~92 tokens)

Create a follow-up task. kind: call, email, linkedin or todo. due accepts today, tomorrow, +3d, +2h, a weekday (fri) or YYYY-MM-DD.

Input parameters:

- `contact` (string): Contact email.
- `due` (string)
- `kind` (string)
- `note` (string)
- `priority` (string)
- `title` (string, required)

### `complete_task` (~31 tokens)

Mark a task done (a sequence task moves that contact to their next step).

Input parameters:

- `id` (integer, required)

### `create_deal` (~87 tokens)

Open a deal. stage: qualify, meeting, proposal, negotiation, won, lost. amount accepts 12000, 12k or $2.5k.

Input parameters:

- `amount` (string)
- `close_date` (string)
- `company` (string): Domain.
- `contact` (string)
- `name` (string, required)
- `stage` (string)

### `move_deal` (~38 tokens)

Move a deal to another stage (won makes its contact and company customers).

Input parameters:

- `id` (integer, required)
- `stage` (string, required)

### `enroll_in_sequence` (~80 tokens)

Add contacts (by email or a whole list) to an existing sequence. People who are suppressed, unverified, or already in a sequence are skipped with a reason. Nothing is sent immediately; steps run on schedule.

Input parameters:

- `emails` (array): Contact emails.
- `list` (string)
- `sequence` (string, required): Sequence name or id.

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/samyrrrrrr990-openleads/openleads#diagnostics

## Score history

- 2026-10-17: 66
- 2026-10-16: 66
- 2026-10-15: 50
- 2026-10-14: 67
- 2026-10-13: 40

## Common questions

### What is the OpenLeads MCP server?

OpenLeads is an MCP server listed in the public MCP registry as io.github.Samyrrrrrr990/openleads. Find leads with honest email evidence, then work them: CRM, sequences, tasks, deals. No API keys. This page covers its PyPI package (openleads).

### Is the OpenLeads MCP server safe to use?

OpenLeads scores 66 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 17 October 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the OpenLeads MCP server expose?

OpenLeads exposes 22 tools: find_leads, find_email, verify_email, list_sources, search_contacts, and 17 more. Their descriptions and schemas cost roughly 1,356 tokens of context every time the server is loaded.

### Is the OpenLeads MCP server still maintained?

OpenLeads is still listed as active in the MCP registry. We last reached this channel on 17 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the OpenLeads MCP server under?

OpenLeads declares the AGPL-3.0-or-later licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- PyPI project: https://pypi.org/project/openleads/
- Socket report: https://socket.dev/pypi/package/openleads
- Repository: https://github.com/Samyrrrrrr990/openleads
- Website: https://samyrrrrrr990.github.io/openleads/
- Changelog RSS feed: https://verifymcp.io/servers/samyrrrrrr990-openleads/openleads.xml
- Changelog JSON feed: https://verifymcp.io/servers/samyrrrrrr990-openleads/openleads.json
- HTML version of this page: https://verifymcp.io/servers/samyrrrrrr990-openleads/openleads
