mcpField
L
LinkedIn Model Context Protocol (MCP) Server

LinkedIn Model Context Protocol (MCP) Server

ローカル
github.com/Rayyan9477ビジネス・マーケティング2833 週間前に更新

LinkedIn Model Context Protocol (MCP) Server について

LinkedIn MCP Server は、公式 MCP Python SDK(FastMCP)で構築された MCP サーバーで、AI アシスタントから求人検索、プロフィールと企業情報の参照、履歴書とカバーレターの生成、応募管理を行えます。求職者を主な対象とし、AI 機能は任意です。

主な機能

  1. 01複数のフィルターによる求人検索
  2. 02プロフィールと企業情報の取得
  3. 03AI を用いた履歴書とカバーレターの生成
  4. 04ローカルでの応募ステータス管理
  5. 05HTML、Markdown、PDF 形式の出力

活用シーン

  1. 01キーワードと勤務地でリモート求人を検索する
  2. 02特定の求人に合わせて履歴書を調整する
  3. 03役職ごとに個別化されたカバーレターを作成する
  4. 04各ステージの応募状況を追跡する

MCP 対応

本プロジェクトは MCP サーバーであり、LinkedIn の求人、プロフィール、ドキュメント生成、応募追跡に関するツールとリソース計 13 件を MCP クライアントに提供します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

LinkedIn MCP サーバー

License: MIT Python 3.11+ MCP SDK

AI アシスタントに LinkedIn へのフルアクセスを提供する MCP サーバーです。求人検索、プロフィールや企業の閲覧、AI による履歴書とカバーレターの生成、応募のトラッキングが可能です。公式 MCP Python SDK(FastMCP)で構築されています。


できること

カテゴリ機能
求人検索フィルター(キーワード、勤務地、職種、経験レベル、リモート、掲載日)を使った検索、求人詳細の取得、おすすめの取得
プロフィールと企業任意の LinkedIn プロフィールや企業ページの取得、最適化の提案を含む AI によるプロフィール分析
履歴書生成LinkedIn プロフィールからの履歴書生成、特定の求人に合わせた履歴書のカスタマイズ、3 つの組み込みテンプレート
カバーレター各求人に合わせてパーソナライズされた AI 生成のカバーレター、2 つの組み込みテンプレート
応募トラッキングステータスのワークフロー(interested → applied → interviewing → offered/rejected/withdrawn)で応募をローカルに管理
出力形式HTML、Markdown、PDF(WeasyPrint 経由)

クイックスタート

1. インストール
# Core installation
pip install -e .

# With AI features (resume/cover letter generation, profile analysis)
pip install -e ".[ai]"

# With PDF export
pip install -e ".[pdf]"

# Everything
pip install -e ".[all]"
2. 設定
cp .env.example .env

.env に認証情報を記入してください:

[email protected]
LINKEDIN_PASSWORD=your_password
ANTHROPIC_API_KEY=sk-ant-...    # Optional — enables AI features
3. 実行

スタンドアロン:

linkedin-mcp

Claude Desktop の場合 — claude_desktop_config.json に追加します:

{
  "mcpServers": {
    "linkedin": {
      "command": "linkedin-mcp"
    }
  }
}

Claude Code の場合 — .mcp.json に追加します:

{
  "linkedin": {
    "command": "linkedin-mcp"
  }
}

ツールリファレンス

求人ツール(3)
ツールパラメータ説明
search_jobskeywords, location, job_type, experience_level, remote, date_posted, page, count豊富なフィルターで LinkedIn の求人を検索します
get_job_detailsjob_id求人情報の詳細な説明、スキル、メタデータを取得します
get_recommended_jobscountパーソナライズされた求人のおすすめを取得します
プロフィールツール(3)
ツールパラメータ説明
get_profileprofile_idLinkedIn プロフィールを取得します(自分の場合は "me")— 職歴、学歴、スキル
get_companycompany_id企業情報を取得します — 概要、規模、本社所在地、専門分野
analyze_profileprofile_id実行可能な最適化の提案を含む AI によるプロフィールレビュー
ドキュメント生成ツール(4)
ツールパラメータ説明
generate_resumeprofile_id, template, output_formatLinkedIn プロフィールから履歴書を生成します
tailor_resumeprofile_id, job_id, template, output_format特定の求人に合わせてカスタマイズした履歴書を生成します
generate_cover_letterprofile_id, job_id, template, output_format求人に合わせてパーソナライズされたカバーレターを作成します
list_templatestemplate_type利用可能なテンプレートを一覧表示します(resume、cover_letter、または all)

