linkedin-mcp
linkedin-mcp
Claude Code에서 자신의 LinkedIn 프로필을 편집하기 위한 MCP 서버 — 엄격한 제안 후 승인(propose-then-approve) 분리를 적용합니다. 모델은 변경 사항을 초안으로 작성하고 diff를 보여줄 수 있지만, 쓰기 작업을 수행하는 도구는 단 하나뿐이며, 사용자가 확인한 제안에 대해서만 작동합니다.
파트너 게이팅: LinkedIn의 Profile Edit API는 LinkedIn이 승인한 파트너 개발자에게만 제한됩니다 (
w_compliance는 "비공개 권한이며 선택된 개발자에게만 부여됩니다" — docs/api-notes.md 참조). 파트너 승인이 이루어지기 전까지apply_proposal은 잘못된 범위 오류를 반환합니다. 이는 결함이 아니라 예상된 동작입니다. 그 외의 모든 것(OAuth, 제안, diff)은 오늘도 정상 작동합니다.
작동 방식
도구 | 기능 | LinkedIn에 쓰기? |
| LinkedIn OAuth URL을 출력하고, 일회성 localhost 리디렉션을 수신하며, 코드를 교환하고 토큰을 저장합니다 | 아니요 (OAuth만) |
| 토큰이 존재하는지와 만료 시점을 보고합니다 | 아니요 |
| 프로필을 가져옵니다 ( | 아니요 |
| 변경 사항(헤드라인, 요약, 경력, 기술, 학력)에 대한 정확한 API 요청을 구성하고, 이를 제안으로 저장하며, 통합 diff + | 절대 |
| 저장된 제안을 나열합니다 | 아니요 |
| 저장된 제안을 삭제합니다 | 아니요 |
| 저장된 제안 하나를 LinkedIn에 보냅니다 — 유일한 쓰기 도구. 코드로 강제된 확인 게이트: | 예 |
제안은 ~/.config/linkedin-mcp/proposals/ 아래에 저장되므로 승인은 나중 세션에서도 이루어질 수 있습니다. 토큰과 클라이언트 자격 증명은 ~/.config/linkedin-mcp/.env에 권한 600으로 저장됩니다 — 사용자가 직접 입력하며, 에이전트가 입력하지 않고, 커밋되지 않습니다 (.env.example 참조).
Related MCP server: kaushik-linkedin-mcp
설치
Python ≥ 3.11 필요.
{
"mcpServers": {
"linkedin": {
"command": "bash",
"args": ["/path/to/linkedin-mcp/run.sh"]
}
}
}run.sh는 첫 실행 시 .venv/를 생성하고 고정된 의존성을 설치합니다 (스탬프 게이트 적용, 모든 부트스트랩 출력은 stderr로 전송되어 MCP stdio 채널을 깨끗하게 유지합니다).
설정
docs/SETUP-KYLE.md를 따르세요 — LinkedIn Developer 앱 생성, 리디렉션 URL 등록, ~/.config/linkedin-mcp/.env 작성, auth_start 실행, 파트너 프로그램 신청 과정을 안내합니다.
개발
bash run.sh --help # bootstraps the venv (runtime deps only)
.venv/bin/pip install -r requirements-dev.txt # adds pytest + coverage tooling
.venv/bin/python -m pytest # offline — every test runs against a mock transport테스트 스위트에는 쓰기 권한 부여 픽스처가 포함되어 있습니다: 문서화된 모든 쓰기 엔드포인트가 200을 반환하는 모의 LinkedIn입니다. 테스트는 쓰기가 성공하더라도 propose_edit이 기록된 로그에 0개의 비-GET 요청을 남기지 않음을 검증하고, (양성 대조군) 동일한 픽스처에서 apply_proposal이 문서화된 쓰기 호출을 기록함을 검증합니다. --live-probe는 진단 플래그입니다 (단일 실제 요청, "엔드포인트는 맞지만 범위가 부여되지 않음"과 "엔드포인트가 잘못됨"을 구분합니다). 테스트나 CI에서는 실행되지 않으며 LINKEDIN_MCP_LIVE_PROBE=1이 필요합니다.
API 표면은 docs/api-notes.md의 공식 문서에서 날짜가 표시된 축어적 발췌문으로 고정됩니다.
라이선스
MIT — LICENSE 참조.
This server cannot be installed
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
- AlicenseAqualityDmaintenanceEnables Claude to interact with LinkedIn for posting, commenting, sharing media, and viewing feed and profile.91773MIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude AI to interact with LinkedIn through browser automation, including profile reading, people and job search, company research, post publishing, and profile editing.MIT
- AlicenseAqualityDmaintenanceEnables posting content, sharing articles, and managing your LinkedIn profile through Claude using the official LinkedIn API with OAuth 2.0.610MIT
- AlicenseBqualityCmaintenanceEnables drafting, formatting, analyzing, and publishing LinkedIn posts directly from MCP-compatible clients like Claude.5177MIT
Related MCP Connectors
233 tools for Google, Microsoft, TikTok, LinkedIn Ads in Claude or ChatGPT. Writes need approval.
Let AI tools securely access your LinkedIn network and DMs
Live SEO workflow tools for Claude Code, Codex, and AI agents.
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/kyle-nelson-berkeley/linkedin-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server