Skip to main content
Sales Navigator — read 20 September 2026

Linked API MCP

A paid cloud-browser service whose tools cover messaging, connections, search, fetching, posting, engagement and Sales Navigator, plus admin tools that let an agent manage seats and rate limits. The MIT repository alone does nothing without the vendor. Two vendor-issued API tokens, not LinkedIn credentials. You sign in to LinkedIn once, by hand, inside the vendor's cloud browser.

Browser sessionHigh account riskActive
Last read
✓ Read from the repository, not from a directory listing✓ Write actions separated from read actions✓ Status derived from the last code change, not the maintainer's word✓ Every source URL published below
62 tools registered
15 write to LinkedIn
67 GitHub stars, 20 September 2026
8 clients documented
Where it fits

What it is built for, and the jobs it cannot do

The second card is the one a repository README never contains. Both are written from the project's own documentation and source, read on 20 September 2026.

Use it for

A team that has already accepted the compliance and account-risk trade-off, wants an agent to both read and act on a real LinkedIn account, and would rather pay a vendor to run the browser than operate one. The breadth is the differentiator: messaging, inbox and network monitoring, connections and invitations, four search surfaces, four fetch surfaces, posting and engagement, plus the Sales Navigator and admin sets.

Do not use it for

Anyone who needs read-only data with no account behind it — this drives a real account and most of the value is in the write tools. Not for low-latency or interactive use: actions queue and the docs say many take minutes. Not for Recruiter workflows. Not for anyone unwilling to pay per connected account, or to grant a vendor a persistent authenticated session on their LinkedIn account. Not for agents that retry failed calls automatically, because duplicate queued writes are an explicit documented failure mode.

Publisher
Linked API — the vendor of the cloud-browser service it drives — the vendor of the product it drives.
Licence
MITopen client, closed service
Version
2.3.12
Runs
Either
Transport
stdio and Streamable HTTP
Last read

Open client, closed backend. The MCP server is MIT-licensed TypeScript with full source in the repository, but it is a thin client over the vendor SDK: every LinkedIn action executes in a proprietary hosted cloud browser that is not open source and requires a paid seat.

Authentication — the thing that decides everything else

Two vendor-issued API tokens, not LinkedIn credentials. You sign in to LinkedIn once, by hand, inside the vendor's cloud browser.

A real browser signed in to your LinkedIn account, driven by the server — on your machine, or on a vendor’s.

What this route cannot do, however well the server is written

It can reach everything you can, which is the point and the problem. Section 8.2 of the User Agreement bars bots and scraping by any means, and enforcement lands on the account rather than on the software.

High account risk

The server writes to LinkedIn as you, over a route LinkedIn does not sanction. Automated messages and connection requests under a member’s own name are what the enforcement is built to catch, and the account is what it acts on.

What it does with the credential

Two tokens copied from the vendor dashboard: a workspace token and one identification token per connected LinkedIn account. They are read from environment variables, from HTTP headers, or from query parameters on the hosted endpoint. Admin tools need only the workspace token. No session cookie and no LinkedIn password is ever handled by the server — grepping the source for those returns nothing. Per the vendor's safety page you sign in to LinkedIn yourself inside your isolated cloud browser, and the vendor states it does not store the password. The session that drives LinkedIn is a real signed-in browser, which is why this is filed as a browser server rather than a vendor one.

Account risk is derived from the authentication class and from whether the server writes to LinkedIn — not judged per project. The 5 classes and the rule that maps them are on the LinkedIn MCP server directory; the ceilings LinkedIn enforces on any account, automated or not, are on LinkedIn limits. What this particular server exposes, and what it does with your credentials, is below.

Exposed tools

15 of its 15 write actions land on LinkedIn under your own account

These are the tool names the server registers, as a client sees them. An assistant can call any tool the server exposes once it is connected, so the list below is the whole surface, not a feature summary.

  • search_people
  • search_companies
  • search_jobs
  • search_posts
  • fetch_person
  • fetch_company
  • fetch_post
  • fetch_job
  • retrieve_connections
  • retrieve_pending_requests
  • retrieve_invitations
  • retrieve_feed
  • retrieve_profile_viewers
  • retrieve_ssi
  • retrieve_performance
  • check_connection_status
  • get_conversation
  • get_inbox
  • get_network
  • sync_inbox
  • sync_network
  • send_message
  • manage_conversation
  • send_connection_request
  • withdraw_connection_request
  • accept_invitation
  • ignore_invitation
  • remove_connection
  • create_post
  • comment_on_post
  • reply_to_comment
  • react_to_post
  • react_to_comment
  • nv_search_people
  • nv_search_companies
  • nv_fetch_person
  • nv_fetch_company
  • nv_get_conversation
  • nv_send_message
  • nv_sync_inbox
  • nv_manage_conversation
  • execute_custom_workflow
  • get_workflow_result
  • get_api_usage
  • send_feedback

