CLI 및 MCP 서버로, 에이전트에게 소셜 및 비디오 콘텐츠에 대한 검색 및 읽기 접근 권한을 제공합니다
한국어는 runchr 제공 번역입니다. 원문 README는 English tool page.
linkedin-mcp-server
LinkedIn 프로필 읽기, 회사 정보 조회 등을 가능하게 하는 오픈소스 MCP 서버입니다. Claude 및 기타 MCP 호환 에이전트를 사용자의 브라우저 세션을 통해 LinkedIn에 연결합니다.
- Transport
- stdio
- Package
- mcp-server-linkedin
- Version
- latest
- Website
- https://pypi.org/project/mcp-server-linkedin/
프로젝트 README (번역)
GitHub ↗Written by the project's own authors, not by runchr. Snapshot taken 2026-10-31.
LinkedIn용 MCP 서버
자체 브라우저 세션을 통해 AI 에이전트에 LinkedIn 접근 권한을 부여하세요. 프로필을 읽고, 회사를 조사하고, 채용 공고를 찾고, 대화와 연결 요청을 관리할 수 있습니다.
이것은 독립적인 오픈소스 프로젝트이며 LinkedIn 또는 Microsoft와 제휴 관계가 없습니다. LinkedIn은 LinkedIn Corporation의 상표이며, 이 소프트웨어가 상호작용하는 서비스를 식별하기 위한 목적으로만 여기에서 사용됩니다.
LinkedIn MCP 스폰서
서버를 직접 실행하고 싶지 않으신가요? Cadenza는 웹, 데스크톱, 모바일에서 에이전트를 위한 호스팅 LinkedIn MCP 서버로, LinkedIn Classic, Sales Navigator, Recruiter 전반에 걸쳐 100개 이상의 액션을 제공합니다. 요청 한도가 내장되어 있으며, 각 액션별로 조정 가능한 분당 및 일일 예산이 있습니다.
코드 FOUNDING20을 사용하면 첫해 20% 할인을 받을 수 있습니다. Cadenza 사용해 보기 →
이 MCP 서버는 Unipile의 지원을 받습니다. Unipile은 개발자를 위한 완전 관리형 클라우드 옵션으로, Classic, Sales Navigator, Recruiter용 호스팅 LinkedIn API를 제공하며 인증, 세션, 인프라를 대신 처리합니다.
Unipile을 7일간 무료로 사용해 보기 →
설치 방법 - LinkedIn MCP 서버
도구
설명
get_person_profile
경력, 학력, 기술, 프로젝트, 자원봉사, 게시물 등 프로필 섹션을 읽습니다.
get_my_profile
다른 프로필과 동일한 섹션 선택으로 자신의 프로필을 읽습니다.
connect_with_person
선택적 메시지와 함께 연결 요청을 보내거나, 수신된 요청을 수락합니다.
get_sidebar_profiles
알 수도 있는 사람을 포함한 추천 프로필 링크를 찾습니다.
get_inbox
최근 받은편지함 대화를 나열하며, 개별 스레드를 열 수 있는 링크를 제공합니다.
get_conversation
LinkedIn 사용자 이름 또는 스레드 ID를 사용하여 대화의 메시지를 읽습니다.
search_conversations
키워드로 메시지를 검색하고 일치하는 대화 스레드 링크를 반환합니다.
archive_conversation
스레드 ID로 대화를 보관합니다. 반복 호출 시 이미 보관되었음을 보고합니다.
send_message
확인 후 전송합니다. 프로필 대상은 새 DM을 열 수 있습니다( #483 ).
get_company_profile
회사 정보를 읽으며, 게시물 및 채용 공고 섹션을 선택적으로 포함할 수 있습니다.
get_company_posts
회사 피드의 최근 게시물을 읽으며, 원본 게시물 링크를 제공합니다.
search_companies
키워드로 회사를 찾고 LinkedIn 프로필 링크를 반환합니다.
get_company_employees
회사 직원을 찾으며, 이름, 직함, 기술로 선택적으로 필터링할 수 있습니다.
search_jobs
키워드와 위치로 채용 공고를 찾으며, 상세 정보 조회를 위한 채용 ID를 제공합니다.
get_saved_jobs
저장한 채용 공고를 나열하며, 상세 정보 조회를 위한 채용 ID를 제공합니다.
dismiss_job
채용 검색에서 채용 공고를 해제하여 이후 검색에 표시되지 않도록 합니다. 되돌릴 수 없습니다.
search_people
키워드, 위치, 연결 단계, 현재 회사로 사람을 찾습니다.
get_job_details
채용 공고의 설명, 요구 사항, 회사 세부 정보를 읽습니다.
get_job_apply_url
채용 공고가 Easy Apply를 사용하는지 또는 고용주의 지원 링크로 연결되는지 확인합니다.
get_easy_apply_form
Easy Apply 양식을 읽습니다: 각 필드의 레이블, 유형, 옵션, 미리 채워진 값. 입력하거나 제출하지 않습니다.
get_feed
홈 피드의 최근 게시물을 읽으며, 원본 게시물 링크를 제공합니다.
search_posts
키워드로 게시물을 검색하며, 최신순 또는 콘텐츠 유형으로 선택적으로 필터링할 수 있습니다.
get_session_status
브라우저를 열지 않고 저장된 로그인 및 브라우저 상태를 확인합니다.
close_session
저장된 로그인을 삭제하지 않고 공유 브라우저 세션을 닫습니다.
uvx로 설정하기 (권장)
사전 요구 사항: uv를 설치하세요.
설치
MCP 클라이언트의 mcpServers 구성에 추가
{
"mcpServers" : {
"mcp-server-linkedin" : {
"command" : " uvx " ,
"args" : [ " mcp-server-linkedin@latest " ],
"env" : { "UV_HTTP_TIMEOUT" : " 300 " }
}
}
}
@latest 태그는 자동 업데이트를 활성화하여 서버가 LinkedIn의 현재 페이지 구조와 함께 계속 작동하도록 유지합니다. 서버는 빠르게 시작되며 백그라운드에서 ~/.linkedin-mcp/patchright-browsers 아래에 공유 Patchright Chromium 브라우저 캐시를 준비합니다. 인증이 필요한 첫 번째 도구 호출 시, 로그인된 로컬 브라우저에서 LinkedIn 세션을 찾으면 재사용하고, 그렇지 않으면 LinkedIn 로그인 브라우저 창을 엽니다.
AI 에이전트인가요? 자동 업데이트를 활성화하기 전에 사용자로부터 빠른 확인을 받으세요.
참고
브라우저 설정 또는 로그인이 완료될 때까지 초기 도구 호출은 설정/인증 진행 중 오류를 반환할 수 있습니다. 세션을 명시적으로 생성하려면 uvx mcp-server-linkedin@latest --login 을 실행하세요.
설정 도움말
🔧 구성
전송 모드
기본(stdio): 로컬 MCP 서버를 위한 표준 통신
Streamable HTTP: 웹 기반 MCP 서버용
전송이 지정되지 않은 경우 서버는 기본적으로 stdio를 사용합니다
명시적 전송 없이 대화형 터미널에서는 선택 프롬프트가 표시됩니다
CLI 옵션
세션:
--login - 브라우저를 열어 로그인하고 세션을 저장합니다
--import-from-browser [BROWSER] - 로컬에 로그인된 Chromium 브라우저(chrome, chromium, brave, edge, arc, vivaldi, helium, yandex, whale, coccoc, opera, opera_gx, auto)에서 세션을 재사용합니다. 플래그만 사용하면 auto를 선택하며, 이는 활성 LinkedIn 세션이 있는 가장 최근 사용 브라우저입니다.
--auto-import / --no-auto-import - 인증이 필요한 첫 번째 도구 호출 시 수동 로그인으로 넘어가기 전에 로그인된 로컬 브라우저에서 세션을 가져옵니다(기본값: 켜짐). Docker, 프록시 뒤, 비루프백 HTTP 바인드에서는 건너뜁니다. macOS에서는 키체인이 한 번 프롬프트할 수 있습니다.
--logout - 저장된 세션을 지웁니다
--login-viewer - Docker 전용: --login 브라우저를 포트 6080의 토큰 보호 URL에 표시합니다(인증 참조)
--user-data-dir PATH - 브라우저 프로필 디렉터리(기본값: ~/.linkedin-mcp/profile). 세션을 교체하거나 지우면 이 디렉터리와 상위 디렉터리가 삭제되며, 여기에 저장된 쿠키와 파생 프로필이 포함됩니다.
--claim-profile-root - 서버가 자체적으로 점유하지 않는 프로필 디렉터리를 인수합니다(예: 상위 디렉터리에 이미 다른 파일이 있는 경우). 디렉터리당 한 번 필요합니다.
전송:
--transport {stdio,streamable-http} - 전송 모드를 강제합니다(기본값: stdio)
--host HOST / --port PORT / --path PATH - HTTP 서버 주소(기본값: 127.0.0.1, 8000, /mcp)
타임아웃:
--timeout MS - 단일 페이지 작업의 타임아웃(기본값: 5000)
--tool-timeout SECONDS - 전체 도구 호출의 타임아웃(기본값: 180). 많은 페이지를 읽는 호출, 느린 네트워크, 콜드 스타트 브라우저의 경우 값을 높이세요.
--login-timeout SECONDS - 로그인 브라우저가 로그인 완료를 기다리는 시간(기본값: 1800; 0 = 제한 없음). --login-viewer는 어느 경우든 30분 후 세션을 종료합니다.
--login-inline-wait SECONDS - 도구 호출이 모델에 재시도를 알리기 전에 로그인 완료를 기다리는 시간(기본값: 25, 최대 45; 0 = 즉시 반환)
공유 브라우저:
--browser-wait SECONDS - 다른 서버 프로세스가 공유 브라우저를 넘겨줄 때까지 기다리는 시간(기본값: 25, 최대 45; 0 = 즉시 사용 중 보고). 여러 MCP 클라이언트가 동시에 실행될 때만 중요합니다.
--browser-min-hold SECONDS - 이 프로세스가 공유 브라우저를 넘겨주기 전에 유지하는 최소 시간(기본값: 20). --browser-wait보다 3초 낮게 제한되므로, 함께 높이세요. 값이 높을수록 브라우저 재시작은 줄지만 다른 클라이언트의 대기 시간이 길어집니다.
--browser-idle-timeout SECONDS - 도구 호출 없이 이 시간이 지나면 유휴 브라우저를 닫고 프로필을 해제합니다(기본값: 600; 0 = 계속 열어 둠)
브라우저:
--no-headless - 브라우저 창을 표시합니다(디버깅에 유용)
--chrome-path PATH - Chrome/Chromium 실행 파일 경로
--proxy-server URL - scheme://host:port 형식으로 프록시를 통해 브라우저 트래픽을 라우팅합니다. --login 전에 설정하세요. 프록시 사용 참조.
기타:
--log-level {DEBUG,INFO,WARNING,ERROR} - 로깅 수준(기본값: WARNING)
일상 브라우저에서 세션 가져오기
Chrome, Chromium, Brave, Edge, Arc, Vivaldi, Helium, Yandex, Naver Whale, Cốc Cốc, Opera, Opera GX에서 이미 LinkedIn에 로그인되어 있다면 수동 --login 단계를 건너뛰고 해당 세션을 재사용할 수 있습니다:
# 활성 LinkedIn 세션이 있는 가장 최근 사용 브라우저 자동 선택
uvx mcp-server-linkedin@latest --import-from-browser
# 또는 특정 브라우저 지정
uvx mcp-server-linkedin@latest --import-from-browser brave
이것은 브라우저의 LinkedIn 쿠키를 읽고, 피드에 대해 검증한 후, --login이 기록하는 것과 동일한 위치인 ~/.linkedin-mcp/profile/ 에 저장합니다. 참고:
여러 브라우저에 로그인되어 있는 경우, 가장 최근에 사용된 활성 LinkedIn 세션이 먼저 시도됩니다. LinkedIn이 이를 거부하면(취소 또는 원격 로그아웃), 다음으로 최근 것이 자동으로 시도됩니다. 서버가 수락하는 첫 번째 세션이 가져와집니다. 선택 프롬프트는 없습니다. 특정 브라우저를 대상으로 하려면 브라우저 이름을 전달하세요.
macOS에서는 OS 키체인이 브라우저의 Safe Storage 접근 허용을 요청할 수 있습니다. 가장 안정적인 읽기를 위해 소스 브라우저를 먼저 닫으세요.
Chrome 127+ 앱 바운드 암호화(v20)로 보호된 쿠키는 OS 권한 상승 없이는 복호화할 수 없습니다. 이 경우 --login을 사용하세요.
가져온 쿠키는 실제 로그인의 디스크상 세트와 일치합니다. 로컬 서버는 저장된 프로필에서 이를 완전히 다시 읽습니다. Docker 브리지는 일반 세션에 사용하는 것과 동일한 최소 인증 하위 집합으로 좁힙니다.
HTTP 모드 및 디버깅
기본 사용 예시:
# 디버그 로깅으로 실행
uvx mcp-server-linkedin@latest --log-level DEBUG
HTTP 모드 예시(웹 기반 MCP 클라이언트용):
uvx mcp-server-linkedin@latest --transport streamable-http --host 127.0.0.1 --port 8080 --path /mcp
런타임 서버 로그는 FastMCP/Uvicorn에서 출력됩니다.
도구 호출은 공유 LinkedIn 브라우저 세션을 보호하기 위해 직렬화됩니다. 이는 하나의 서버 프로세스 내에서 그리고 별도의 프로세스 간에도 적용됩니다. 여러 MCP 클라이언트를 동시에 실행하면 각각 자체 서버 프로세스를 시작하며, 한 번에 하나만 브라우저를 사용합니다. 나머지는 잠시 대기하고 해당 프로세스가 호출을 마치면 즉시 인수합니다. 너무 오래 기다린 클라이언트는 "browser is busy" 메시지를 받고 단순히 재시도할 수 있습니다. 대기/획득/해제 로그를 보려면 --log-level DEBUG를 사용하세요.
이는 동일한 머신 및 동일한 런타임의 프로세스에 적용됩니다. 동일한 ~/.linkedin-mcp 디렉터리를 공유하는 호스트와 Docker 컨테이너 간에는 확장되지 않으므로, 컨테이너가 실행 중일 때 호스트에서 --login 또는 --logout을 실행하지 마세요.
mcp inspector로 테스트:
mcp inspector 설치 및 실행: bunx @modelcontextprotocol/inspector
미리 채워진 토큰 URL을 클릭하여 브라우저에서 inspector 열기
Transport Type으로 Streamable HTTP 선택
URL을 http://localhost:8080/mcp로 설정
Connect
도구 테스트
❗ 문제 해결
설치 문제
uv가 설치되어 있는지 확인하세요: curl -LsSf https://astral.sh/uv/install.sh | sh
uv 버전 확인: uv --version (0.4.0 이상이어야 함)
첫 실행 시 uvx가 모든 Python 종속성을 다운로드합니다. 느린 연결에서는 uv의 기본 30초 HTTP 타임아웃이 너무 짧을 수 있습니다. 위의 권장 구성은 이미 UV_HTTP_TIMEOUT=300(초)을 설정하여 이를 방지합니다.
Windows, _greenlet 임포트 중 DLL 로드 실패: greenlet 3.5.5 이상으로 이동하세요. 게시된 Windows 휠에 C++ 런타임이 다시 확장 내에 포함되어 있습니다. 새 uvx 실행은 이를 자체적으로 해결하며, 종속성을 고정하는 환경은 uv lock --upgrade-package greenlet이 필요합니다. greenlet 3.3.1부터 3.5.4까지만 MSVCP140.dll이 필요하며, python.org 설치 프로그램과 uv 관리 빌드 모두 이를 포함하지 않으며, 소스에서 빌드한 greenlet은 어느 버전에서든 필요할 수 있습니다. 버전을 이동할 수 없는 경우 Microsoft Visual C++ Redistributable이 해당 DLL을 제공합니다. greenlet#525로 보고되었으며 greenlet#526에서 수정되었습니다.
세션 문제
브라우저 프로필은 ~/.linkedin-mcp/profile/에 저장됩니다
관리형 브라우저 다운로드는 ~/.linkedin-mcp/patchright-browsers/에 캐시됩니다
브라우저 캐시가 계속 커짐: 서버 업그레이드로 새 Chromium 리비전이 제공될 수 있으며, Patchright는 설치된 버전이 여전히 참조하는 한 이전 리비전을 유지합니다. uvx는 실행한 모든 버전당 하나의 아카이브를 유지하므로, 각 아카이브가 그러한 참조를 보유하고 이전 리비전이 남아 있습니다. 서버는 보유 중인 리비전과 차지하는 공간을 명시한 경고를 기록합니다. 공간을 회수하려면 모든 LinkedIn MCP 서버 인스턴스를 중지하고 ~/.linkedin-mcp/patchright-browsers/를 삭제하세요,…
Other tools that do the same work
웹을 탐색하고, 코드를 작성하며, 작업을 계획하는 완전 로컬 자율 에이전트입니다.
에이전트를 수천 개의 Apify 스크래퍼에 연결하여 웹 데이터를 추출하세요.
Agent stacks with this tool(1)View graph
LinkedIn MCP 서버와 Codex를 기반으로 구축된 LinkedIn 리서치 및 아웃리치 에이전트
From README links그들은 탭 사이를 복사-붙여넣기하지 않고도 LinkedIn 리서치의 지루한 1차 작업을 수행할 수 있는 에이전트를 원했습니다. 오픈소스 linkedin-mcp-server를 사용해, 자신이 로그인한 브라우저 세션을 통해 LinkedIn 작업을 에이전트에 노출한 뒤 Codex에서 이를 구동했습니다. 에이전트는 타깃 기업과
View stack
No comments yet.
to comment.