mcpField
J
JobSpy MCP Server

JobSpy MCP Server

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

JobSpy MCP Server について

JobSpy MCP Server は、Claude などのアシスタントが複数の求人サイトを横断して求人を検索できるようにする MCP サーバーです。JobSpy ツールを基盤とし、モデルが処理しやすい構造化された求人データを返します。

主な機能

  1. 01複数の求人サイトを横断した検索
  2. 02検索語・勤務地・掲載期間による絞り込み
  3. 03JSON または CSV 形式での結果出力
  4. 04stdio と SSE のトランスポート対応

活用シーン

  1. 01AI アシスタントによる最近掲載された求人の検索
  2. 02Indeed と LinkedIn の求人情報の一括取得
  3. 03SSE 経由で Web クライアントに求人検索機能を提供

MCP 対応

本プロジェクトは MCP サーバーとして、MCP クライアントに search_jobs ツールを公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"jobspy-mcp-server-borgius": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
起動コマンドdocker run -i --rm build

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocibuild

ツール

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

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

詳細

JobSpy MCP サーバー

JobSpy ツールを使用して、Claude などの AI アシスタントが複数の求人掲載プラットフォームで求人を検索できるようにする Model Context Protocol(MCP)サーバーです。

機能

  • 複数のプラットフォーム(Indeed、LinkedIn、Glassdoor など)で求人を検索
  • 検索語、場所、期間などで絞り込み
  • AI モデルが簡単に処理できる構造化された求人データを取得
  • 結果を JSON または CSV 形式で出力
  • 複数の通信方式に対応:Claude との統合には stdio、Web クライアントには SSE

前提条件

  • Node.js 16+
  • Python 3.6+
  • JobSpy ツールがインストールされ、利用可能であること

インストール

# Clone the repository
git clone https://github.com/borgius/jobspy-mcp-server.git
cd jobspy-mcp-server

# Install dependencies
npm install

# Make sure the JobSpy tool is properly set up
cd ../jobSpy
pip install -r requirements.txt
chmod +x run.sh

設定

サーバーは、標準的な場所にある JobSpy スクリプトを自動的に検索します。

  • ../jobSpy/run.sh(サーバーディレクトリからの相対パス)
  • ./run.sh(現在のディレクトリ)
  • /app/run.sh(Docker 環境用)
環境変数

以下の環境変数を使用してサーバーを設定できます。

環境変数説明デフォルト
JOBSPY_DOCKER_IMAGEJobSpy に使用する Docker イメージjobspy
JOBSPY_ACCESS_TOKENJobSpy API のアクセストークン(必要な場合)なし
PORTMCP サーバーのポート9423
HOSTHTTP サーバーのホスト'0.0.0.0'
ENABLE_SSEServer-Sent Events 通信を有効にする0

設定値の指定

これらの設定値は、複数の方法で指定できます。

1. 環境変数を直接使用する
export JOBSPY_DOCKER_IMAGE=jobspy
export JOBSPY_HOST='0.0.0.0'
export JOBSPY_PORT=9423
export ENABLE_SSE=1
2. .env ファイルを使用する

ルートディレクトリに .env ファイルを作成し、設定を記述します。

JOBSPY_DOCKER_IMAGE=jobspy
JOBSPY_HOST='0.0.0.0'
JOBSPY_PORT=9423
ENABLE_SSE=1

使用方法

サーバーを起動する
npm start
Claude Desktop に接続する

以下を Claude Desktop の設定ファイル(通常は ~/Library/Application Support/Claude/claude_desktop_config.json)に追加します。

{
  "mcpServers": {
    "jobspy": {
      "command": "node",
      "args": ["/path/to/jobspy-mcp-server/src/index.js"],
      "env": {
        "ENABLE_SSE": 0
      }
    }
  }
}
Web クライアントで使用する(SSE 通信)

このサーバーは、Web アプリケーションが JobSpy MCP サーバーとやり取りできる HTTP エンドポイントを公開します。

  • 更新情報を受信する:GET /mcp/connect

    • リアルタイムの更新情報を受信するための Server-Sent Events(SSE)接続を確立します
    • 進行状況の更新情報と求人検索結果を返します
  • リクエストを送信する:POST /mcp/request

    • MCP 形式のツール呼び出しリクエストを受け付けます
    • ツールの応答を返します

ブラウザー向けの JavaScript クライアントの例:

// Connect to SSE endpoint
const eventSource = new EventSource('http://localhost:9423/mcp/connect');

// Listen for updates
eventSource.onmessage = function(event) {
  const data = JSON.parse(event.data);
  console.log('Received update:', data);
  
  // Handle progress updates
  if (data.type === 'progress') {
    updateProgressBar(data.progress);
  }
};

// Send a search request
async function searchJobs() {
  const response = await fetch('http://localhost:9423/mcp/request', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      tool: 'search_jobs',
      params: {
        search_term: 'software engineer',
        location: 'San Francisco, CA',
        site_names: 'indeed,linkedin'
      }
    })
  });
  
  return await response.json();
}
API の使用方法

サーバーは以下のエンドポイントを公開します。

求人を検索する
GET /search

クエリパラメーター:

  • site_names:検索する求人サイトのカンマ区切りリスト
  • search_term:検索する語句
  • location:求人の勤務地
  • その他、必要に応じて JobSpy のパラメーターを指定
利用可能なツール
search_jobs

さまざまな求人掲載ウェブサイトで求人を検索します。

パラメーター:

パラメーター型説明デフォルト
site_namesstring検索する求人サイトのカンマ区切りリスト(indeed,linkedin,zip_recruiter,glassdoor,google,bayt,naukri)"indeed"
search_termstring求人の検索語句"software engineer"
locationstring求人検索の勤務地"San Francisco, CA"
google_search_termstringGoogle 固有の検索語句null
results_wantedinteger希望する検索結果の件数20
hours_oldinteger求人の経過時間の上限72
country_indeedstringIndeed 検索の対象国"USA"
linkedin_fetch_descriptionbooleanLinkedIn の求人情報を取得するかどうか(時間がかかります)false
formatstring出力形式(json または csv)"json"
outputstring拡張子を除いた出力ファイル名"jobs"

Claude での使用例:

I need to find senior software engineer jobs in Boston posted in the last 24 hours on both LinkedIn and Indeed.

Docker のサポート

MCP サーバーをコンテナ化するための Dockerfile が用意されています。

# Build the Docker image
docker build -t jobspy-mcp-server .

# Run the container
docker run -p 9423:9423 jobspy-mcp-server

開発

開発モードで実行する
npm run dev
Running tests
npm test
curl -X POST "http://localhost:9423/api" \
  -H "Content-Type: application/json" \
  -d '{
    "method": "search_jobs",
    "params": {
      "search_term": "software engineer",
      "location": "San Francisco, CA",
      "site_names": "indeed,linkedin",
      "results_wanted": 10,
      "format": "json"
    }
  }'

License

MIT

コメント

MCP は初めてですか?

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

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