45 of the 62 tools it registers are named above. The LinkedIn-facing tools cover search, profiles, companies, posts, jobs, messaging and connections; the rest are admin tools that manage seats, connected accounts and per-action rate limits. The vendor's published tool list omits two tools the source actually registers.

What it can read

10 read actions, written as what they return rather than as the tool signature.

  • People, company, job and post search, each with its own filters.
  • Open a profile, with optional experience, education, skills, languages, posts, comments and reactions.
  • Open a company page, with optional employees, posts and decision makers.
  • Post data with optional comments and reactions; job details including company, location, salary and description.
  • Your connections, the requests you sent that are still pending, and incoming connection, company-follow and newsletter invitations.
  • Your personalised home feed, and who viewed your profile.
  • Your Social Selling Index and your LinkedIn dashboard analytics.
  • Your degree of connection to a given person.
  • Read a standard-messaging thread, the messages across all monitored conversations, and connection events from the monitored network.
  • Sales Navigator people search, company search, profile and company page, and Sales Navigator threads — all on a Plus seat.

What it can write, and where the write lands

15 of the 15 write actions land on LinkedIn itself. Those are the rows that carry the account risk: an automated message, invitation, post or campaign change is activity under your own name, and Section 8.2 of the User Agreement bars sending it by automated means. Section 8.2 of the User Agreement ↗

ActionWhere it landsWhat it does
send_messageYour LinkedIn accountSends a LinkedIn direct message, or replies into an existing thread.
nv_send_messageYour LinkedIn accountSends a message through Sales Navigator. Plus seat.
send_connection_requestYour LinkedIn accountSends a connection request with an optional note.
withdraw_connection_requestYour LinkedIn accountWithdraws a pending request.
accept_invitationYour LinkedIn accountAccepts an incoming connection, company-follow or newsletter invitation.
ignore_invitationYour LinkedIn accountIgnores an incoming invitation.
remove_connectionYour LinkedIn accountRemoves someone from your connections.
create_postYour LinkedIn accountPublishes a new post, with optional media attachments.
comment_on_postYour LinkedIn accountLeaves a comment under your name and returns its URL.
reply_to_commentYour LinkedIn accountReplies to a comment.
react_to_postYour LinkedIn accountReacts to a post: like, love, support, celebrate, insightful or funny.
react_to_commentYour LinkedIn accountReacts to a comment.
manage_conversationYour LinkedIn accountArchives, stars or mutes a thread.
nv_manage_conversationYour LinkedIn accountArchives or unarchives a Sales Navigator thread.
execute_custom_workflowYour LinkedIn accountRuns an arbitrary vendor action definition. It can be a read or a write, so allowlisting tool names by intent does not by itself constrain the server.

Read the middle column before the third. A write that lands off LinkedIn — a vendor workspace, a CRM, a local file — is undone by deleting a row. A write that lands on LinkedIn has already been seen by another member.

Setup — easy

Installing it, in the project's own commands

Every command and every configuration block below is the project's own, copied unchanged on 20 September 2026. Where a project publishes no config block, this page says so rather than composing one — a snippet written here would be a snippet the maintainer never tested.

Hosted, Claude Code

Shell
claude mcp add linkedapi \
  --transport http \
  "https://mcp.linkedapi.io?linked-api-token={YOUR_LINKED_API_TOKEN}&identification-token={YOUR_IDENTIFICATION_TOKEN}&client=claude-code"

The README carries no install commands at all; these come from the vendor installation docs.

Local through npx, Claude Code

Shell
claude mcp add linkedapi \
  -e LINKED_API_TOKEN={YOUR_LINKED_API_TOKEN} \
  -e IDENTIFICATION_TOKEN={YOUR_IDENTIFICATION_TOKEN} \
  -- npx -y @linkedapi/mcp

