Skip to main content
Glama
vahabcore

linkedin-mcp-server

by vahabcore

LinkedIn MCP Server

License: MIT Node.js Version MCP Version Tests

프로덕션 준비가 완료된 Model Context Protocol (MCP) 서버로, AI 에이전트(Google Gemini Spark, OpenAI Codex, Claude Desktop, Cursor, Windsurf)를 공식 LinkedIn REST API에 연결합니다.

AI 에이전트가 텍스트 업데이트를 자동으로 작성하고 게시하며, 리치 링크 미리보기를 공유하고, 이미지를 업로드하고, 인터랙티브 설문을 만들고, 기존 게시물을 관리하고, 반응 및 스레드 댓글에 참여할 수 있게 합니다.

https://github.com/user-attachments/assets/cda965be-d6a2-4a37-8d3c-29a68a9959e1


기능

  • 이중 모드 MCP 전송:

    • Server-Sent Events (SSE)GET /mcpPOST /messages를 통해 Google Gemini Spark 및 Claude 같은 클라이언트를 지원합니다.

    • Streamable HTTPPOST /mcp를 통해 OpenAI Codex(rmcp) 같은 최신 커맨드라인 및 에이전트 런타임을 지원합니다.

  • 12가지 종합 도구:

    • 콘텐츠 생성: 텍스트 업데이트, 아티클 링크 미리보기 카드, 바이너리 이미지 업로드(3단계 파이프라인), 다중 선택 설문.

    • 콘텐츠 관리: URN으로 게시물 삭제, 참여 통계(좋아요, 댓글, 공유) 조회, 계정 프로필 연결 확인.

    • 소셜 참여: 반응(LIKE, CELEBRATE, LOVE, INSIGHTFUL, FUNNY, EMPATHY) 추가, 반응 삭제, 댓글 추가, 스레드 답글, 댓글 삭제.

  • 강력한 검증: 모든 도구 입력 매개변수는 Zod 스키마로 검증됩니다.

  • 엔터프라이즈 지원: 100% 엔드포인트 커버리지를 갖춘 자동화된 단위 및 통합 테스트 스위트.


Related MCP server: @isteam/linkedin-mcp

도구 참조

도구

범주

설명

매개변수

create_text_post

콘텐츠

LinkedIn 피드에 표준 텍스트 게시물을 게시합니다.

content (string, 필수)

create_link_post

콘텐츠

클릭 가능한 미리보기 카드가 있는 게시물을 게시합니다.

content (string), url (string, URL), title (string)

create_image_post

콘텐츠

URL에서 이미지를 다운로드하여 LinkedIn에 업로드하고 게시합니다.

content (string), image_url (string, URL)

create_poll_post

콘텐츠

기간을 사용자 지정할 수 있는 설문을 생성합니다.

question (string), options (string array, 2-4개 항목), duration (ONE_DAY, THREE_DAYS, ONE_WEEK, TWO_WEEKS)

delete_post

관리

Post URN을 사용하여 게시물을 삭제합니다.

post_urn (string, 예: urn:li:ugcPost:...)

get_user_profile

관리

인증된 프로필 세부 정보(이름, 회원 ID)를 검색합니다.

없음

get_post_stats

관리

참여 지표(좋아요, 댓글, 공유)를 가져옵니다.

post_urn (string)

react_to_post

참여

게시물에 반응을 추가합니다.

post_urn (string), reaction_type (LIKE, CELEBRATE, LOVE, INSIGHTFUL, FUNNY, EMPATHY)

remove_reaction

참여

게시물에서 자신의 반응을 제거합니다.

post_urn (string)

comment_on_post

참여

게시물에 최상위 댓글을 추가합니다.

post_urn (string), comment_text (string)

delete_comment

참여

자신이 작성한 댓글을 삭제합니다.

post_urn (string), comment_id (string)

reply_to_comment

참여

기존 댓글에 스레드 답글을 게시합니다.

