mcpField
U
Unipile

Unipile

已认证精选远程服务
unipile.com开发工具24 周前更新

关于 Unipile

Unipile 是面向编码 Agent 的托管 MCP 服务,用于构建 LinkedIn、消息、电子邮件和日历 API 集成。它提供 API 文档查询及连接账户上的请求测试,并区分 LinkedIn Classic、Sales Navigator 和 Recruiter 路由。

主要功能

  1. 01依据实时 OpenAPI 规范查找路由
  2. 02查看端点参数和响应结构
  3. 03在已连接账户上测试 API 调用
  4. 04支持 LinkedIn Classic、Sales Navigator 和 Recruiter
  5. 05覆盖消息、电子邮件和日历 API

适用场景

  1. 01构建 LinkedIn 搜索与拓展功能
  2. 02为统一收件箱添加消息渠道
  3. 03开发电子邮件与日历集成
  4. 04在实现期间测试 API 请求

MCP 相关

该托管服务向 MCP 客户端提供 API 路由搜索、端点详情查看和请求执行工具。Agent 在开发期间使用它;生成的产品代码直接调用 Unipile REST API 或 SDK。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://developer.unipile.com/mcp?branch={branch}
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://developer.unipile.com/mcp?branch={branch}需要授权

工具

详细介绍

Unipile MCP 服务:面向编码 Agent 的 LinkedIn MCP、WhatsApp MCP 和 Email MCP

在 Cursor 中安装 在 VS Code 中安装 Unipile MCP 连接器

Unipile MCP 服务为你的编码 Agent 提供一个托管服务,其中包含 LinkedIn MCP 服务(Classic、Sales Navigator 和 Recruiter)、WhatsApp MCP、Instagram MCP、Telegram MCP、适用于 Gmail、Outlook 和 IMAP 的 Email MCP,以及适用于 Google 和 Outlook 的 日历 MCP。将它接入 Cursor、Claude Code、Codex、Gemini CLI、VS Code 或 Windsurf。之后,你的 Agent 会读取准确的 Unipile API 契约,在你的技术栈中编写产品的 LinkedIn、WhatsApp 或 Email 集成,并在提交前使用你自己的已连接账户测试每次调用。

https://developer.unipile.com/mcp?branch=v2.0

该服务基于 Unipile API:一个用于 LinkedIn API、WhatsApp API、Instagram API、Telegram API、Email API 和日历 API 的 REST API。用户连接自己的账户,你的产品只需使用一个密钥即可操作这些账户。

适用对象

需要与用户的 LinkedIn、WhatsApp 或 Email 账户通信的 SaaS 产品开发团队:

  • 销售互动、CRM 和 AI SDR 工具: LinkedIn 搜索和 Sales Navigator 潜在客户列表、邀请、消息和 InMail,并与 Email 和 WhatsApp 同步。
  • ATS 和招聘软件: LinkedIn Recruiter 搜索、候选人档案、招聘项目、InMail、职位发布和申请人。
  • 统一收件箱、服务台和 CRM 同步: 通过统一的消息和 Email 架构支持 LinkedIn、WhatsApp、Instagram、Telegram、Gmail、Outlook 和 IMAP。
  • 日程安排和 AI 助手: 在对话旁管理 Google 和 Outlook 日历活动、空闲时间和邀请。

MCP 服务是一款构建时工具。你的 Agent 在编辑器中使用它来发现、编写和测试集成。它编写的代码会直接调用 Unipile REST API,或使用 Node.js 或 Python SDK,因此你的产品在生产环境中不依赖 MCP。

它如何节省时间

构建 LinkedIn、WhatsApp 或 Email 集成通常意味着要逐页阅读 API 文档,并手动复制请求架构。你还必须了解各提供方的特有规则,例如 Sales Navigator 搜索与 Recruiter 搜索有何不同,或 InMail 与消息有何区别。接下来还要通过 curl 反复试错。接入 MCP 服务后,你的 Agent 会自行完成这一流程:

You:    Add a "Connect on LinkedIn" button to our CRM contact page. It sends an
        invitation with the rep's note and shows whether it is still pending.

