
OpenSDR
io.github.arif-jsPublished by GitHub account arif-jsv1.0.1Updated Oct 30, 2026
Open-source AI SDR: B2B prospecting, email enrichment, buying signals and safe outreach staging.
Overview
Local MCP server that gives an assistant a sales-development toolkit: prospect search, email enrichment, buying signals, outreach drafts and staged campaigns.
- What you can do
- Search and filter people and companies against an ideal customer profile, and check provider status
- Enrich contacts through an email waterfall, verify addresses and enrich company data
- Save, list, export and suppress prospects in a local store
- Detect buying signals and research accounts with sourced links
- Prepare outreach briefs, create campaigns, push leads and sync CRM records after a preview and confirmation
- When to use it
- Useful for B2B prospecting and outbound sales work where you want the assistant to find contacts, verify emails, gather sourced buying signals and draft personalized outreach, while keeping lists and API keys on your own machine. A zero-key demo mode lets you try it on fictional data first.
- Requirements
- Runs locally over stdio via npx with Node.js 22.12 or newer. Optional provider keys: APOLLO_API_KEY, HUNTER_API_KEY, TAVILY_API_KEY or EXA_API_KEY, INSTANTLY_API_KEY, HUBSPOT_ACCESS_TOKEN. Settings include OPENSDR_DATA_DIR (default ~/.opensdr), OPENSDR_MAX_CREDITS_PER_CALL and OPENSDR_READ_ONLY. Network access to the chosen providers is needed.
Installation
In SourceWeft
- Open OpenSDR in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
OpenSDR
The open-source AI SDR for Claude and any MCP client.
Find prospects, verify their emails, spot buying signals, draft grounded outreach and stage campaigns, all from a conversation with your AI assistant, using your own API keys.
[npm] [CI] [License: MIT] [MCP] [OpenSDR MCP server on Glama]
Quick start · Demo · How it works · Docs · Contributing
What it does
OpenSDR is an MCP server that gives your AI assistant the toolkit of a sales development rep (SDR). You describe who you want to reach; your assistant does the legwork:
- 🔎 Find prospects that match your ideal customer profile (Apollo).
- ✉️ Find and verify work emails with a cost-aware waterfall: Apollo → Hunter → free local checks.
- 📈 Spot buying signals (funding, hiring, leadership changes, launches) with a source link for every one (Tavily or Exa).
- ✍️ Draft grounded outreach: every personalized line cites a real, sourced fact.
- 🚀 Stage campaigns and CRM records in Instantly and HubSpot, only after you approve a preview.
Why it's useful
See it in action
A real session in demo mode (no keys, fictional .example companies):
You: Find VP Engineering leaders at B2B software and fintech companies, get their emails, and check for buying signals.
You: Meridian Pay asked us not to contact them. Push the rest into my Instantly campaign.
Full walkthrough → (find → enrich → signals → draft → stage)
Quick start
Requires Node.js 22.12+.
1. Add OpenSDR to your assistant. Claude Desktop → Settings → Developer → Edit Config:
Claude Code: claude mcp add opensdr -- npx -y opensdr-mcp. One-click for Claude Desktop: download opensdr-mcp.mcpb from the latest release and double-click it. Cursor and other clients: see getting started.
2. Try it with no keys. Restart your client and ask: "Find VP Engineering leaders at fintech companies and draft outreach." Or pick the built-in autonomous_sdr_workflow prompt.
3. Add the providers you have. Every key is optional; add them to env:
Also supported: EXA_API_KEY, INSTANTLY_API_KEY, HUBSPOT_ACCESS_TOKEN. Where to get each key and every setting: configuration.
How it works
- Find: your ideal customer profile becomes precise search filters. Search never returns emails, so it's cheap.
- Enrich: each person goes through the email waterfall, stopping at the first verified result, within your credit budget. Every result shows a trail of what was tried and what it cost.
- Research: buying signals give a reason to reach out now, each with a source URL.
- Draft: an outreach brief hands your assistant sourced facts, a sequence framework and writing rules. The assistant writes; you approve.
- Stage: campaign creation, lead enrollment and CRM sync each return a preview and a single-use token, and run only after you confirm.
OpenSDR has no AI model of its own: your assistant does the thinking and writing, and OpenSDR handles data, verification and safe execution. More on the architecture, waterfall and signals →
Tools
Plus 3 built-in prompts (autonomous_sdr_workflow, icp_prospecting, cold_outreach_sequence) and 4 resources (opensdr://providers, opensdr://lists, opensdr://lists/{name}, opensdr://profile). Full reference →
Safety and privacy
- Preview + confirm for every external write, and the confirm is rejected if anything you approved changed in between.
- Campaigns are drafts, never activated, and leads only go into draft or paused campaigns.
- Do-not-contact list honored by every push, sync and export, with no override.
- Read-only mode (
OPENSDR_READ_ONLY=1) and a per-call credit cap. - Your keys and data stay on your machine: no OpenSDR server, no telemetry, keys never logged or stored.
- Never automates LinkedIn: it only drafts notes for you to send.
You're responsible for complying with CAN-SPAM, GDPR, CASL and your providers' terms. Safety, privacy and compliance →
Documentation
Roadmap
- More sequencers: Smartlead, Lemlist
- More CRMs: Salesforce, Pipedrive
- Remote transport (Streamable HTTP) for web-based clients
- Ideal-customer fit scoring and reply tracking
Have a provider you need? Open a provider request.
Contributing
Contributions are welcome, whether you write the code yourself or with an AI coding agent.
- Start here: CONTRIBUTING.md covers setup, checks and the PR process.
- Add a provider: data sources, sequencers and CRMs plug in behind small capability interfaces; follow the add-provider guide.
- Using an AI agent? AGENTS.md holds the architecture rules and safety invariants. Codex, Cursor and Copilot read it automatically; Claude Code and Gemini CLI load it through
CLAUDE.mdandGEMINI.md. - Security issues: please report privately, see SECURITY.md.
License
MIT © Arif
OpenSDR is an independent open-source project, not affiliated with or endorsed by Anthropic, Apollo.io, Hunter, Exa, Tavily, Instantly or HubSpot. Product names are trademarks of their respective owners.
Source: README.md at commit 8a9506e
Tools
0Version history
2- v1.0.1LatestOct 15, 2026
- v1.0.0Oct 15, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts