LinkedIn MCP Server について
LinkedIn MCP Serverは、求人検索、プロフェッショナルへの連絡、連絡先収集を行うNode.js製MCPサーバーです。ブラウザーを自動操作し、LinkedInへの手動ログインを求めるほか、自動操作にはレート制限を設けています。
主な機能
- 01スキルや条件で求人を検索
- 02専門職を探して連絡を送信
- 03プロフィールの連絡先をExcelに出力
- 04手動ログインとレート制限
活用シーン
- 01スキルや勤務地に合う求人の検索
- 02指定企業の専門職への連絡
- 03プロフィール情報の表計算シートへの収集
MCP 対応
求人検索、コネクション依頼とメッセージ送信、連絡先のスクレイピングとExcel出力を行う3つのLinkedIn自動化ツールをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
LinkedIn MCP サーバー
LinkedIn の自動化を行う Model Context Protocol(MCP)サーバーです。求人検索、ネットワーキング、連絡先管理に役立つ3つの強力なツールを提供します。
🚀 機能
1. 求人検索ツール (find_job_openings)
- スキルに基づいて最新の求人を検索します
- 勤務地、経験レベル、雇用形態で絞り込みます
- 企業の詳細情報と直接リンクを含む、書式設定済みの求人情報を返します
2. 自動つながり申請・アプローチツール (auto_connect_and_outreach)
- 関連するプロフェッショナルを自動的に見つけてつながりを申請します
- 相手に合わせたアプローチメッセージを送信します
- 特定の職種や企業を対象にします
- LinkedIn の制限に抵触しないよう、レート制限を設けています
3. 連絡先 Excel 抽出ツール (scrape_contacts_to_excel)
- LinkedIn のプロフィールから連絡先情報を抽出します
- データを Excel スプレッドシートにエクスポートします
- プロフィールの直接 URL と検索クエリの両方に対応しています
- 名前、役職、企業、入手可能な連絡先情報を収集します
📁 プロジェクト構成
linkedin-mcp-server/
├── src/
│ ├── index.js # Main MCP server implementation
│ └── linkedin-automation.js # Core LinkedIn automation logic
├── package.json # Dependencies and scripts
├── config.example.env # Environment configuration template
└── README.md # This documentation
🛠️ インストール
前提条件
- Node.js 18.0.0 以降
- npm または yarn
- LinkedIn アカウント
セットアップ手順
-
クローンして依存関係をインストールします:
npm install -
環境を設定します(任意):
cp config.example.env .env # Edit .env with your preferences -
サーバーを起動します:
npm start
🔧 仕組み
アーキテクチャの流れ:
-
MCP サーバーのセットアップ (
src/index.js)- ツール定義を含む MCP サーバーを初期化します
- 受信したツールリクエストを処理し、適切な関数に振り分けます
- 書式設定済みの応答を MCP クライアントに返します
-
LinkedIn の自動化 (
src/linkedin-automation.js)- Puppeteer を使用して Chrome ブラウザーを操作します
- LinkedIn へのログインを処理します(セキュリティのため手動)
- ウェブスクレイピングと操作のロジックを実装します
- レート制限とエラー処理を管理します
-
ツール実行の流れ:
MCP Client → MCP Server → LinkedIn Automation → Browser → LinkedIn → Results
セキュリティとプライバシー:
- 手動ログインが必要 - パスワードは保存されません
- レート制限 - アカウントの制限を防ぎます
- ヘッドレスモードのオプション - 本番環境での使用向けです
- エラー処理 - 適切に失敗を処理します
📖 ツールの使用方法
1. 求人を検索する
{
"name": "find_job_openings",
"arguments": {
"skills": ["JavaScript", "React", "Node.js"],
"location": "San Francisco",
"experience_level": "mid",
"job_type": "full-time"
}
}
パラメーター:
skills(必須):求人情報との照合に使用するスキルの配列location(任意):希望する勤務地(デフォルト:「Remote」)experience_level(任意):「entry」、「mid」、「senior」、または「executive」job_type(任意):「full-time」、「part-time」、「contract」、または「internship」
2. 自動でつながりを申請してアプローチする
{
"name": "auto_connect_and_outreach",
"arguments": {
"target_roles": ["Software Engineer", "Frontend Developer"],
"company_names": ["Google", "Microsoft", "Apple"],
"message_template": "Hi {name}, I'm interested in opportunities at {company}. Would love to connect!",
"max_connections": 15
}
}
パラメーター:
target_roles(必須):対象とする職種・役割の配列company_names(任意):対象とする特定の企業message_template(任意):{name} と {company} のプレースホルダーを使ったカスタムメッセージmax_connections(任意):つながりを申請する最大数(デフォルト:10、最大:50)
3. 連絡先を抽出して Excel に保存する
{
"name": "scrape_contacts_to_excel",
"arguments": {
"search_query": "Product Manager at Tech Companies",
"excel_filename": "product_managers.xlsx"
}
}
特定のプロフィール URL を指定する場合:
{
"name": "scrape_contacts_to_excel",
"arguments": {
"profile_urls": [
"https://www.linkedin.com/in/johndoe/",
"https://www.linkedin.com/in/janedoe/"
],
"excel_filename": "specific_contacts.xlsx"
}
}
パラメーター:
profile_urls(任意):抽出対象となる LinkedIn プロフィール URL の配列excel_filename(任意):保存する Excel ファイル名(デフォルト:「linkedin_contacts.xlsx」)search_query(任意):プロフィールを自動検索するための検索クエリ
⚠️ 重要な注意事項
LinkedIn 利用規約
- このツールは教育目的および個人利用を想定しています
- LinkedIn のレート制限と利用規約を遵守してください
- アカウントの制限を避けるため、責任を持って使用してください
- 機能を強化するには、LinkedIn の Premium 機能の利用を検討してください
制限事項
- 連絡先情報:メールアドレスや電話番号は、LinkedIn のプライバシー設定で保護されていることがよくあります
- レート制限:LinkedIn は自動化された操作に厳しい制限を設けています
- セレクターの変更:LinkedIn がウェブサイトの構造を更新した場合、コードの更新が必要になることがあります
- アカウントのセキュリティ:アカウントのセキュリティを保つため、手動でログインしてください
ベストプラクティス
- 小規模から始める:最初は少ない上限(5~10件)でテストします
- 遅延を追加する:検出を避けるため、レート制限を守ります
- メッセージをパーソナライズする:内容に意味のあるコネクションリクエストを送ります
- 結果を監視する:成功率を確認し、それに応じて調整します
- 最新情報を確認する:LinkedIn のインターフェースは変更される場合があります
🛠️ 開発
開発モードでの実行
npm run dev
テスト
npm test
ブラウザーの設定
- 本番環境では
.envでHEADLESS_MODE=trueに設定します - 初回実行時は手動ログインのためにブラウザーが開きます
- セッションはサーバーを再起動するまで維持されます
🤝 コントリビューション
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更を加えます
- 十分にテストします
- プルリクエストを送信します
📄 ライセンス
MIT License - 詳細については LICENSE ファイルを参照してください
🔮 今後の機能強化
- LinkedIn Sales Navigator のサポート
- AI を活用した高度なメッセージテンプレート
- CRM システムとの連携
- 自動フォローアップシーケンス
- 分析・レポートダッシュボード
- 複数アカウントの管理
- Webhook 連携
免責事項:このツールは教育目的で提供されています。LinkedIn の利用規約および適用される法律を遵守する責任は、ユーザーにあります。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。