AI自动化外联服务器

一个基于AI的外联自动化服务器,用于在GitHub上寻找潜在客户,通过Claude AI丰富信息,验证产品理念,并发送个性化冷邮件。

  • by gimenezhenrique28-a11y
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 gimenezhenrique28-a11y/Outreach-MCP

使用说明

码头外展MCP

基于AI的外展自动化服务器 模型上下文协议在GitHub上查找潜在客户,用Claude AI丰富他们,根据实时市场数据验证你的产品论点,并用你的声音发送个性化的冷电子邮件——所有这些都可以通过Telegram控制。

专为 码头(TalentWharf) 但可用于任何B2B外联用例。


它做什么

find prospects → enrich with AI → filter by ICP → send personalised email → track pipeline
工具 说明
find_contacts 按关键字、位置、语言、关注者在GitHub上搜索技术潜在客户
enrich_contact Claude AI深入分析GitHub个人资料:角色、资历、公司规模、ICP匹配度、谈话要点、建议电子邮件
research_market 搜索网络(Brave)以验证您的产品论点,绘制竞争对手地图,查找痛点讨论
find_customers_web 寻找真正的潜在客户:有资金的初创公司、沮丧的ATS用户、积极招聘的创始人
search_contacts 按状态、角色或公司查询您保存的辅助数据库联系人列表
send_email 通过Gmail OAuth2发送并自动更新联系人状态
log_outreach 在Supabase中提升联系人+状态
get_outreach_stats 使用ASCII图表按状态进行管道计数

建筑

Telegram bot
    └── Claude (claude-sonnet-4-6) — agentic loop
            ├── GitHub API          — prospect discovery (free)
            ├── Brave Search API    — market + customer research (free tier)
            ├── Claude Haiku        — profile enrichment + ICP scoring
            ├── Gmail OAuth2        — email sending
            └── Supabase            — contact pipeline storage

MCP server (stdio)
    └── Same tools, usable from Claude Desktop or any MCP client

ICP过滤器

每次接触都会在两个维度上评分:

  • 候选人_核心 --适合作为潜在雇员(1-10)
  • beta_user_score --适合作为产品测试用户(1-10)

并通过ICP过滤:

  • 通行证: 拥有20-100名员工的公司或种子/A轮初创公司积极招聘
  • 自动跳过: 独立自由职业者、500+企业、未组建团队的公司

设置

1.克隆并安装

git clone https://github.com/your-username/wharf-outreach-mcp
cd wharf-outreach-mcp
npm install

2.配置环境

cp .env.example .env

填写 .env --请参阅中的评论 .env.example 获取每个密钥的位置:

变量 必填 免费等级
GITHUB_TOKEN 可选 是--5000需求/小时vs 60需求/小时
BRAVE_API_KEY 用于网络研究 是-2000次查询/月
GMAIL_CLIENT_ID 是 是
GMAIL_CLIENT_SECRET 是 是
GMAIL_REFRESH_TOKEN 是 是
SUPABASE_URL 是 是
SUPABASE_SERVICE_KEY 是 是
ANTHROPIC_API_KEY 是 按次付费
TELEGRAM_BOT_TOKEN 对于Telegram机器人 是
TELEGRAM_ALLOWED_CHAT_ID 推荐 --

3.Gmail OAuth2刷新令牌

运行一次性助手脚本:

node scripts/get-refresh-token.js

按照提示操作。粘贴结果 GMAIL_REFRESH_TOKEN 进入你的 .env.

先决条件: 添加 http://localhost:3000 作为Google Cloud Console OAuth2客户端中的授权重定向URI。

4.运行Supabase迁移

粘贴 supabase/migrations/001_outreach.sql 进入您的Supabase SQL编辑器,或运行:

supabase db push

5.建造

npm run build

6.个性化你的写作声音(可选但推荐)

cp voice.example.txt voice.txt

编辑 voice.txt 用你自己写作的真实例子。机器人会用它来匹配你在每封电子邮件草稿中的风格。 voice.txt 被忽视并留在当地。


跑步

电报机器人

npm run bot

机器人接受自然语言——不需要命令:

“在伦敦找到10位种子创始人,丰富他们,并向最优秀的人发送测试邀请” “根据市场验证我的产品论点” “告诉我谁回复了,但还没有预订”

内置命令: /stats, /pending, /replied, /clear

MCP服务器(克劳德桌面)

npm start

添加 claude_desktop_config.json:

{
  "mcpServers": {
    "wharf-outreach": {
      "command": "node",
      "args": ["/absolute/path/to/wharf-outreach-mcp/dist/index.js"],
      "env": {
        "GITHUB_TOKEN": "...",
        "BRAVE_API_KEY": "...",
        "GMAIL_CLIENT_ID": "...",
        "GMAIL_CLIENT_SECRET": "...",
        "GMAIL_REFRESH_TOKEN": "...",
        "SUPABASE_URL": "...",
        "SUPABASE_SERVICE_KEY": "...",
        "ANTHROPIC_API_KEY": "..."
      }
    }
  }
}

外联渠道

pending → sent → replied → booked

根据您的用例进行定制

系统提示、ICP筛选器和电子邮件编写规则位于:

  • src/bot/agent.ts --agent系统提示+工作流
  • voice.txt --你的写作声音(仅限于本地)
  • humanizer.md --反人工智能写作协议适用于每一份草稿

编辑这些以匹配您的产品、ICP和色调。


文件结构

src/
  index.ts                  MCP server entrypoint
  bot.ts                    Telegram bot entrypoint
  lib/
    github.ts               GitHub API client + profile fetcher
    enrichment.ts           Claude Haiku profile analysis
    search.ts               Brave Search API wrapper
    gmail.ts                Gmail OAuth2 sender
    supabase.ts             Supabase client + types
  bot/
    agent.ts                Agentic loop + system prompt
    telegram.ts             Telegraf bot
    toolDefs.ts             Tool definitions for Claude API
  tools/
    findContacts.ts         find_contacts
    enrichContact.ts        enrich_contact
    researchMarket.ts       research_market
    findCustomersWeb.ts     find_customers_web
    searchContacts.ts       search_contacts
    sendEmail.ts            send_email
    logOutreach.ts          log_outreach
    getStats.ts             get_outreach_stats
supabase/migrations/
  001_outreach.sql          DB schema
scripts/
  get-refresh-token.js      One-time Gmail OAuth2 helper
voice.example.txt           Template for your writing voice profile
humanizer.md                Anti-AI writing protocol
.env.example                Environment variable reference

技术栈

  • 运行时间: Node.js+TypeScript
  • MCP: @modelcontextprotocol/sdk
  • 人工智能: @anthropic-ai/sdk (十四行诗4.6为代理,俳句为富集)
  • 机器人程序: telegraf
  • 数据库: @supabase/supabase-js
  • 电子邮件: googleapis (Gmail API)
  • 搜索: axios → 勇敢搜索API+GitHub API

许可证

麻省理工学院