Agent:  search-endpoints  "relation-requests"
        get-endpoint      POST /v2/{account_id}/users/me/relation-requests
        get-endpoint      GET  /v2/{account_id}/users/me/relation-requests
        -> writes the service, the route handler and the UI state in your codebase
        execute-request   sends a real invitation from your test LinkedIn account to a test profile
        -> checks the response against the schema, then hands you the diff
  • 不会虚构端点。 该服务根据实时 OpenAPI 规范生成,因此 Agent 使用真实的路径、参数和响应结构,不会偏离 API。
  • 区分不同类型的 LinkedIn 账户。 Classic、Sales Navigator 和 Recruiter 各自有独立的搜索路由、筛选条件和 InMail 选项。Agent 会读取正确的选项,而不是猜测。
  • 提交前经过测试。 Agent 执行的请求与后端在生产环境中发出的 HTTP 调用相同。

快速入门

  1. 在 Unipile dashboard 中连接一个测试账户(LinkedIn、WhatsApp、Gmail 等),然后为其创建一个 Scope 和一个 scoped Account API key。请参阅 API keys。

  2. 使用上方的按钮将服务添加到你的编码 Agent,或在 Claude Code 中执行:

    claude mcp add --transport http unipile "https://developer.unipile.com/mcp?branch=v2.0" --header "X-API-KEY: your-scoped-api-key"
    
  3. 描述你想构建的功能,例如:

    • “使用 Unipile API,构建一个带有资历和员工人数筛选条件的 Sales Navigator 潜在客户搜索界面。”
    • “将用户的 WhatsApp 和 LinkedIn 对话同步到我们的收件箱,并通过 webhook 接收新消息通知。”
    • “为我们的序列添加 Gmail、Outlook 和 IMAP 邮件发送功能,并将回复归入原始邮件的会话中。”

Cursor、VS Code、Codex、Gemini CLI、Windsurf 和 Claude Desktop 的配置见 设置。

按路由查看你可以构建的功能

以下每个路由都是 Unipile API v2,并代表已连接账户执行:{account_id} 是其 acc_... ID,可通过 GET /v2/accounts/ 获取。此列表是供你和 Agent 参考的路由索引,而非架构定义:Agent 应先对路由调用 get-endpoint,再编写请求正文。

LinkedIn MCP 服务:供你的 Agent 使用的 LinkedIn API
产品中的功能路由
使用 LinkedIn 筛选条件搜索人员(关键词、职位、公司、地点、人脉距离)POST /v2/{account_id}/linkedin/search/people
搜索公司、帖子和职位POST /v2/{account_id}/linkedin/search/companies · /search/posts · /search/jobs
直接通过 LinkedIn 搜索 URL 执行搜索POST /v2/{account_id}/linkedin/search
查询筛选项 ID(地点、行业、公司、学校)GET /v2/{account_id}/linkedin/search/parameters
丰富个人资料信息:工作经历、教育经历、技能和其他部分GET /v2/{account_id}/users/{user_id}?with_sections=...
发送附带备注的邀请(添加人脉请求)POST /v2/{account_id}/users/me/relation-requests
列出待处理邀请,然后接受或取消邀请GET /v2/{account_id}/users/me/relation-requests · POST .../{request_id}/accept · POST .../{request_id}/cancel
人脉关系、关注者和正在关注GET /v2/{account_id}/users/{user_id}/relations · /followers · /following
关注或取消关注个人资料POST /v2/{account_id}/users/me/follow/{user_id} · /unfollow/{user_id}
移除人脉关系DELETE /v2/{account_id}/users/me/relations/{user_id}
发送 LinkedIn 消息,或向网络之外的人发送 InMail使用 specifics.linkedin.classic.inmail: true 调用 POST /v2/{account_id}/chats/send
查看剩余 InMail 点数GET /v2/{account_id}/linkedin/inmail-credits
公司主页数据,以及用户管理的主页GET /v2/{account_id}/linkedin/company/{company_id} · GET /v2/{account_id}/linkedin/company/pages
为技能点赞POST /v2/{account_id}/linkedin/member/{member_id}/endorse-skill
发布帖子、评论、回应;读取个人资料的动态帖子和互动
创建、发布和关闭职位信息;读取申请人及简历POST /v2/{account_id}/linkedin/jobs · POST .../jobs/{job_id}/publish · POST .../jobs/{job_id}/applicants · GET .../applicants/{applicant_id}/resume
调用尚无专用路由的 LinkedIn 端点POST /v2/{account_id}/linkedin/
Sales Navigator MCP:LinkedIn Sales Navigator API

