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 分