linkedin-mcp
LinkedIn MCP
비공식 Model Context Protocol 서버 for LinkedIn — 프로필, 네트워크 및 연결을 읽고, 사람과 채용 공고를 검색하고, 모든 MCP 클라이언트(Claude 등)에서 메시지를 보낼 수 있습니다.
두 가지 모드로 실행됩니다:
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), 순환 refresh 토큰을 사용합니다.다운스트림 LinkedIn 토큰은 앱이 refresh 토큰용으로 승인된 경우 투명하게 갱신되며, 그렇지 않은 경우 사용자가 다시 인증합니다.
모든 상태는 메모리에 있습니다(단일 프로세스). 수평 확장을 위해
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