テンプレート: modern · professional · minimal(履歴書)| professional · concise(カバーレター) 形式: html · md · pdf

応募トラッキングツール(3)
ツールパラメータ説明
track_applicationjob_id, job_title, company, status, notes, url求人への応募のトラッキングを開始します
list_applicationsstatusトラッキング中の応募をすべて一覧表示します。任意でステータスによる絞り込みが可能です
update_application_statusjob_id, status, notes応募のステータスを更新します

ステータス値: interested · applied · interviewing · offered · rejected · withdrawn


アーキテクチャ

src/linkedin_mcp/
├── server.py                    # FastMCP entry point — 13 tools, 1 resource
├── config.py                    # Settings from .env (frozen dataclass)
├── exceptions.py                # 7-class exception hierarchy
├── models/
│   ├── linkedin.py              # Profile, Job, Company models (Pydantic v2)
│   ├── resume.py                # Resume & cover letter content models
│   └── tracking.py              # Application tracking model
├── services/
│   ├── linkedin_client.py       # LinkedIn API wrapper (async via asyncio.to_thread)
│   ├── job_search.py            # Job search with TTL caching
│   ├── profile.py               # Profile/company access with caching
│   ├── resume_generator.py      # AI-enhanced resume generation
│   ├── cover_letter_generator.py
│   ├── application_tracker.py   # Local JSON-based application tracking
│   ├── cache.py                 # Unified JSON file cache with TTL
│   ├── template_manager.py      # Jinja2 sandboxed template engine
│   └── format_converter.py      # HTML → PDF/Markdown conversion
├── ai/
│   ├── base.py                  # Abstract AI provider interface
│   └── claude_provider.py       # Anthropic Claude implementation
└── templates/
    ├── resume/                  # modern.j2, professional.j2, minimal.j2
    └── cover_letter/            # professional.j2, concise.j2
主要な設計上の決定
  • 公式 MCP SDK — 独自のプロトコル実装ではなく、@mcp.tool() デコレーターを備えた FastMCP を使用
  • 全体を通じて非同期 — すべての同期 LinkedIn API 呼び出しを asyncio.to_thread() でラップし、ブロッキングを回避
  • レイヤードアーキテクチャ — ツール → サービス → クライアント、サービス層でのキャッシュを伴う
  • AI はオプション — コアの LinkedIn 機能は Anthropic API キーなしで動作します。AI は履歴書・カバーレターの生成を強化します
  • セキュリティ強化 — Jinja2 SandboxedEnvironment、WeasyPrint の SSRF 保護、パストラバーサルガード、認証情報の秘匿化、入力検証

設定

すべての設定は環境変数から読み込まれます(.env ファイルをサポート):

変数必須デフォルト説明
LINKEDIN_USERNAMEはい—あなたの LinkedIn メールアドレス
LINKEDIN_PASSWORDはい—あなたの LinkedIn パスワード
ANTHROPIC_API_KEYいいえ—AI 機能(履歴書・カバーレターの生成、プロフィール分析)を有効化します
AI_MODELいいえclaude-sonnet-4-20250514使用する Claude モデル
DATA_DIRいいえ~/.linkedin_mcp/dataキャッシュ、トラッキングデータ、生成ファイル用のディレクトリ
CACHE_TTL_HOURSいいえ24LinkedIn API レスポンスをキャッシュする期間
LOG_LEVELいいえINFOログレベル(DEBUG、INFO、WARNING、ERROR)

開発

# Install with all dependencies
pip install -e ".[all,dev]"

# Run tests (82 tests)
pytest

# Run with coverage
pytest --cov=linkedin_mcp

# Lint
ruff check src/ tests/
テストカバレッジ

テストはすべてのレイヤーをカバーしています:設定、モデル、サービス(キャッシュ、トラッカー、求人検索、プロフィール、履歴書・カバーレターの生成、LinkedIn クライアントフォーマッター、フォーマットコンバーター)、AI プロバイダー、および MCP ツールハンドラーです。


使用例

接続したら、AI アシスタントに次のように尋ねてください:

「米国にあるリモートの Python 開発者求人を検索して」

「satyanadella のプロフィールを見せて」

「求人 3847291056 に合わせて、私の LinkedIn プロフィールから履歴書を生成して」

「簡潔なテンプレートを使って、求人 3847291056 のカバーレターを作成して」

「Google のシニアエンジニア職への応募をトラッキングして — ステータス:応募済み」

「面接段階にあるすべての応募を一覧表示して」

「私の LinkedIn プロフィールを分析して、改善点を提案して」


ライセンス

MIT

コメント

MCP は初めてですか?

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

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