账号需要拥有 Sales Navigator 席位。如果用户有多个 LinkedIn 合约,请使用 GET /v2/{account_id}/linkedin/contracts 列出合约,并使用 POST .../contracts/{contract_id}/select 选择一个。

产品中的功能路由
使用 Sales Navigator 筛选条件搜索潜在客户(资历、职能、员工人数、职位变动、在 LinkedIn 上发布过内容等)POST /v2/{account_id}/linkedin/sales-navigator/search/people
搜索客户账号(公司)POST /v2/{account_id}/linkedin/sales-navigator/search/companies
从 Sales Navigator URL 或已保存的搜索导入搜索POST /v2/{account_id}/linkedin/sales-navigator/search
查询筛选条件 IDGET /v2/{account_id}/linkedin/sales-navigator/search/parameters
潜在客户列表:列出、浏览、保存潜在客户GET .../sales-navigator/lead-lists · POST .../lead-lists/{list_id} · POST .../lead-lists/{list_id}/save
客户账号列表:列出、浏览、保存客户账号GET .../sales-navigator/account-lists · POST .../account-lists/{list_id} · POST .../account-lists/{list_id}/save
查看 Sales Navigator 中显示的个人资料GET /v2/{account_id}/users/{user_id}?variant=linkedin_sales_navigator
发送 Sales Navigator InMail使用 specifics.linkedin.sales_navigator.subject 调用 POST /v2/{account_id}/chats/send
LinkedIn Recruiter MCP:LinkedIn Recruiter API

账号需要拥有 Recruiter 席位。

产品中的功能路由
使用 Recruiter 筛选条件搜索候选人(技能、职位名称、工作年限、语言能力、工作场所类型等)POST /v2/{account_id}/linkedin/recruiter/search/people
从 Recruiter URL 或已保存的搜索导入搜索POST /v2/{account_id}/linkedin/recruiter/search
查询筛选条件 IDPOST /v2/{account_id}/linkedin/recruiter/search/parameters
查看 Recruiter 中显示的候选人个人资料及招聘活动GET /v2/{account_id}/users/{user_id}?variant=linkedin_recruiter&with_sections=linkedin_recruiting_activity
发送 Recruiter InMail(主题、签名、后续跟进;InMail 或电子邮件)使用 specifics.linkedin.recruiter 调用 POST /v2/{account_id}/chats/send
招聘项目:列出、创建、编辑GET / POST /v2/{account_id}/linkedin/recruiter/projects · PATCH .../projects/{project_id}
搜索项目人才库POST .../recruiter/projects/{project_id}/talent-pool/search
候选人管道:列出候选人、将候选人保存到项目POST .../projects/{project_id}/pipeline · POST .../pipeline/candidate/save
申请者及其简历POST .../projects/{project_id}/talent-pool/applicants · GET .../applicants/{applicant_profile_id}/resume
创建、发布和关闭 Recruiter 职位;查看职位名额点数POST .../recruiter/jobs · POST .../projects/{project_id}/jobs/{job_id}/publish · GET .../recruiter/job-slots-credits
WhatsApp MCP、Instagram MCP、Telegram MCP:通过 LinkedIn 统一消息 API

一套路由适用于所有消息服务提供商:WhatsApp 聊天和群组、Instagram 私信、Telegram 聊天和群组,以及 LinkedIn 消息。统一收件箱只需一次集成,而非四次。