Codex

Shell
codex mcp add linkedapi \
  --url "https://mcp.linkedapi.io?linked-api-token={YOUR_LINKED_API_TOKEN}&identification-token={YOUR_IDENTIFICATION_TOKEN}&client=codex"

The configuration block

Client config keys are not interchangeable, and a block pasted under the key a different client expects fails silently rather than erroring. That is why the blocks below are the project's own, in the clients it names, rather than one block normalised here.

Local install with npx

JSON
{
  "mcpServers": {
    "linkedapi": {
      "command": "npx",
      "args": ["-y", "@linkedapi/mcp"],
      "env": {
        "LINKED_API_TOKEN": "{YOUR_LINKED_API_TOKEN}",
        "IDENTIFICATION_TOKEN": "{YOUR_IDENTIFICATION_TOKEN}"
      }
    }
  }
}
What it needs before it will start

Hosted route: nothing local — paste a URL with your two tokens into the client's connector settings. Local route: Node.js and npx; the Dockerfile builds on Node 20, so that is the tested baseline, but package.json declares no engines field. Docker is optional. No local headless browser is needed, because the browser is the vendor's. Hard requirements either way: a paid seat, a real LinkedIn account connected by signing in inside the vendor's cloud browser, and for the Sales Navigator tools a Plus seat plus the account's own Sales Navigator subscription.

Clients the project documents

Claude (claude.ai and Claude Desktop, as a custom connector); Claude Desktop (local); Claude Code; ChatGPT (connector); Codex; Cursor; VS Code; Windsurf. Where the file goes in each Claude surface. The same block in Cursor. What a ChatGPT connector can and cannot reach.

How it talks to the client

stdio by default for the local package; streamable-http for the hosted endpoint.

Where the process runs

A vendor-hosted remote endpoint added as a connector URL, or run locally through npx. The repository also ships a Dockerfile. In every case the LinkedIn work still runs on the vendor's cloud, not on your machine.

What it costs to run

The vendor's own figures, quoted rather than computed

Paid, per seat, with a seven-day free trial. One seat is one connected LinkedIn account. Two plans, Core and Plus, where Plus adds the Sales Navigator actions. Read on 20 September 2026 with the default annual toggle: Core EUR 49 per seat per month, Plus EUR 74. The same page's structured data lists USD with prices of 69 and 99, and the page title reads "LinkedIn API Plans from $49/mo per Seat" — the currency and billing-period mapping is inconsistent on the vendor's own page, so treat the exact figures as approximate. Both plans advertise unlimited workflow execution.

Sales Navigator — Supported

Eight dedicated tools: Sales Navigator people search, company search, profile fetch, company fetch, message send, thread read, inbox sync and thread management. The docs state these run on a Plus seat and require the connected account to hold its own Sales Navigator subscription.

Recruiter — Not supported

Nothing in the registered tools touches Recruiter or Recruiter Lite — the word does not appear in the source. The README markets a recruitment use case, but that is served by the ordinary search, fetch and message tools.

None of the figures above are LinkedIn's. They are third-party prices in the currency and the tiering each project publishes, read on 20 September 2026 and quoted rather than converted.

The LinkedIn seat is a separate bill, and this server does not supply one. Sales Navigator Core is $119.99 per seat per month, verified 12 September 2026 every Sales Navigator tier and what it really costs, and the other servers that reach that seat.

Repository signals, read 20 September 2026

The code has moved recently

4 days between the last code change and the day these figures were read. Code changed within 90 days of the day this directory was checked.

How far the project has got

Maintained and actively shipped, but with almost no outside community. Created August 2025, around 76 commits. Engineering hygiene is present: CI on pull requests and main, pre-commit hooks, lint, strict TypeScript, a Dockerfile. There is no test directory and no test script. This is vendor-maintained surface for a paid service, not a community project.

How this status was decided

Active means code changed within 90 days of the observation date; stale means up to 365 days. It is measured from the last change to code, not to the README, and never from the maintainer's own adjective. Anything past a year is dropped from this directory rather than published as dormant.

Stars
67 — 6 forks.
Last commit
— A feature merge; the npm package was published four minutes later.
Open issues
0 — Exactly one issue has ever been filed, now closed, and it was spam. 67 stars with no real issues means essentially no third-party usage signal.
Status
Active
Observed

