mcpField
J
JobSpy MCP Server

JobSpy MCP Server

本地服务
github.com/borgius商业与营销12333 周前更新

关于 JobSpy MCP Server

JobSpy MCP Server 是一个 MCP 服务,让 Claude 等 AI 助手可以跨多个招聘平台搜索职位。它以 JobSpy 工具为基础,返回结构化的职位数据。

主要功能

  1. 01跨多个招聘平台搜索职位
  2. 02支持按关键词、地点和发布时间筛选
  3. 03返回 JSON 或 CSV 格式结果
  4. 04支持 stdio 与 SSE 传输方式

适用场景

  1. 01让 AI 助手按条件查找近期发布的职位
  2. 02汇总 Indeed 与 LinkedIn 等平台的职位信息
  3. 03为网页应用提供通过 SSE 调用的职位搜索接口

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 服务

一种模型上下文协议(MCP)服务,可让 Claude 等 AI 助手使用 JobSpy 工具跨多个招聘平台搜索职位。

功能

  • 跨多个平台搜索职位(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 的访问令牌(如有需要)none
PORTMCP 服务的端口9423
HOSTHTTP 服务的主机'0.0.0.0'
ENABLE_SSE启用 Server-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 传输)

服务提供 HTTP 端点,供 Web 应用与 JobSpy MCP 服务交互:

  • 连接以获取更新: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_descriptionboolean是否获取 LinkedIn 职位描述(速度较慢)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 支持

提供了一个 Dockerfile,可将 MCP 服务容器化:

# 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。