OpenSDR

io.github.arif-js由 GitHub 账号 arif-js 发布v1.0.1更新于 Oct 30, 2026

Open-source AI SDR: B2B prospecting, email enrichment, buying signals and safe outreach staging.

概览

AI 生成的概览

本地 MCP 服务器,为助手提供销售开发工具包:潜客搜索、邮箱补全、购买信号、外联草稿与暂存式营销活动。

可以做什么
  • 按理想客户画像搜索并筛选联系人与公司,查看各服务商状态
  • 通过邮箱瀑布流程补全联系人、验证邮箱并补全公司信息
  • 在本地存储中保存、列出、导出潜客并管理拒联名单
  • 检测购买信号并调研目标客户,每条信号附来源链接
  • 生成外联简报、创建营销活动、推送线索并在预览确认后同步 CRM 记录
适用场景
适合 B2B 潜客开发与外呼销售场景:让助手查找联系人、验证邮箱、收集有来源的购买信号并撰写个性化外联内容,同时把名单和 API 密钥留在本机。可先用无需密钥的演示模式在虚构数据上试用。
运行要求
通过 npx 以 stdio 在本机运行,需要 Node.js 22.12 或更高版本。可选服务商密钥:APOLLO_API_KEY、HUNTER_API_KEY、TAVILY_API_KEY 或 EXA_API_KEY、INSTANTLY_API_KEY、HUBSPOT_ACCESS_TOKEN。设置项包括 OPENSDR_DATA_DIR(默认 ~/.opensdr)、OPENSDR_MAX_CREDITS_PER_CALL 和 OPENSDR_READ_ONLY。需要能访问所选服务商的网络。
安装前请注意
服务商密钥属于机密,付费调用由各服务商直接计费,可用单次调用额度上限控制预估花费。部分工具会写入外部服务(Instantly 营销活动、HubSpot 记录)和本地存储,但写入需先预览并凭一次性确认令牌执行,营销活动仅创建为草稿。潜客数据会发送给你配置的服务商。需自行遵守 CAN-SPAM、GDPR、CASL 及各服务商条款。

安装

在 SourceWeft 中

  1. 打开 控制台中的 OpenSDR,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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

The usual wayWith OpenSDR
Four or five SaaS tools (contact database, email finder, signals, sequencer) plus marked-up creditsYour own API keys, $0 markup. Pay providers directly, only for what you use.
Prospect lists and strategy uploaded to someone else's cloudLocal-first. Runs on your machine. No OpenSDR server, no telemetry.
"AI SDRs" that send email on their own and burn your domainNothing is sent without your approval. Campaigns are created as drafts; you press go.
Generic, made-up personalizationGrounded copy. Every first line cites a provider field or a signal URL.
Credits wasted on repeat lookupsCredit-aware. Per-call budgets, cost estimates and a 30-day enrichment cache.
Hard to try before buyingZero-key demo mode. Every tool works on fictional data before you add a single key.

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.

ProspectCompanyEmail (verified)Signal
Amara Haddad, VP EngineeringBluepeak[email protected]Raised a $25M Series B (source)
Sofia Doe, VP EngineeringLedgerly[email protected]Raised a $25M Series B
Lena Alvarez, VP EngineeringWellspring Care[email protected]Raised a $25M Series B

You: Meridian Pay asked us not to contact them. Push the rest into my Instantly campaign.

Preview (nothing sent yet)  eligible: 4   excluded: 1 (suppressed: Meridian Pay)  confirmation_token: 1045338e…  single-use, expires in 15 min→ Claude shows you the list and waits for your approval before confirming.

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:

json
{  "mcpServers": {    "opensdr": { "command": "npx", "args": ["-y", "opensdr-mcp"] }  }}

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:

json
"env": {  "APOLLO_API_KEY": "…",  "HUNTER_API_KEY": "…",  "TAVILY_API_KEY": "…"}

Also supported: EXA_API_KEY, INSTANTLY_API_KEY, HUBSPOT_ACCESS_TOKEN. Where to get each key and every setting: configuration.

How it works

You ──▶ AI assistant ──MCP──▶ OpenSDR (on your machine) ──your keys──▶ Apollo · Hunter · Tavily/Exa · Instantly · HubSpot                                 │                                 ├─ safety gates: preview + confirm · do-not-contact list · read-only switch · credit budget                                 ├─ engine: email waterfall · signal rules · outreach briefs                                 └─ local store: ~/.opensdr (lists, cache, suppression)
  1. Find: your ideal customer profile becomes precise search filters. Search never returns emails, so it's cheap.
  2. 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.
  3. Research: buying signals give a reason to reach out now, each with a source URL.
  4. Draft: an outreach brief hands your assistant sourced facts, a sequence framework and writing rules. The assistant writes; you approve.
  5. 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

AreaTools
Systemsdr_provider_status
Prospectsdr_lookup_filters · sdr_search_people · sdr_search_companies
Enrichsdr_waterfall_enrich_person · sdr_enrich_company · sdr_verify_email
Managesdr_save_prospects · sdr_list_prospects · sdr_export_csv · sdr_manage_suppression
Signalssdr_detect_buying_signals · sdr_research_account
Engagesdr_prepare_outreach_brief · sdr_create_campaign · sdr_push_to_campaign · sdr_sync_hubspot

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

Getting startedInstall in Claude Desktop, Claude Code or Cursor; demo mode; troubleshooting
Demo walkthroughA real end-to-end session
ConfigurationAPI keys, settings, modes, seller profile, local data
Tools referenceAll tools, prompts, resources and error codes
How it worksArchitecture, email waterfall, signals, preview + confirm
Safety and privacyEvery guard, what stays local, compliance
Provider API notesHow each provider's API is used

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.md and GEMINI.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.

来源:README.md,提交 8a9506e

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v1.0.1最新Oct 15, 2026
  2. v1.0.0Oct 15, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分