gtm-api: LinkedIn MCP Server

com.gtm-api由 gtm-api.com 发布官方发布者v1.3.2更新于 Nov 3, 2026

Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.

已验证Streamable HTTP可网页运行网页搜索与抓取沟通与协作商业与电商

概览

AI 生成的概览

托管的 LinkedIn MCP 服务器,让 AI 助手在你自己的 LinkedIn 账号上搜索、建立联系、发消息和补充资料。

可以做什么
  • 列出工具集并查看其中的操作,再按名称调用任意操作
  • 收发 LinkedIn 消息、语音留言、InMail 和 Sales Navigator 聊天
  • 管理人际网络:发送邀请、接受或忽略邀请、撤回邀请,查看联系人和关注者
  • 跟踪帖子和指标,评论、点赞,获取互动者和评论者
  • 补充个人与公司资料,包括经历、技能、教育和公司数据
  • 搜索人物、公司和帖子,查找相似资料、员工和决策者,并查看账号健康与限额
适用场景
适合让助手在你掌控的账号上执行 LinkedIn 外联或调研,例如接受邀请、发送欢迎消息或整理潜在客户名单,而无需自己编写自动化。它是托管付费服务,而非自托管工具。
运行要求
需要在服务商网站注册 gtm-api 账号并连接一个 LinkedIn 账号。远程端点使用 OAuth 认证(首次调用时在浏览器中授权);无头客户端可改用 API 密钥作为 bearer token,npm 启动器从 GTM_API_KEY 读取。可选的本地启动器通过 npx 或 Docker 运行,需要能访问该端点。
安装前请注意
助手操作的是真实 LinkedIn 账号,可发送邀请、消息和 InMail,外发操作会影响真实用户;服务器要求先预览再确认。LinkedIn 用户协议不允许第三方自动化,README 也说明此类工具都存在风险。付费方案自每个已连接账号每月 39 美元起。API 密钥是有效凭证,不应放入共享配置。

安装

在 SourceWeft 中

  1. 打开 控制台中的 gtm-api: LinkedIn MCP Server,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/com.gtm-api%2Flinkedin-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "gtm-api-linkedin": {
      "type": "http",
      "url": "https://mcp.gtm-api.com/mcp"
    }
  }
}

README

gtm-api: LinkedIn MCP Server

[Site] [Protocol] [License] [Smithery]

gtm-api is a managed LinkedIn MCP server. It gives an AI agent one endpoint, three MCP tools and 160+ typed LinkedIn actions over the Model Context Protocol, so Claude, ChatGPT or Cursor can search, connect, message and enrich on a LinkedIn account you own, with account safety enforced server side.

This repository holds the public interface: what the server exposes, how to connect a client, and how the safety layer works.

What is a LinkedIn MCP server?

A LinkedIn MCP server exposes LinkedIn actions as Model Context Protocol tools, so an AI agent calls them directly, the way a person would click through the UI. LinkedIn publishes no official API for invitations, member messages or open profile search, so a LinkedIn MCP server works through an account you own rather than through LinkedIn's developer platform.

Two shapes exist today. Cookie-driven open-source servers run a browser session with your own cookie and no pacing. Managed servers run each account in isolated infrastructure with limits enforced before every action. gtm-api is the second kind.

Which clients it works with

Any MCP-compatible client:

  • Claude (Desktop, Code, and the API)
  • Cursor
  • ChatGPT (via connectors)
  • LangChain, n8n, and custom agent runtimes

Not using MCP? Every tool is also a typed REST endpoint with webhooks. One schema generates all three surfaces.

Quickstart

1. Sign up. Create an account at app.gtm-api.com (forever free plan, no card) and connect a LinkedIn account. It opens in a dedicated anti-detect cloud browser with its own proxy.

2. Add the server to your MCP client. For Claude Desktop, edit claude_desktop_config.json (example in examples/):

json
{  "mcpServers": {    "gtm-api": {      "url": "https://mcp.gtm-api.com/mcp"    }  }}

There is no key to paste. The endpoint authenticates with OAuth: your client gets a WWW-Authenticate challenge on the first call, registers itself with the authorization server (dynamic client registration), and opens a consent page in your browser.

Headless clients can skip the browser. The same API key (gtm_live_...) that authenticates the REST API also works on this endpoint as a plain bearer token, which is what makes it usable from CI and servers:

bash
claude mcp add --transport http gtm-api https://mcp.gtm-api.com/mcp --header "Authorization: Bearer gtm_live_..."

For command-spawning clients, the launcher below reads the key from GTM_API_KEY instead (1.3.0 or newer; older pins ignore it and do OAuth only). Pick one mode per connection: with a key attached, the OAuth flow never starts. Interactive clients such as claude.ai connectors have no header field and always use OAuth. Full matrix: docs.gtm-api.com/mcp/connect.

Client can only spawn a command, not open a URL? The @gtm-api/linkedin-mcp launcher bridges stdio clients to the same endpoint and runs the same OAuth flow (config in examples/):

json
{  "mcpServers": {    "gtm-api": {      "command": "npx",      "args": ["-y", "@gtm-api/linkedin-mcp"]    }  }}

For Claude Code it is one line: claude mcp add --transport http gtm-api https://mcp.gtm-api.com/mcp.

The same launcher also ships as a Docker image, gtmapi/linkedin-mcp (config in examples/). Mount a volume on the token cache so the consent step runs once rather than on every container:

json
{  "mcpServers": {    "gtm-api": {      "command": "docker",      "args": ["run", "-i", "--rm", "-v", "gtm-mcp-auth:/home/node/.mcp-auth", "gtmapi/linkedin-mcp"]    }  }}

3. Restart the client and prompt in plain English:

