mcpField
M
Mcp Linkedin

Mcp Linkedin

ローカル
github.com/timkulbaevソーシャルメディア232 週間前に更新

Mcp Linkedin について

Mcp Linkedinは、Unipile経由でLinkedInに投稿するAIアシスタント向けのMCPサーバーです。投稿、コメント、リアクション、メディア添付に対応し、公開操作は通常プレビューから始まります。

主な機能

  1. 01投稿、コメント、リアクションの作成
  2. 02公開操作のデフォルトプレビュー
  3. 03画像・動画メディアの添付
  4. 04企業の@メンション解決
  5. 05メディアファイルの検証

活用シーン

  1. 01公開前にLinkedIn投稿を確認する
  2. 02画像や動画付きの投稿を公開する
  3. 03LinkedIn投稿にコメントまたはリアクションする

MCP 対応

MCP サーバーはstdio経由で、LinkedInへの投稿、コメント、リアクションのツールをMCPクライアントに提供します。操作にはUnipile APIを呼び出します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

mcp-linkedin

AI アシスタントがユーザーに代わって LinkedIn に投稿できる MCP サーバーです。

mcp-linkedin MCP server

機能

これは Unipile API をラップし、AI アシスタント(Claude Code、Claude Desktop、または MCP 対応クライアント)が LinkedIn に投稿、コメント、リアクションをできるようにする Model Context Protocol(MCP)サーバーです。コンテンツは AI が作成し、このツールが公開を処理します。すべての公開操作はデフォルトでプレビューモードになっており、明示的に確認しない限り公開されません。

特長

  • 3 つのツール:投稿、コメント、リアクション
  • デフォルトでドライラン(公開前にプレビュー)
  • 投稿直後に自動で「いいね」
  • メディア添付(ローカルファイルまたは URL — 画像と動画)
  • 会社への @メンション(Unipile が自動解決)
  • Claude Code、Claude Desktop、あらゆる MCP クライアントで動作

前提条件

  • Node.js 18 以上 — ES モジュール、node:test、トップレベル await を使用します
  • Unipile アカウント — Unipile は LinkedIn の API に接続するサービスです。登録して LinkedIn アカウントを接続し、ダッシュボードから API キーと DSN を取得してください。

インストール

git clone https://github.com/timkulbaev/mcp-linkedin.git
cd mcp-linkedin
npm install

設定

Claude Code

~/.claude/mcp.json に追加します。

{
  "mcpServers": {
    "linkedin": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-linkedin/index.js"],
      "env": {
        "UNIPILE_API_KEY": "your-unipile-api-key",
        "UNIPILE_DSN": "apiXX.unipile.com:XXXXX"
      }
    }
  }
}
Claude Desktop

(macOS の場合)~/Library/Application Support/Claude/claude_desktop_config.json に追加します。

{
  "mcpServers": {
    "linkedin": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-linkedin/index.js"],
      "env": {
        "UNIPILE_API_KEY": "your-unipile-api-key",
        "UNIPILE_DSN": "apiXX.unipile.com:XXXXX"
      }
    }
  }
}

設定ファイルを編集した後、Claude Code または Claude Desktop を再起動してください。

環境変数
変数必須説明
UNIPILE_API_KEYはいUnipile API キー(Unipile ダッシュボードから取得)
UNIPILE_DSNはいUnipile DSN(例:api16.unipile.com:14648)

これらは .env ファイルではなく、MCP 設定を介して渡されます。サーバーは起動時に process.env から読み込みます。

ツール

linkedin_publish

LinkedIn にオリジナルの投稿を作成します。

dry_run のデフォルトは true です。 まず dry_run: true で呼び出してプレビューを取得し、その後 dry_run: false で再度呼び出すと実際に公開されます。

パラメーター型必須デフォルト説明
textstringはい—投稿本文。最大 3000 文字
mediastring[]いいえ[]ローカルファイルのパスまたは URL(jpg、png、gif、webp、mp4)
mentionsstring[]いいえ[]@メンションする会社名(自動解決)
dry_runbooleanいいえtrue公開せずにプレビュー

プレビューの応答(dry_run: true):

{
  "status": "preview",
  "post_text": "Hello LinkedIn!",
  "character_count": 16,
  "character_limit": 3000,
  "media": [],
  "mentions": [],
  "warnings": [],
  "ready_to_publish": true
}

公開時の応答(dry_run: false):

