linkedin-mcp
LinkedIn MCP
非公式の Model Context Protocol サーバー for LinkedIn — プロフィール、ネットワーク、コネクションの閲覧、人材・求人の検索、メッセージの送信を、あらゆる MCP クライアント(Claude など)から行えます。
動作モードは2つあります:
HTTP + OAuth 2.1(推奨)— サーバーは MCP クライアント向けの OAuth 2.1 認可サーバーとして動作し、LinkedIn の正式な 3-legged OAuth 同意画面にブリッジします。各ユーザーは
linkedin.comでサインインし、サーバーがパスワードを見ることはありません。stdio — 環境変数
LINKEDIN_ACCESS_TOKENを読み取るローカルサーバー。単一ユーザーや簡単なテストに便利です。
これは @aol/ifood-mcp および @aol/uber-mcp の認証アーキテクチャを踏襲しつつ、それらのリバースエンジニアリングによるログインを LinkedIn のファーストクラスの OAuth に置き換えたものです。
ツール
ツール | LinkedIn エンドポイント | 備考 |
|
| デフォルトの |
|
|
|
|
| 承認済みの connections プロダクトが必要です。 |
|
| 承認済みの profile プロダクトが必要です。 |
|
| 承認済みの search プロダクトが必要です。 |
|
| 承認済みの jobs プロダクトが必要です。 |
|
|
|
LinkedIn API アクセスについて。 標準の LinkedIn アプリでは、初期状態では OpenID Connect スコープ(
openid profile email)のみが付与されるため、linkedin_meはすぐに動作します。その他のツールが呼び出すエンドポイントは、LinkedIn が承認済みプロダクト(Sign In、Marketing、Talent Solutions など)の背後にゲートしているものです。アプリがそれらの承認を受けるまで、これらのツールは 403 を返します — これは LinkedIn プラットフォーム側の制限であり、バグではありません。承認後は、付与されたスコープをLINKEDIN_SCOPESに追加してください。
Related MCP server: Linkd MCP Server
クイックスタート(HTTP + OAuth)
1. LinkedIn アプリを作成する
https://www.linkedin.com/developers/apps にアクセス → Create app をクリック。
Auth セクションで Client ID と Client Secret をコピーします。
Authorized redirect URLs にコールバックを追加します:
http://localhost:3000/login/callback(またはPUBLIC_URL+/login/callback)。Products セクションで Sign In with LinkedIn using OpenID Connect(および必要に応じて他のプロダクト)を追加します。
2. 設定
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. 実行
npm install
npm run build
npm run start:http # or: npm run dev (tsx watch)MCP クライアントを http://localhost:3000/mcp に向けます。初回接続時に OAuth 2.1 フローが実行され、LinkedIn へのサインインにリダイレクトされた後、代理でツールを呼び出します。
クイックスタート(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 クライアント設定:
{
"mcpServers": {
"linkedin": {
"command": "node",
"args": ["/absolute/path/to/linkedin-mcpserver/build/index.js"],
"env": { "LINKEDIN_ACCESS_TOKEN": "AQV..." }
}
}
}OAuth ブリッジの仕組み
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 アクセストークンは
MCP_JWT_SECRETで署名された短命の HS256 JWT で、/mcpリソースに audience がバインドされ(RFC 8707)、ローテーション式のリフレッシュトークンを備えています。下流の LinkedIn トークンは、アプリがリフレッシュトークン承認を受けている場合は透過的に更新され、それ以外の場合はユーザーが再認証します。
すべての状態はメモリ内(単一プロセス)に保持されます。水平スケールするには
src/http/store.tsのストアを Redis/DB に置き換えてください。
環境変数
変数 | 必須 | デフォルト | 目的 |
| – |
| HTTP ポート。 |
| HTTP |
| クライアントと LinkedIn から見える URL。 |
| HTTP | – | HS256 キー(32文字以上)。 |
| HTTP | – | LinkedIn アプリのクライアント ID。 |
| HTTP | – | LinkedIn アプリのクライアントシークレット。 |
| – |
| リクエストする OAuth スコープ。 |
| – |
| OAuth コールバックの上書き。 |
| stdio | – | stdio モード用のトークン。 |
| – |
| API ホストの上書き。 |
| – | – |
|
構成
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 storesスクリプト
スクリプト | アクション |
|
|
| HTTP/OAuth サーバーを実行。 |
| stdio サーバーを実行。 |
| HTTP サーバーを |
| stdio サーバーを |
|
|
ライセンス
MIT。 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