产品功能路由
收件箱:列出聊天,或某个收件箱中的聊天GET /v2/{account_id}/chats · GET /v2/{account_id}/inboxes/{inbox_id}/chats
会话视图:读取聊天消息GET /v2/{account_id}/chats/{chat_id}/messages
查找与某位联系人的现有聊天GET /v2/{account_id}/users/{user_id}/chat
发起新聊天(1:1 或群组)并发送首条消息POST /v2/{account_id}/chats/send
在聊天中回复并附加文件POST /v2/{account_id}/chats/{chat_id}/messages/send
转发、编辑、删除、标记为已读POST .../messages/{message_id}/forward · /modify · DELETE .../messages/{message_id} · POST .../read
表情回应POST .../messages/{message_id}/reactions
群聊:添加或移除参与者POST .../chats/{chat_id}/participants · DELETE .../participants/{user_id}
下载附件GET .../messages/{message_id}/attachments/{attachment_id}
“正在输入……”指示器和在线状态POST .../chats/{chat_id}/composing · POST /v2/{account_id}/presence
Email MCP:Gmail、Outlook 和 IMAP 电子邮件 API

三个服务提供商使用统一架构,因此只需编写一次电子邮件集成。

产品功能路由
列出或搜索电子邮件,或列出某个文件夹中的电子邮件GET /v2/{account_id}/emails · GET /v2/{account_id}/folders/{folder_id}/emails
读取一封电子邮件或整个邮件会话GET /v2/{account_id}/emails/{email_id} · GET /v2/{account_id}/threads/{thread_id}
发送、回复和转发POST /v2/{account_id}/emails/send
草稿:创建、编辑、发送POST /v2/{account_id}/drafts · PATCH .../drafts/{draft_id} · POST .../drafts/{draft_id}/send
标记为已读或未读、移动、移至垃圾箱POST .../emails/{email_id}/read · /unread · /modify · DELETE .../emails/{email_id}
文件夹GET / POST /v2/{account_id}/folders · PATCH / DELETE .../folders/{folder_id}
下载附件GET .../emails/{email_id}/attachments/{attachment_id}
联系人和常用发件人GET /v2/{account_id}/contacts · GET /v2/{account_id}/email-senders
Calendar MCP:Google Calendar 和 Outlook Calendar API
产品功能路由
列出日历和活动GET /v2/{account_id}/calendars · GET .../calendars/{calendar_id}/events
预订或重新安排活动POST .../calendars/{calendar_id}/events · PATCH .../events/{event_id}
接受或拒绝邀请POST .../events/{event_id}/rsvp
取消、恢复或删除活动POST .../events/{event_id}/cancel · /restore · DELETE .../events/{event_id}
创建、更新或删除日历POST /v2/{account_id}/calendars · PATCH / DELETE .../calendars/{calendar_id}
帖子和互动:LinkedIn 和 Instagram
产品功能路由
发布帖子或 Instagram 快拍POST /v2/{account_id}/posts · POST /v2/{account_id}/posts/stories
LinkedIn 或 Instagram 个人资料的帖子、评论和回应GET .../users/{user_id}/posts · /comments · /reactions
帖子、帖子评论和回应GET .../posts/{post_id} · /comments · /reactions
评论、回复评论、回应POST .../posts/{post_id}/comments · POST .../comments/{comment_id} · POST .../posts/{post_id}/reactions
搜索 Instagram 地点GET /v2/{account_id}/instagram/search/locations
账户连接、多租户和 Webhook
产品中的功能路由
通过 Unipile 托管页面显示“连接你的 LinkedIn / WhatsApp / Gmail”按钮POST /v2/auth/link
在你自己的界面中进行连接流程,并处理 2FA/OTP 检查点POST /v2/auth/intent · POST /v2/auth/checkpoint
按提供商、状态或 Scope 筛选已连接的账户及其状态GET /v2/accounts/ · GET /v2/accounts/{account_id}
为每位客户或租户创建一个 Scope 和一个作用域密钥(你的后端,Service key)POST /v2/scopes/ · POST /v2/api-keys/
实时接收新消息、邮件和账户事件,而不是轮询(你的后端,Service key)POST /v2/webhooks/endpoints/

API 默认版本为 v2,仍可使用 v1

branch 查询参数用于选择服务器读取和调用的 Unipile API。请使用 branch=v2.0:本 README 中的所有示例均针对 v2。如果你的集成仍在使用 v1 API,请切换到 branch=v1.0,并将 v1 访问令牌放入 X-API-KEY;其余客户端配置保持不变。

