linkedin-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@linkedin-mcpFind me data analyst jobs in London"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
LinkedIn MCP
Unofficial Model Context Protocol server for LinkedIn — read your profile, network and connections, search people and jobs, and send messages from any MCP client (Claude, etc.).
It runs in two modes:
HTTP + OAuth 2.1 (recommended) — the server is an OAuth 2.1 authorization server for MCP clients and bridges to LinkedIn's real 3‑legged OAuth consent screen. Each user signs in on
linkedin.com; the server never sees their password.stdio — a local server that reads a
LINKEDIN_ACCESS_TOKENfrom the environment. Handy for a single user or quick testing.
This mirrors the auth architecture of @aol/ifood-mcp and @aol/uber-mcp, swapping their reverse‑engineered logins for LinkedIn's first‑class OAuth.
Tools
Tool | LinkedIn endpoint | Notes |
|
| Works with the default |
|
| Needs |
|
| Needs an approved connections product. |
|
| Needs an approved profile product. |
|
| Needs an approved search product. |
|
| Needs an approved jobs product. |
|
| Needs |
LinkedIn API access. Out of the box, a standard LinkedIn app only grants the OpenID Connect scopes (
openid profile email), solinkedin_meworks immediately. The other tools call endpoints that LinkedIn gates behind approved products (Sign In, Marketing, Talent Solutions, etc.). Until your app is approved for those, those tools will return 403 — this is a LinkedIn platform restriction, not a bug. Add the granted scopes toLINKEDIN_SCOPESonce approved.
Related MCP server: Linkd MCP Server
Quick start (HTTP + OAuth)
1. Create a LinkedIn app
Go to https://www.linkedin.com/developers/apps → Create app.
Under Auth, copy the Client ID and Client Secret.
Add your callback under Authorized redirect URLs:
http://localhost:3000/login/callback(orPUBLIC_URL+/login/callback).Under Products, add Sign In with LinkedIn using OpenID Connect (and any others you need).
2. Configure
cp .env.example .env
# then edit .env:
# MCP_JWT_SECRET=$(openssl rand -hex 32)
# LINKEDIN_CLIENT_ID=...
# LINKEDIN_CLIENT_SECRET=...
# PUBLIC_URL=http://localhost:30003. Run
npm install
npm run build
npm run start:http # or: npm run dev (tsx watch)Point your MCP client at http://localhost:3000/mcp. On first connect it runs
the OAuth 2.1 flow, redirects you to LinkedIn to sign in, and then calls tools
on your behalf.
Quick start (stdio)
cp .env.example .env
# set LINKEDIN_ACCESS_TOKEN=... (e.g. from the LinkedIn developer console token generator)
npm install && npm run build
npm startMCP client config:
{
"mcpServers": {
"linkedin": {
"command": "node",
"args": ["/absolute/path/to/linkedin-mcpserver/build/index.js"],
"env": { "LINKEDIN_ACCESS_TOKEN": "AQV..." }
}
}
}How the OAuth bridge works
MCP client ──/authorize──▶ this server ──302──▶ /login ──▶ /login/start
│
302 ▼ linkedin.com/oauth/v2/authorization
user signs in on LinkedIn
│
/login/callback ◀──302 code&state──────────────────────┘
│ exchange code → LinkedIn access + refresh token
│ fetch /v2/userinfo → stable member id (sub)
│ store tokens per‑user, mint an MCP auth code
▼
MCP client ──/token──▶ this server ──▶ HS256 JWT (audience‑bound to /mcp)
MCP client ──/mcp (Bearer JWT)──▶ tools call LinkedIn with the member's tokenMCP access tokens are short‑lived HS256 JWTs signed with
MCP_JWT_SECRET, audience‑bound to the/mcpresource (RFC 8707), with rotating refresh tokens.Downstream LinkedIn tokens are refreshed transparently when the app is approved for refresh tokens; otherwise the user re‑authenticates.
All state is in memory (single process). Swap the stores in
src/http/store.tsfor Redis/DB to scale horizontally.
Environment
Var | Required | Default | Purpose |
| – |
| HTTP port. |
| HTTP |
| URL the client + LinkedIn see. |
| HTTP | – | HS256 key (≥32 chars). |
| HTTP | – | LinkedIn app client id. |
| HTTP | – | LinkedIn app client secret. |
| – |
| OAuth scopes to request. |
| – |
| OAuth callback override. |
| stdio | – | Token for stdio mode. |
| – |
| API host override. |
| – | – |
|
Layout
src/
index.ts stdio server + tool catalog + executeTool + TokenProvider
http-server.ts remote MCP server (Streamable HTTP + OAuth 2.1)
http/
provider.ts LinkedInOAuthProvider (OAuthServerProvider, HS256 JWTs)
login-router.ts /login → LinkedIn consent → /login/callback
linkedin-auth.ts LinkedIn OAuth client (authorize / token / userinfo)
session-provider.ts per-user token lookup + transparent refresh
store.ts in-memory OAuth + downstream token storesScripts
Script | Action |
| Compile to |
| Run the HTTP/OAuth server. |
| Run the stdio server. |
|
|
|
|
|
|
License
MIT. See LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables seamless interaction with LinkedIn for job applications, profile retrieval, feed browsing, and resume analysis through natural language commands.31
- AlicenseAqualityDmaintenanceAn unofficial Model Context Protocol server that enables programmatic access to LinkedIn data through tools like user search, company search, profile enrichment, and contact retrieval.87173ISC
- FlicenseNot gradedqualityDmaintenanceA comprehensive Model Context Protocol server that enables AI assistants to interact with LinkedIn APIs for profile management, content creation, networking, messaging, and analytics.2
- AlicenseAqualityFmaintenanceAn unofficial Model Context Protocol server that provides LinkedIn tools for searching users, enriching profiles, retrieving contact information, and conducting deep research through natural language interfaces.5135MIT
Related MCP Connectors
Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.
MCP server for LeadDelta — manage LinkedIn connections and CRM data via AI assistants.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AriOliv/linkedin-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server