Skip to main content
Glama
kyle-nelson-berkeley

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에 쓰기?

auth_start

LinkedIn OAuth URL을 출력하고, 일회성 localhost 리디렉션을 수신하며, 코드를 교환하고 토큰을 저장합니다

아니요 (OAuth만)

auth_status

토큰이 존재하는지와 만료 시점을 보고합니다

아니요

get_profile

프로필을 가져옵니다 (GET /v2/me)

아니요

propose_edit

변경 사항(헤드라인, 요약, 경력, 기술, 학력)에 대한 정확한 API 요청을 구성하고, 이를 제안으로 저장하며, 통합 diff + proposal_id를 반환합니다

절대

list_proposals

저장된 제안을 나열합니다

아니요

discard_proposal

저장된 제안을 삭제합니다

아니요

apply_proposal

저장된 제안 하나를 LinkedIn에 보냅니다 — 유일한 쓰기 도구. 코드로 강제된 확인 게이트: approval="approve <proposal_id>"와 함께 호출되지 않으면 거부합니다. 이 문구는 사용자가 채팅에서 diff를 검토한 후에만 제공됩니다.

제안은 ~/.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 참조.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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