关于 gtm-api
gtm-api 是托管式 LinkedIn MCP 服务,供 AI Agent 在其所有者连接的账户上执行搜索、联系、消息发送和资料丰富等操作。它以三个 MCP 工具渐进式提供 160 多项 LinkedIn 操作,并在服务端执行操作限额与发送前确认。
主要功能
- 01通过三个工具渐进发现操作
- 02提供 160 多项 LinkedIn 操作
- 03支持搜索、连接、消息与资料丰富
- 04发送前预览并要求确认
- 05服务端执行每日限额与随机节奏
适用场景
- 01搜索潜在客户及公司资料
- 02处理连接邀请并发送消息
- 03追踪帖子互动和互动者
- 04在发送操作前检查预览与限额
MCP 相关
服务端通过 MCP 暴露 LinkedIn 操作;客户端先列出工具集、查看对应工具,再调用具体操作。支持 OAuth,也可使用 REST API 密钥作为 bearer token。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.gtm-api.com/mcpclaude mcp add --transport http gtm-api https://mcp.gtm-api.com/mcp{"mcpServers":{"gtm-api":{"type":"http","url":"https://mcp.gtm-api.com/mcp"}}}在 Cursor 中打开{"servers":{"gtm-api":{"type":"http","url":"https://mcp.gtm-api.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"gtm-api":{"type":"http","url":"https://mcp.gtm-api.com/mcp"}}}{"mcpServers":{"gtm-api":{"serverUrl":"https://mcp.gtm-api.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
gtm-api:LinkedIn MCP 服务
gtm-api 是托管式 LinkedIn MCP 服务。它通过 Model Context Protocol 为 AI Agent 提供一个端点、三个 MCP 工具和 160 多种类型化 LinkedIn 操作,让 Claude、ChatGPT 或 Cursor 能够在你拥有的 LinkedIn 账号上进行搜索、建立联系、发送消息和补充信息,并由服务端强制实施账号安全措施。
此仓库包含公开接口:服务提供的功能、客户端连接方式,以及安全层的工作原理。
什么是 LinkedIn MCP 服务?
LinkedIn MCP 服务将 LinkedIn 操作作为 Model Context Protocol 工具公开,让 AI Agent 能够直接调用,就像用户通过界面点击操作一样。LinkedIn 没有针对邀请、成员消息或公开个人资料搜索的官方 API,因此 LinkedIn MCP 服务通过你拥有的账号运行,而非通过 LinkedIn 的开发者平台运行。
目前有两种形式。由 Cookie 驱动的开源服务使用你自己的 Cookie 运行浏览器会话,且不设操作间隔。托管式服务则在隔离的基础设施中运行各个账号,并在每次操作前强制执行限制。gtm-api 属于第二种。
支持哪些客户端
任何兼容 MCP 的客户端:
- Claude(Desktop、Code 和 API)
- Cursor
- ChatGPT(通过连接器)
- LangChain、n8n 和自定义 Agent 运行时
不使用 MCP?每个工具也都有对应的类型化 REST 端点和 Webhook。一个架构即可生成这三种接口。
快速入门
1. 注册。 在 app.gtm-api.com 创建账户(永久免费套餐,无需银行卡),并连接一个 LinkedIn 账户。它会在专用的反检测云浏览器中打开,并使用独立代理。
2. 将服务添加到 MCP 客户端。 对于 Claude Desktop,编辑 claude_desktop_config.json(示例见 examples/):
{
"mcpServers": {
"gtm-api": {
"url": "https://mcp.gtm-api.com/mcp"
}
}
}
无需粘贴密钥。此端点通过 OAuth 进行身份验证:客户端首次调用时会收到 WWW-Authenticate 挑战,向授权服务器注册自身(动态客户端注册),并在浏览器中打开授权页面。
无头客户端可以跳过浏览器。用于验证 REST API 的同一个 API 密钥(gtm_live_...)也可在此端点作为普通 bearer 令牌使用,因此可用于 CI 和服务器:
claude mcp add --transport http gtm-api https://mcp.gtm-api.com/mcp --header "Authorization: Bearer gtm_live_..."
对于可启动命令的客户端,下面的启动器会改为从 GTM_API_KEY 读取密钥(1.3.0 或更高版本;较旧的固定版本会忽略该变量,仅使用 OAuth)。每个连接只能选择一种模式:附带密钥后,OAuth 流程不会启动。claude.ai 连接器等交互式客户端没有可设置请求头的字段,因此始终使用 OAuth。完整对照表:docs.gtm-api.com/mcp/connect。
客户端只能启动命令,无法打开 URL?@gtm-api/linkedin-mcp 启动器可将 stdio 客户端连接到同一个端点,并运行相同的 OAuth 流程(配置见 examples/):
{
"mcpServers": {
"gtm-api": {
"command": "npx",
"args": ["-y", "@gtm-api/linkedin-mcp"]
}
}
}
对于 Claude Code,只需一行:claude mcp add --transport http gtm-api https://mcp.gtm-api.com/mcp。
同一个启动器也提供 Docker 镜像 gtmapi/linkedin-mcp(配置见 examples/)。在令牌缓存上挂载卷,这样授权步骤只需运行一次,而不是每次启动容器时都运行:
{
"mcpServers": {
"gtm-api": {
"command": "docker",
"args": ["run", "-i", "--rm", "-v", "gtm-mcp-auth:/home/node/.mcp-auth", "gtmapi/linkedin-mcp"]
}
}
}
3. 重启客户端,然后用简单的英文提示词提出请求:
“每天早上,接受新的创始人连接邀请,发送简短的欢迎回复,并将正在招聘 SDR 的人加入潜在联系人列表。”
Agent 会发现可用操作并将其串联起来:获取最新的连接邀请,接受符合条件的邀请,并向每位新联系人发送简短消息。每项对外操作都会先预览、再确认,并在到达 LinkedIn 之前通过服务端每日限额检查。
Cursor 插件
此仓库同时也是一个 Cursor 插件(.cursor-plugin/plugin.json)。安装后会添加两项内容:
- 在
.mcp.json中声明的托管 MCP 服务https://mcp.gtm-api.com/mcp。 gtm-api-linkedin技能。它会指示 Agent 在调用工具前先发现可用工具,在执行每次发送前向你展示预览,并在遇到限额拒绝时停止,而不是重试。
从 Cursor Marketplace 安装:打开 Customize,搜索 gtm-api,然后选择 Install。如果要直接从此仓库运行,请将插件复制到 Cursor 的本地插件文件夹:
git clone https://github.com/gtm-api/linkedin-mcp.git /tmp/linkedin-mcp
mkdir -p ~/.cursor/plugins/local/gtm-api
cp -R /tmp/linkedin-mcp/.cursor-plugin /tmp/linkedin-mcp/.mcp.json /tmp/linkedin-mcp/skills /tmp/linkedin-mcp/assets ~/.cursor/plugins/local/gtm-api/
然后运行 Developer: Reload Window,并确认 Customize 中列出了该技能和 MCP 服务。
该插件不包含密钥,也无需配置。首次调用工具时,会在浏览器中打开授权页面:登录 app.gtm-api.com(永久免费套餐,无需银行卡),然后选择 Agent 要操作的工作区。Cursor 会在首次调用时将自身注册为 OAuth 客户端,因此无需创建客户端 ID。如果不需要技能,只想添加服务,请使用 docs.gtm-api.com/mcp/connect 上的一键 Cursor 链接。
MCP 工具
该服务恰好提供三种 MCP 工具。工具发现采用渐进式流程:Agent 先列出工具集,再检查其中一个,最后调用具体操作。160 多种 LinkedIn 操作不会一次性全部加载到模型的上下文中,因此架构占用约为 400 个 token。
[
{
"name": "list_toolsets",
"description": "List the available toolsets (domains) on this server. Each toolset groups related tools (e.g. linkedin.messaging, id.billing). Start here, then get_toolset_tools to inspect one, then call_tool to run a tool. Requires OAuth authorization (Bearer token).",
"input_schema": { "type": "object", "properties": {} }
},
{
"name": "get_toolset_tools",
"description": "List the tools in a toolset. Default (lite) returns name + title + one-line summary; pass verbose:true for full descriptions, safety flags, and parameter names. Run one via call_tool.",
"input_schema": {
"type": "object",
"properties": {
"toolset": { "type": "string", "description": "Toolset id from list_toolsets, e.g. \"linkedin.messaging\"." },
"verbose": { "type": "boolean", "description": "Include full descriptions + parameter names." }
},
"required": ["toolset"]
}
},
{
"name": "call_tool",
"description": "Invoke a tool by name (discovered via get_toolset_tools) with its arguments object. Behaves exactly like calling the tool on its domain mount. Dangerous tools still require the two-step preview→confirm (pass commit_token inside arguments on the confirm call).",
"input_schema": {
"type": "object",
"properties": {
"name": { "type": "string", "description": "Exact tool name." },
"arguments": { "type": "object", "description": "The tool's arguments object." }
},
"required": ["name"]
}
}
]
call_tool 会根据目标操作自身的输入架构验证参数,因此预览后确认、速率限制和类型化错误的处理方式,与直接挂载该操作完全一致。
Agent 能做什么
涵盖 11 个 LinkedIn 工具集的 160 多种类型化操作,归为以下七个领域:
| 工具集 | 涵盖内容 |
|---|---|
| Messaging | 会员消息、语音留言、InMail、Sales Navigator 聊天、收件箱搜索与同步 |
| Network | 连接请求、接受或忽略邀请、撤回、联系人与关注者 |
| Content | 跟踪帖子及指标、评论、回应、获取互动者和评论者 |
| Enrichment | 精简和完整的个人资料、工作经历、技能、教育经历、公司数据 |
| Search | 人员、公司和帖子搜索、相似个人资料、员工、决策者、已保存的搜索 |
| Account health | 智能限额、健康状态快照、配额触顶、封禁和活动日志 |
| Infrastructure | 反检测云浏览器、专用代理、Webhook |
同一端点还提供账户、账单和编排工具集,总计 250 多种类型化操作。本仓库介绍的是其中的 LinkedIn 部分。
目前,LinkedIn 是已上线的渠道。电子邮件(Gmail、Outlook、IMAP)、即时通讯工具(WhatsApp、Telegram、Instagram 私信)和日历(Google、Microsoft)都已列入路线图,并采用相同的类型化合约。
这对我的 LinkedIn 账户安全吗?
每次工具调用都会由服务本身强制执行安全措施,共有六种机制:
- 自有账户。 Agent 通过你连接并控制的账户操作,不存在共享账户池。
- 会话隔离。 每个账户都在独立的反检测云浏览器中运行,并使用专用代理。一个账户对应一个会话和一个设备签名。
- 预热。 新账户的初始额度只是平台最高限额的一小部分;随着账户使用时间增长并积累历史记录,系统会通过程序逐步提高额度。
- 服务端限额。 派发操作前会检查每个操作的每日预算,覆盖 16 个操作类别。
- 随机化操作间隔。 批量操作会以随机的间隔分散执行,因为固定的操作节奏本身就容易被检测到。
- 预览后确认。 对外操作会先返回预览,并要求确认,因此过于积极的 Agent 无法过度消耗账户额度。
在此配置下,gtm-api.com 上运行着 20,000 多个 LinkedIn 账户,其中曾受到限制的账户不到 1%。完整方法:gtm-api.com/safe-linkedin-automation。
与开源 LinkedIn MCP 服务相比
由 Cookie 驱动的服务(例如 stickerdaniel/linkedin-mcp-server)会使用你自己的 LinkedIn Cookie 运行浏览器会话,并将操作间隔交由你控制:该项目的 README 介绍了 Cookie 登录流程,但没有列出速率限制。Apify 的 LinkedIn Actor 则属于另一种类型:托管式抓取工具,按结果计费,专注于提取数据。
| gtm-api(托管式) | 由 Cookie 驱动的开源方案 | |
|---|---|---|
| 账户模式 | 自有、已预热、相互隔离 | 你当前使用的 Cookie 会话 |
| 安全层 | 反检测浏览器、专用代理、限额 | 未内置 |
| 限额执行 | 每次操作前在服务端执行 | 由你自行实现 |
| 发送(连接、消息、InMail) | 支持,需先预览再确认 | 部分支持或不支持 |
| 已公布的限制数据 | 20,000 多个账户中曾受限制的比例不到 1% | 未公布 |
| 支持 | 托管支持 | 社区支持 |
| 价格 | 每个已连接账户每月 $39 起,批量使用时 $10 | 免费,自行运行 |
| 可自托管、代码可审计 | 否,托管服务 | 是 |
定价
按每月连接的账户数计费,规模扩大后每个账户低至 $10,API 调用次数不限,且不按操作收费。永久免费套餐,无需信用卡:gtm-api.com/pricing。
关于 LinkedIn 条款的说明
LinkedIn 的用户协议不允许第三方自动化,因此这个领域的所有工具都存在风险,没有任何供应商能诚实地承诺没有风险。gtm-api 仅操作您拥有的账户,并通过预热、模拟真人的操作节奏和强制限制来降低风险,这也是其账户中曾被限制的比例不到 1% 的原因。本内容不构成法律建议。
链接
- 注册(永久免费套餐):app.gtm-api.com
- 逐步连接任意客户端:docs.gtm-api.com/mcp/connect
- LinkedIn MCP 服务的工作原理:gtm-api.com/linkedin-mcp-server
- 安全方法详解:gtm-api.com/safe-linkedin-automation
- npm 启动器:npmjs.com/package/@gtm-api/linkedin-mcp
- Docker 镜像:hub.docker.com/r/gtmapi/linkedin-mcp
- Model Context Protocol:modelcontextprotocol.io
gtm-api.com,面向 AI Agent 的 LinkedIn API 和 MCP 服务。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。