Every figure in this section was read from GitHub on , and star and issue counts move daily. The issue count is the Issues tab, not the API field of the same name — that one counts pull requests as issues and overstates every repository in this directory.

Credential handling and known problems

What to check before you point it at a real account

Both cards below are read from the repository and its own security documentation. A project saying what it does with a session is evidence of intent, not proof of behaviour.

What running it exposes

The write tools act as your own LinkedIn account and carry the account risk; the read tools are lower risk but are still automated access. The User Agreement prohibits using "bots or other unauthorized automated methods to access the Services, add or download contacts, send or redirect messages, create, comment on, like, share, or re-share posts", and separately prohibits software, scripts or robots used to scrape or copy the Services. Everything this server does falls under those clauses. The vendor is explicit that it is "An independent product, not affiliated with, authorized by, endorsed by, or sponsored by LinkedIn Corporation." Its stated mitigations are one dedicated, non-headless cloud browser per account on a stable residential address in your region; device-fingerprint matching; human-paced actions; and per-action daily, weekly and monthly caps you configure, which stop and return an error when hit. These are mitigations, not an exemption: an account driven by this server can still be restricted, and only the account holder bears that. One practical guardrail worth knowing: actions are queued asynchronously, and the source repeatedly warns that retrying the original tool queues duplicate work — a naive agent retry loop can send duplicate messages, connection requests, posts, comments and reactions.

How it handles your credentials

On the hosted route both long-lived tokens are passed as URL query parameters. They land in client config files and are the kind of value that ends up in proxy and application logs; the server accepts headers too, but every documented client config uses the query-string form. The server logs at info level by default and writes the full tool arguments on every call and the full result on success, so outgoing message bodies, post text and fetched profile data are written to the log stream unless the log level is raised. Admin tools are workspace-scoped and need only the workspace token: an agent holding it can change billing seats, rotate tokens, relax rate limits and irreversibly disconnect the account. The custom-workflow tool accepts an arbitrary action definition, so allowlisting by tool name does not constrain it. The vendor states it never sees or stores the LinkedIn password and that the authenticated session is unreachable even by its own team; that is a vendor claim, not something verifiable from the client source.

2 things that will waste an hour

Small, checkable and specific to this project — a stale package name, a broken link, a manifest that advertises something the code removed.

  • The vendor tool list omits two tools the source registers, including post creation.
  • Actions queue into a cloud browser and the docs say many take three to five minutes or longer.
If this is not the one

The servers that do a comparable job, and how they differ

Same rows, same sources, same observation date. The first column is this server.

Linked API MCP compared with its alternatives
 Linked API MCPv2.3.12gtm-api/linkedin-mcpv1.3.0La Growth Machine MCPno published version
Authenticates withBrowser sessionBrowser sessionBrowser session
Account riskHighHighHigh
Writes to LinkedIn15 actions19 actions3 actions
Tools registered62341
Sales Navigator toolsYesYesPartial
Recruiter toolsNoPartialNo
RunsEitherHosted by the vendorHosted by the vendor
Last code change16 September 2026 — active19 September 2026 — active13 September 2026 — active
LicenceMIT, open client, closed serviceMIT, open client, closed serviceMIT, open client, closed service
  • gtm-api/linkedin-mcp

    Browser session

    A hosted service whose meta-tools expose more than 160 LinkedIn actions, discovered at runtime, including Sales Navigator and Recruiter messaging. The ones that write reach a real account, behind a server-side preview-then-confirm gate.

    High riskActive
    stdio and Streamable HTTP3 toolsRead 20 September 2026
  • La Growth Machine MCP

    Browser session

    The operational half of an outbound platform, driven from a chat window: audiences, campaign drafts, inbox triage and SQL over your own funnel. Most of its tools never touch LinkedIn, and none of them launches a campaign.

    High riskActive
    Streamable HTTP41 toolsRead 20 September 2026
Provenance

Every page this profile was read from

11 pages — the repository, its documentation and, where one exists, the vendor's own pricing page. Nothing on this profile is summarised from another directory or from a blog post about the project.

All of them read on . A repository moves faster than a price does: if a tool list or a command here no longer matches the project, the project changed and this page has not been re-read yet.

Where to next

Read the write table before you connect it

15 of this server's actions land on LinkedIn under your own account, on a browser session. That is high account risk, and the account is what enforcement acts on.