Skip to main content
Glama
MCP-Layer

linkedin-mcp-server

by MCP-Layer

LinkedIn MCP サーバー

ライセンス: MIT Node.js バージョン MCP バージョン テスト

本番環境対応の 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 トランスポート:

    • サーバー送信イベント (SSE): Google Gemini Spark や Claude などのクライアント向けに GET /mcp と POST /messages 経由で提供。

    • ストリーミング可能 HTTP: OpenAI Codex (rmcp) などの最新のコマンドラインおよびエージェントランタイム向けに POST /mcp 経由で提供。

  • 12 の包括的なツール:

    • コンテンツ作成: テキスト更新、記事リンクプレビューカード、バイナリ画像アップロード(3 ステップパイプライン)、多肢選択投票。

    • コンテンツ管理: URN による投稿の削除、エンゲージメント統計(いいね、コメント、シェア)の取得、アカウントプロフィール接続の確認。

    • ソーシャルエンゲージメント: リアクションの追加(LIKE、CELEBRATE、LOVE、INSIGHTFUL、FUNNY、EMPATHY)、リアクションの削除、コメントの追加、スレッド内での返信、コメントの削除。

  • 堅牢なバリデーション: すべてのツール入力パラメータに Zod スキーマを採用。

  • エンタープライズ対応: エンドポイントを 100% カバーする自動化された単体テストおよび統合テストスイート。


Related MCP server: @isteam/linkedin-mcp

ツールリファレンス

ツール

カテゴリ

説明

パラメータ

create_text_post

コンテンツ

標準テキスト投稿を LinkedIn フィードに公開する

content (文字列, 必須)

create_link_post

コンテンツ

クリック可能なプレビューカード付きの投稿を公開する

content (文字列), url (文字列, URL), title (文字列)

create_image_post

コンテンツ

URL から画像をダウンロードし、LinkedIn にアップロードして公開する

content (文字列), image_url (文字列, URL)

create_poll_post

コンテンツ

期間をカスタマイズ可能な投票を作成する

question (文字列), options (文字列配列, 2-4 項目), duration (ONE_DAY, THREE_DAYS, ONE_WEEK, TWO_WEEKS)

delete_post

管理

投稿 URN を使用して投稿を削除する

post_urn (文字列, 例: urn:li:ugcPost:...)

get_user_profile

管理

認証済みプロフィールの詳細(名前、メンバー ID)を取得する

なし

get_post_stats

管理

エンゲージメント指標(いいね、コメント、シェア)を取得する

post_urn (文字列)

react_to_post

エンゲージメント

投稿にリアクションを追加する

post_urn (文字列), reaction_type (LIKE, CELEBRATE, LOVE, INSIGHTFUL, FUNNY, EMPATHY)

remove_reaction

エンゲージメント

投稿から自分のリアクションを削除する

post_urn (文字列)

comment_on_post

エンゲージメント

投稿にトップレベルのコメントを追加する

post_urn (文字列), comment_text (文字列)

delete_comment

エンゲージメント

自分が行ったコメントを削除する

post_urn (文字列), comment_id (文字列)

reply_to_comment

エンゲージメント

既存のコメントにスレッド返信を投稿する

post_urn (文字列), parent_comment_urn (文字列), reply_text (文字列)


セットアップと認証

1. LinkedIn デベロッパーポータルのセットアップ

  1. LinkedIn デベロッパーポータル で LinkedIn アプリケーションを作成します。

  2. プロダクト タブで、以下へのアクセスをリクエストします:

    • Share on LinkedIn (w_member_social 権限を提供)

    • Sign In with LinkedIn using OpenID Connect (openid および profile 権限を提供)

  3. 認証 タブで、リダイレクト 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 / ストリーミング可能 HTTP トランスポートをカバーする 62 の自動化された単体テストおよび統合テストが含まれています。

# Run tests once
npm test

# Run tests in watch mode
npm run test:watch

ライセンス

このプロジェクトは MIT ライセンス の下でライセンスされています。

Related MCP Connectors

Related MCP Servers