v1 和 v2 是相互独立的环境。在一个环境中连接的账户在另一个环境中不可见,一个环境的密钥也无法用于另一个环境。请使用与你的账户所在环境相匹配的分支。

v2(?branch=v2.0,推荐)v1(?branch=v1.0)
控制面板dashboardv2.unipile.comdashboard.unipile.com
凭据仅需 API 密钥访问令牌和你的 DSN(https://apiX.unipile.com:XXXXX)
基础 URLhttps://api.unipile.com你的 DSN
路由/v2/...,179 个操作/api/v1/...,94 个操作
账户在 v2 环境中连接的账户在 v1 环境中连接的账户
API 参考developer.unipile.com/v2.0/referencedeveloper.unipile.com/v1.0/reference

在 v1 中,Agent 会通过 get-server-variables 工具读取你的 DSN;调用 execute-request 前必须先提供该 DSN。

API 密钥

密钥应放在 MCP 连接的 X-API-KEY 标头中。读取 API 参考时密钥可选:不提供密钥,Agent 仍可搜索端点并读取其架构。调用 execute-request 时则必须提供密钥。

v2 有三种密钥。只能向 MCP 客户端提供作用域限定的 Account API 密钥:

密钥可访问范围用于 MCP 客户端时
作用域限定的 Account API 密钥仅限分配给一个 Scope 的账户**使用此密钥。**创建一个 Scope,分配 Agent 可以使用的测试账户,然后为其创建一个作用域密钥
全局 Account API 密钥应用中的所有账户请勿使用:它可以访问所有用户的账户
Service API 密钥应用管理:Scopes、API 密钥、Webhook 端点请勿使用:将其保存在你的后端

Agent 仍可读取管理路由(/v2/scopes、/v2/api-keys、/v2/webhooks)的架构,并编写后端代码,以便使用你的 Service key 调用这些路由。切勿将密钥提交到共享仓库。

工具

在 branch=v2.0 上,服务器会提供五种工具:

工具功能
search-endpoints搜索路径、操作和参数,例如 sales-navigator、inmail 或 relation-requests
list-specs列出可用的 OpenAPI 规范;其他工具会将规范的 title 作为参数(Unipile API)
list-endpoints列出每个路径和方法及其摘要
get-endpoint返回一个操作完整的请求/响应架构、安全设置和服务器信息
execute-request对你自己的账户实际执行请求(一个 HAR 对象)

在 branch=v1.0 上,get-server-variables 会取代 list-specs,且工具不接受 title。

设置

以下每个客户端都使用 Streamable HTTP,并在 X-API-KEY 请求头中传递密钥。对于 v1,请在 URL 中将 v2.0 替换为 v1.0,并使用你的 v1 访问令牌作为密钥。

Cursor:~/.cursor/mcp.json 或 .cursor/mcp.json
{
  "mcpServers": {
    "unipile": {
      "url": "https://developer.unipile.com/mcp?branch=v2.0",
      "headers": { "X-API-KEY": "your-scoped-api-key" }
    }
  }
}

如果将此服务作为插件从 Cursor Marketplace 安装,服务会改为从 UNIPILE_API_KEY 环境变量中读取密钥。

VS Code:.vscode/mcp.json
{
  "inputs": [
    { "type": "promptString", "id": "unipile_api_key", "description": "Unipile scoped Account API key", "password": true }
  ],
  "servers": {
    "unipile": {
      "type": "http",
      "url": "https://developer.unipile.com/mcp?branch=v2.0",
      "headers": { "X-API-KEY": "${input:unipile_api_key}" }
    }
  }
}
Claude Code:claude mcp add
claude mcp add --transport http unipile "https://developer.unipile.com/mcp?branch=v2.0" --header "X-API-KEY: your-scoped-api-key"

也可以将其作为插件安装,并在 UNIPILE_API_KEY 环境变量中配置密钥:

/plugin marketplace add unipile/unipile-mcp
/plugin install unipile@unipile
Codex:~/.codex/config.toml 或 .codex/config.toml
[mcp_servers.unipile]
url = "https://developer.unipile.com/mcp?branch=v2.0"
http_headers = { "X-API-KEY" = "your-scoped-api-key" }
Gemini CLI:~/.gemini/settings.json
{
  "mcpServers": {
    "unipile": {
      "httpUrl": "https://developer.unipile.com/mcp?branch=v2.0",
      "headers": { "X-API-KEY": "your-scoped-api-key" }
    }
  }
}
Windsurf:~/.codeium/windsurf/mcp_config.json。Claude Desktop:claude_desktop_config.json
{
  "mcpServers": {
    "unipile": {
      "type": "http",
      "url": "https://developer.unipile.com/mcp?branch=v2.0",
      "headers": { "X-API-KEY": "your-scoped-api-key" }
    }
  }
}

任何其他 MCP 客户端或 Agent 框架(OpenAI Agents SDK、Claude Agent SDK、LangChain、LlamaIndex、CrewAI、自定义客户端)都以相同方式连接:使用带请求头身份验证的 Streamable HTTP。

从编辑器到生产环境

  • SDK:Node.js/TypeScript 和 Python 封装了 Agent 通过 MCP 发现的相同端点。你可以让 Agent 在编写的代码中使用这些 SDK。
  • n8n:@unipile/n8n-nodes-unipile 是一个社区节点,将相同的渠道作为类型化资源和操作提供,适用于无需编写代码、也无需 Agent 参与的工作流。

常见问题

有 LinkedIn MCP 服务吗? LinkedIn 没有发布官方服务。Unipile MCP 服务是面向编码 Agent 的 LinkedIn MCP 服务,基于 Unipile LinkedIn API 构建。它会在每个账户自身的限制范围内,对用户连接的 LinkedIn 账户执行操作。

有 Sales Navigator MCP 或 LinkedIn Recruiter MCP 吗? 有,都在同一个服务中。Sales Navigator 提供专属的潜在客户和账户搜索、潜在客户列表及 InMail;Recruiter 提供专属的候选人搜索、招聘项目、候选人流程及 InMail。请参阅 Sales Navigator MCP 和 LinkedIn Recruiter MCP。

有 WhatsApp MCP、Instagram MCP 或 Telegram MCP 吗? 有。WhatsApp 聊天和群组、Instagram 私信以及 Telegram 聊天,与 LinkedIn 消息共用相同的消息路由。Instagram 还支持帖子、快拍、评论和地点搜索,详见帖子与互动。

有 Gmail MCP、Outlook MCP 或 IMAP MCP 吗? 有。一套电子邮件架构涵盖 Gmail、Outlook 和任何 IMAP 邮箱:搜索、阅读邮件会话、发送、回复、草稿、文件夹和附件。

我的产品在生产环境中需要 MCP 吗? 不需要。构建产品时,Agent 会使用 MCP 来发现和测试 API。你的产品会直接调用 Unipile REST API 或 SDK。

它适用于哪些编码 Agent? 任何支持通过 Streamable HTTP 和自定义请求头连接远程 MCP 服务的客户端:Cursor、Claude Code、Codex、Gemini CLI、VS Code、Windsurf 和 Claude Desktop,以及各类 Agent 框架。

我应该使用 v1 还是 v2? 除非你的账户位于 v1 环境,否则请使用 v2。请参阅 API 版本。

说明

  • 只有 github.com/unipile/* 下的仓库才是官方仓库。其他基于 Unipile API 构建的 GitHub 仓库均为第三方项目,Unipile 不会维护这些项目。
  • 此仓库是托管服务的分发套件:注册表清单、目录介绍文案和设置说明。它不会运行第二个服务。顶部的 URL(详见 developer.unipile.com/docs/mcp)是唯一的 URL。

注册表清单

server.json 是此服务的 MCP 注册表清单,用于提交到官方注册表,以及供会导入该清单的目录使用(Glama、PulseMCP、mcp.so……)。它将 branch 声明为 URL 变量(默认值为 v2.0,也可选用 v1.0),并将 X-API-KEY 声明为必需的机密请求头。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。