
November 10, 2026
Benchmark of LinkedIn MCP servers 2026, LinkedIn ToS posture, verified Claude Desktop setup, role-based pick list for B2B growth teams.
You want an AI assistant like Claude to read LinkedIn profiles, draft a follow-up or publish a post for you, without manual copy-paste. A LinkedIn MCP server does exactly that: it exposes your LinkedIn actions (profiles, messaging, publishing, enrichment) as tools an assistant can call through the Model Context Protocol. As of November 2026, no server is official; eight third-party projects now cover the market, split across three technical families, with a Terms of Service footprint that changes completely depending on which family you install. This article lays out the comparative table, a verified Claude Desktop setup procedure, the exact LinkedIn ToS language, and a role-based pick list for B2B growth teams.
A LinkedIn MCP server connects an AI assistant (Claude Desktop, Claude Code, ChatGPT with connectors, Cursor, Codex, Gemini CLI, Windsurf, Cline) to LinkedIn through the Model Context Protocol, the open standard Anthropic released on November 25, 2024. The server holds LinkedIn credentials and only exposes tools to the assistant: search a profile, send a message, publish a post, list an inbox.
LinkedIn publishes none. ContentIn states it plainly: « LinkedIn offers no official MCP server; every available option is third-party » (ContentIn, 2026-10-30). The market therefore splits between open-source GitHub projects and vendors (ContentIn, Unipile, GTM API, Derrick, Zapier) that expose their existing LinkedIn integration as an MCP server.
For broader context on how AI assistants plug into a B2B growth stack today, read our State of AI Marketing 2026 and how to transform your B2B strategy with AI.
LinkedIn MCP servers fall into three technical families, and each family inherits the ceiling of what it drives. Picking the family is the first decision, because it fixes both the account risk and the functional scope.
Family 1, browser automation. A headless driver signs into a real LinkedIn account with a session cookie (`li_at`) or a login window. Upside: reads everything the user sees, including Sales Navigator. Downside: « A standard account is flagged after around 80 to 100 profile views per day » per Derrick (2026-09-28), and LinkedIn tightened its stance on Playwright scrapers in late 2025, forcing servers to migrate to Patchright, a fork built to evade bot detection.
Family 2, official API. The server calls LinkedIn partner endpoints through OAuth, scope `w_member_social` to publish on a member's behalf. ToS-compatible. Known limit: `/v2/search/people` is not a documented public endpoint, so cold profile search is not viable on the official API without Marketing Developer Platform or Sales Navigator API access.
Family 3, native enrichment or bridge. The server queries third-party sources (Unipile, GTM API, Derrick) or routes actions through an aggregator (Zapier MCP, Composio) that relays to the platform's existing LinkedIn integration. No cookie on your side, no scraping; cost is credits or a subscription, and scope is capped by what the vendor already supports.
No top-ranking page lines up these eight projects side by side with authentication, license, starting price and ToS posture. Here's the chiffred view, accurate as of 2026-11-10.
| Server | Family | Authentication | Key features | License | Price | ToS posture |
|---|---|---|---|---|---|---|
| stickerdaniel/linkedin-mcp-server | Browser | Cookie import or local login session | 25 tools: profiles, messaging, companies, jobs, feed, search | Apache-2.0 | Free (4.2k stars) | README is explicit: « use at your own risk », account restriction risk |
| Dishant27/linkedin-mcp-server | Official API | OAuth 3-legged (no client_credentials) | 2 tools: search-people (experimental, partner-only), get-profile | MIT | Free (53 stars) | API-compliant; search-people limited to partner apps |
| felipfr/linkedin-mcpserver | Official API | API token (method not specified in README) | 5 tools: profile search, retrieval, job search, messaging, network stats | MIT | Free (95 stars) | API-compliant when scope is granted |
| Unipile | Hosted bridge | Hosted Auth (client receives an account_id, no credentials) | Messaging, people search, invitations, Sales Navigator, Recruiter, posts, InMail | Proprietary | From €49 / mo for 10 accounts (down to €3), MCP included | Hosted auth = member-authorized access |
| GTM API | Hosted bridge | Browser consent (or `GTM_API_KEY` for local CLI) | 190+ tools across 12 toolsets (Messaging, Network, Content, Recruiter, Enrichment…) | Proprietary | From $10 per connected account / mo at volume, Sandbox free | « 20,000+ LinkedIn accounts, under 1% restricted », server-side preview → confirm |
| Derrick | Native enrichment | Vendor API key, no LinkedIn cookie | Lead enrichment without touching your LinkedIn account | Proprietary | Credits (pricing not public on MCP page) | No cookie, no account-flag risk |
| ContentIn | Hosted API-backed | LinkedIn OAuth (scope `w_member_social`) | AI publishing via the official LinkedIn API, scheduling, agent | Proprietary | From $29 / mo, agent included in Growth and Pro | Publishes through the API, « member-authorised » posture |
| Zapier MCP | Aggregator bridge | Zapier's existing LinkedIn integration | Actions LinkedIn supports in Zapier zaps (post, invite, message) | Proprietary | Per-action pricing on top of the Zapier plan | Low risk (goes through Zapier's approved LinkedIn integration), narrow scope |
Quick read: Family 1 (stickerdaniel) covers the widest LinkedIn surface but puts your account under § 8.2 of the User Agreement. Family 2 (Dishant27, felipfr) stays compliant but loses cold profile search. Family 3 (Unipile, GTM API, Derrick, ContentIn, Zapier) costs a subscription and shifts the ToS responsibility toward the vendor, within a scope the vendor has already fixed.
Three steps are enough: create the authentication on the LinkedIn side (cookie or OAuth), paste a JSON block into `claude_desktop_config.json`, restart Claude Desktop. The config file lives at `~/Library/Application Support/Claude/` on macOS and `%APPDATA%/Claude/` on Windows. For an HTTP client like Claude Code, the command is `claude mcp add --transport http …` and the consent happens via `/mcp` during the session.
{
"mcpServers": {
"mcp-server-linkedin": {
"command": "uvx",
"args": ["mcp-server-linkedin@latest"],
"env": { "UV_HTTP_TIMEOUT": "300" }
}
}
}Reminder from the stickerdaniel README: « LinkedIn's User Agreement prohibits automated access », « accounts using automated tools can be restricted or banned ». Set up a proxy before `--login` to avoid a LinkedIn checkpoint.
To revoke, the connection is removed either from the member's LinkedIn settings or from the GTM API dashboard. A LinkedIn OAuth access token lives 60 days (`expires_in: 5184000`); refresh goes through a new authorization request.
MCP is only a transport; what the LinkedIn ToS targets is what you plug behind it. ContentIn's 2026-07-28 ToS reading sorts the use cases into three categories, and the literal English clauses are easier to defend than any paraphrase.
| Category | Permitted | Prohibited | Reference |
|---|---|---|---|
| Member-authorised API action on your own content | Publish, comment, like a post on your behalf through OAuth | Triggering without a user action (« Use the Content or the APIs to automate posting on the LinkedIn Services ») | Scope `w_member_social`, User Agreement § 3.1, API Terms § 3.1 |
| Session or browser automation | Nothing: the session is personal, automation is prohibited by name | « bots or other unauthorized automated methods to access the Services, add or download contacts, send or redirect messages » | User Agreement § 8.2 |
| Data extraction about other people | Data LinkedIn returns through an explicitly authorised API | « scrape or copy the Services, including profiles and other data » ; « You must not capture, copy, cache, or store any Content » | User Agreement § 8.2 ; API Terms § 4.1 |
Operational translation: a Family 1 server falls under § 8.2 the moment it drives your session. A Family 2 server stays inside the `w_member_social` scope as long as it publishes your own content, not someone else's. A Family 3 server shifts ToS responsibility to the vendor, but you remain accountable for what the agent triggers. This is not a legal opinion; it is the grid ContentIn builds from the clauses, and it matches what the open-source READMEs themselves warn against.
For the broader question of what AI can safely own on LinkedIn without breaking your reach, read the end of free LinkedIn reach.
The server to install depends first on the role that will use it and the risk zone they can own. Role-based pick list, built on the families defined above.
| Role | Target family | Why | Primary risk |
|---|---|---|---|
| BDR / SDR in cold prospecting | Family 3 enrichment (Derrick, GTM API) | No LinkedIn cookie, data sourced elsewhere, predictable quota | Enrichment data quality, GDPR posture on storage |
| Demand gen running paid + organic sequences | Family 3 hosted bridge (Unipile, GTM API) | Publishing via official OAuth, 190+ typed tools, planning on top | Scope keys per connected account, no global key on the client |
| Content creator with publishing | Family 3 API-backed (ContentIn) or Unipile for official publishing | Publishing via OAuth, scope `w_member_social`, scheduling built in | Never trigger without a user action (API Terms § 3.1) |
| RevOps scripting a Claude Code workflow | Family 3 hosted bridge (GTM API, Unipile) | Single HTTP endpoint, OAuth consent, typed tools across 12 toolsets | API key scope per account, treat quota errors as a stop, not a retry |
| Recruiter with a Recruiter seat | GTM API (Recruiter toolset) or LinkedIn Talent Solutions API directly | Calls run on your seat, no scraping, pipelines and talent pool exposed | Comply with Recruiter contract, handle checkpoints cleanly |
| Developer who wants full control | Family 1 assumed (stickerdaniel) | Widest coverage, readable code, Apache-2.0 | LinkedIn account restriction risk, isolate on a secondary account |
Two practical rules follow. First, an SDR targeting prospecting volume is best served by native enrichment, not scraping; B2B prospecting, multichannel and AI-led is built on this type of source. Second, a content creator automating publishing stays inside the `w_member_social` scope, which is what our LinkedIn content strategy 2026 guide recommends.
Three technical guardrails, non-negotiable, for any MCP stack that touches LinkedIn.
Preview, then confirm. Every publish, invite or message action is shown back to the user in text before it goes out. GTM API writes it on its page: « outward actions go through a preview → confirm step and a server-side daily-limit check before reaching LinkedIn ». This pattern is the one our data and AI expertise enforces in every agent workflow plugged into a social platform.
Server-side rate limit. LinkedIn caps invites, InMails and profile views. Treat every quota error as a stop, never as a retry loop (rule stated verbatim by Unipile).
No third-party profile storage. API Terms § 4.1: « You must not capture, copy, cache, or store any Content. » Search results are read, pushed into the next action, forgotten. No hidden profile database on the MCP side, and one API key per connected account, never a global key shared with an MCP client.
On our side, Bulldozer runs its own tools through MCP (more than 500 Bulldozer tools exposed as `mcp__bulldozer__
A LinkedIn MCP server alone solves the transport; it does not solve orchestration (which playbook, which validation, which measurement) or compliance (ToS, GDPR, AI governance). If you want to plug an AI agent into LinkedIn inside your growth stack without running the plumbing yourself, look at Bulldozer OS: AI agents connected to your tools, supervised by a Bulldozer expert, nothing goes out without human validation.
Lorem ipsum
Can't find what you're looking for ? Contact us here
jordan@bulldozer-collective.comGet access to playbooks and feedback from those who are shaping the next wave of marketing and AI.