{
  "status": "published",
  "post_id": "7437514186450104320",
  "post_text": "Hello LinkedIn!",
  "posted_at": "2026-03-11T15:06:04.849Z",
  "auto_like": "liked"
}

公開後、post_id を保存し、投稿 URL を組み立てます。

https://www.linkedin.com/feed/update/urn:li:activity:{post_id}/

linkedin_comment

既存の LinkedIn 投稿にコメントします。

dry_run のデフォルトは true です。

パラメーター型必須デフォルト説明
post_urlstringはい—LinkedIn の投稿 URL または生の URN(urn:li:activity:... または urn:li:ugcPost:...)
textstringはい—コメント本文
dry_runbooleanいいえtrue投稿せずにプレビュー

linkedin_react

LinkedIn 投稿にリアクションします。この操作は即時に実行され、dry_run はありません。

パラメーター型必須デフォルト説明
post_urlstringはい—LinkedIn の投稿 URL または生の URN
reaction_typestringいいえ"like"次のいずれか:like、celebrate、support、love、insightful、funny

仕組み

                    ┌──────────────────────────────────┐
                    │           mcp-linkedin            │
AI Assistant  ──►   │                                  │
(via MCP stdio)     │  Posts/Comments/Reactions  ──►  Unipile API  ──►  LinkedIn
                    └──────────────────────────────────┘
  • AI アシスタントは、stdio を介した MCP の JSON-RPC プロトコルでツールを呼び出します
  • LinkedIn OAuth を処理する Unipile API を呼び出すため、トークン管理は不要です

安全な公開ワークフロー

dry_run のデフォルト値は、誤って公開するのを防ぐために設定されています。想定される流れは次のとおりです。

  1. AI が dry_run: true(デフォルト)でツールを呼び出します
  2. プレビューを確認します:最終テキスト、文字数、メディアの検証結果、解決済みのメンション、警告
  3. 承認するか、変更を依頼します
  4. AI が dry_run: false で再度呼び出します
  5. 投稿が公開されます

dry_run はデフォルトで true です。AI が公開するには、明示的に false を設定する必要があり、その前にプレビューの手順を実施する必要があります。

メディアの処理

  • ローカルファイルパス(/path/to/image.jpg)または URL(https://example.com/img.png)を渡します
  • URL は /tmp/mcp-linkedin-media/ にダウンロードされ、公開後(成功・失敗を問わず)に削除されます
  • 対応形式:jpg、jpeg、png、gif、webp(画像)、mp4(動画)
  • アップロード前に各ファイルを検証します。ファイルが存在し、空ではなく、対応形式である必要があります
  • 検証に失敗したファイルは、プレビューの media 配列に "valid": false とエラーメッセージとともに表示されます

会社の @メンション

  • 会社名を文字列として渡します:mentions: ["Microsoft", "OpenAI"]
  • サーバーは各名前をスラッグ化し、Unipile の LinkedIn 企業検索で照合します
  • 照合された企業は、投稿テキスト内の {{0}}、{{1}} というプレースホルダーに挿入されます。LinkedIn ではこれらがクリック可能な @メンションとして表示されます
  • 投稿テキスト内に会社名が含まれている場合は、その箇所が置き換えられます。含まれていない場合は、プレースホルダーが末尾に追加されます
  • 照合できない名前は、プレビューに警告として表示されます。それらを含めずに投稿を公開することもできます。

テスト

npm test       # 28 unit tests, zero extra dependencies (Node.js built-in test runner)
npm run lint   # Biome linter

プロジェクト構成

mcp-linkedin/
  index.js                    Entry point (stdio transport)
  package.json
  src/
    server.js                 MCP server and tool registration
    unipile-client.js         Unipile API wrapper (posts, comments, reactions)
    media-handler.js          URL download and file validation
    tools/
      publish.js              linkedin_publish handler
      comment.js              linkedin_comment handler
      react.js                linkedin_react handler
  tests/
    unit.test.js              28 unit tests

Unipile アカウントの取得

  1. Unipile アカウントに登録します
  2. ダッシュボードで LinkedIn アカウントを接続します
  3. ダッシュボードの設定から API キーと DSN をコピーします
  4. MCP 設定に貼り付けます(上記の「設定」を参照)

Unipile には、基本的な利用をカバーする無料プランがあります。

ライセンス

MIT — LICENSE を参照してください。

クレジット

Timur Kulbaev が作成しました。Anthropic の Model Context Protocol と Unipile API を使用しています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。