"Every morning, accept new connection invitations from founders, reply with a short welcome, and add anyone hiring SDRs to a warm list."

The agent discovers the actions and chains them: fetch the latest connection invitations, accept the ones that match, send each new contact a short message. Every outward action runs a preview-then-confirm step and a server-side daily-limit check before it reaches LinkedIn.

Cursor plugin

This repository is also a Cursor plugin (.cursor-plugin/plugin.json). Installing it adds two things:

  • The hosted MCP server, https://mcp.gtm-api.com/mcp, declared in .mcp.json.
  • The gtm-api-linkedin skill. It tells the agent to discover tools before calling them, to show you the preview of every send before it commits, and to stop on a limit refusal instead of retrying it.

Install it from the Cursor Marketplace: open Customize, search for gtm-api, select Install. To run it from this repository instead, copy the plugin into Cursor's local plugin folder:

bash
git clone https://github.com/gtm-api/linkedin-mcp.git /tmp/linkedin-mcpmkdir -p ~/.cursor/plugins/local/gtm-apicp -R /tmp/linkedin-mcp/.cursor-plugin /tmp/linkedin-mcp/.mcp.json /tmp/linkedin-mcp/skills /tmp/linkedin-mcp/assets ~/.cursor/plugins/local/gtm-api/

Then run Developer: Reload Window and check that Customize lists the skill and the MCP server.

The plugin carries no key and needs no configuration. The first tool call opens a consent page in your browser: you sign in to app.gtm-api.com (forever free plan, no card) and pick the workspace the agent acts in. Cursor registers itself as an OAuth client on that first call, so there is no client ID to create. To add the server without the skill, use the one-click Cursor link on docs.gtm-api.com/mcp/connect.

MCP tools

The server exposes exactly three MCP tools. Discovery is progressive: an agent lists the toolsets, inspects one, then invokes an action. The 160+ LinkedIn actions never load into the model's context at once, so the schema footprint stays around 400 tokens.

json
[  {    "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 validates arguments against the target action's own input schema, so preview-then-confirm, rate limits and typed errors apply exactly as if the action were mounted directly.

What the agent can do

160+ typed actions across 11 LinkedIn toolsets, grouped here into seven areas:

ToolsetWhat it covers
Messagingmember messages, voice notes, InMail, Sales Navigator chats, inbox search and sync
Networkconnection requests, accept or ignore invitations, withdraw, connections and followers
Contenttrack posts and metrics, comment, react, get engagers and commenters
Enrichmentlite and full profile, experience, skills, education, company data
Searchpeople, company and post search, similar profiles, employees, decision-makers, saved searches
Account healthsmart limits, health snapshots, quota-hit, block and activity logs
Infrastructureanti-detect cloud browsers, dedicated proxies, webhooks

The same endpoint also serves the account, billing and orchestration toolsets, 250+ typed actions in total. This repo documents the LinkedIn half.

LinkedIn is the live channel today. Email (Gmail, Outlook, IMAP), messengers (WhatsApp, Telegram, Instagram DMs) and calendars (Google, Microsoft) are on the roadmap on the same typed contract.

Is it safe for my LinkedIn account?

Safety is enforced by the server itself, under every tool call. Six mechanisms:

  • Owned accounts. The agent acts through an account you connected and control. There is no shared account pool.
  • Session isolation. Each account runs in its own anti-detect cloud browser with a dedicated proxy. One account, one session, one device signature.
  • Warm-up. A new account starts at a fraction of platform maximum, and its allowance is raised programmatically as the account ages and builds history.
  • Server-side limits. Per-action daily budgets are checked before dispatch, across 16 action buckets.
  • Randomized pacing. Bulk work is spread with per-gap randomized intervals, because a fixed cadence is itself a detectable pattern.
  • Preview then confirm. Outward actions return a preview and require confirmation, so an over-eager agent cannot burn an account.

On this setup, 20,000+ LinkedIn accounts run on gtm-api.com, and under 1% of them have ever been restricted. Full method: gtm-api.com/safe-linkedin-automation.

How it compares to open-source LinkedIn MCP servers

Cookie-driven servers such as stickerdaniel/linkedin-mcp-server run a browser session with your own LinkedIn cookie and leave pacing to you: the project's README documents the cookie login flow and lists no rate limiting. Apify's LinkedIn actors are a different shape, hosted scrapers priced per result and focused on pulling data out.

gtm-api (managed)Cookie-driven open source
Account modelOwned, warmed, isolatedYour live cookie session
Safety layerAnti-detect browser, dedicated proxy, limitsNot built in
Limit enforcementServer side, before every actionYou build it
Sends (connect, message, InMail)Yes, with preview then confirmPartial or none
Published restriction figureUnder 1% of 20,000+ accounts ever restrictedNot published
SupportManagedCommunity
PriceFrom $39 per connected account per month, $10 at volumeFree, run it yourself
Self-hosted, auditable codeNo, managed serviceYes

Pricing

Volume pricing per connected account per month, from $10/account at scale, with unlimited API calls and no per-action fees. Forever free plan, no card: gtm-api.com/pricing.

A note on LinkedIn's terms

LinkedIn's User Agreement does not permit third-party automation, so every tool in this space carries risk and no vendor can honestly promise otherwise. gtm-api reduces that risk by acting only on accounts you own, with warm-up, human-like pacing and enforced limits, which is why under 1% of the accounts on it have ever been restricted. This is not legal advice.

Links


gtm-api.com, the LinkedIn API and MCP server for AI agents.

来源:README.md,提交 950c297

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

3
  1. v1.3.2最新Nov 3, 2026
  2. v1.2.0Sep 29, 2026
  3. v1.1.0Sep 16, 2026

评分

已满足适用检查项的 85%

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

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

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

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