post_urn (string), parent_comment_urn (string), reply_text (string)


설정 및 인증

1. LinkedIn 개발자 포털 설정

  1. LinkedIn Developer Portal에서 LinkedIn 애플리케이션을 생성합니다.

  2. Products 탭에서 다음에 대한 액세스를 요청합니다:

    • Share on LinkedIn (w_member_social 권한 제공)

    • Sign In with LinkedIn using OpenID Connect (openidprofile 권한 제공)

  3. Auth 탭에서 리디렉션 URL(예: https://httpbin.org/get 또는 자신의 도메인)을 추가합니다.

2. 사용자 액세스 토큰 생성

  1. 브라우저에서 인증 URL을 구성합니다:

    https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&scope=openid%20profile%20w_member_social
  2. 애플리케이션을 승인하고 리디렉션 URL에서 code 쿼리 매개변수를 복사합니다.

  3. 코드를 60일 액세스 토큰으로 교환합니다:

    curl -X POST https://www.linkedin.com/oauth/v2/accessToken \
      -d "grant_type=authorization_code" \
      -d "code=YOUR_AUTHORIZATION_CODE" \
      -d "client_id=YOUR_CLIENT_ID" \
      -d "client_secret=YOUR_CLIENT_SECRET" \
      -d "redirect_uri=YOUR_REDIRECT_URI"
  4. 회원 ID를 가져옵니다:

    curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" https://api.linkedin.com/v2/userinfo

    sub 필드는 회원 식별자입니다(예: urn:li:person:<sub_id>).


구성

샘플 환경 파일을 복사합니다:

cp .env.example .env

.env 변수를 구성합니다:

LINKEDIN_ACCESS_TOKEN=your_oauth2_access_token
LINKEDIN_AUTHOR_URN=urn:li:person:your_member_sub_id
PORT=3000

로컬 실행

# Install dependencies
npm install

# Run unit and integration tests
npm test

# Start the server
npm start

# Start in development mode (with live reload)
npm run dev

클라이언트 연동

OpenAI Codex CLI

Codex CLI를 사용하여 서버를 추가합니다:

codex mcp add linkedin --url https://your-server-domain.com/mcp

또는 ~/.codex/config.toml에 직접 추가합니다:

[mcp_servers.linkedin]
url = "https://your-server-domain.com/mcp"

Claude Desktop

claude_desktop_config.json에 추가합니다:

{
  "mcpServers": {
    "linkedin": {
      "command": "node",
      "args": ["/path/to/linkedin-mcp-server/server.js"],
      "env": {
        "LINKEDIN_ACCESS_TOKEN": "your_access_token",
        "LINKEDIN_AUTHOR_URN": "urn:li:person:your_sub_id"
      }
    }
  }
}

Google Gemini Spark

Gemini Spark 사용자 지정 애플리케이션 설정에서 공개 SSE 엔드포인트 URL을 입력합니다:

https://your-server-domain.com/mcp

배포

Railway에 배포

  1. Railway CLI를 설치합니다: npm i -g @railway/cli

  2. 프로젝트를 연결하거나 생성합니다:

    railway init
    railway up
  3. 환경 변수를 설정합니다:

    railway variable set LINKEDIN_ACCESS_TOKEN="your_token" LINKEDIN_AUTHOR_URN="urn:li:person:your_sub_id"
  4. 공개 도메인을 생성합니다:

    railway domain

개발 및 테스트

테스트 스위트는 LinkedIn API 클라이언트, 12개 도구의 등록 및 실행 핸들러, SSE / Streamable HTTP 전송을 포괄하는 62개의 자동화된 단위 및 통합 테스트로 구성됩니다.

# Run tests once
npm test

# Run tests in watch mode
npm run test:watch

라이선스

이 프로젝트는 MIT License에 따라 라이선스가 부여됩니다.

A
license - permissive license
-
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

  • 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.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

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/vahabcore/linkedin-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server