JobSpy MCP Server

JobSpy MCP Server

MCP服务器,用于搜索多个招聘平台上的职位

borgius

研究与数据
访问服务器

README

JobSpy MCP 服务器

一个模型上下文协议 (MCP) 服务器,它使像 Claude 这样的人工智能助手能够使用 JobSpy 工具在多个招聘平台上搜索工作。

特性

  • 跨多个平台(Indeed、LinkedIn、Glassdoor 等)搜索工作
  • 按搜索词、位置、时间范围等进行过滤
  • 获取 AI 模型可以轻松处理的结构化工作数据
  • 将结果格式化为 JSON 或 CSV
  • 多种传输选项:用于 Claude 集成的 stdio,用于 Web 客户端的 SSE

前提条件

  • Node.js 16+
  • Python 3.6+
  • 已安装并可用的 JobSpy 工具

安装

# 克隆存储库
git clone https://github.com/yourusername/jobspy-mcp-server.git
cd jobspy-mcp-server

# 安装依赖项
npm install

# 确保 JobSpy 工具已正确设置
cd ../jobSpy
pip install -r requirements.txt
chmod +x run.sh

配置

服务器将自动尝试在标准位置查找 JobSpy 脚本:

  • ../jobSpy/run.sh(相对于服务器目录)
  • ./run.sh(在当前目录中)
  • /app/run.sh(对于 Docker 环境)

环境变量

您可以使用以下环境变量配置服务器:

环境变量 描述 默认值
JOBSPY_DOCKER_IMAGE 用于 JobSpy 的 Docker 镜像 jobspy
JOBSPY_ACCESS_TOKEN JobSpy API 的访问令牌(如果需要) none
PORT MCP 服务器的端口 9423
HOST HTTP 服务器的主机 '0.0.0.0'
ENABLE_SSE 启用服务器发送事件传输 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

    • 建立服务器发送事件 (SSE) 连接以进行实时更新
    • 返回进度更新和工作搜索结果
  • 发送请求POST /mcp/request

    • 接受 MCP 格式的工具调用请求
    • 返回工具响应

浏览器示例 JavaScript 客户端:

// 连接到 SSE 端点
const eventSource = new EventSource('http://localhost:9423/mcp/connect');

// 监听更新
eventSource.onmessage = function(event) {
  const data = JSON.parse(event.data);
  console.log('Received update:', data);
  
  // 处理进度更新
  if (data.type === 'progress') {
    updateProgressBar(data.progress);
  }
};

// 发送搜索请求
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_names string 要搜索的招聘网站的逗号分隔列表 (indeed,linkedin,zip_recruiter,glassdoor,google,bayt,naukri) "indeed"
search_term string 工作的搜索词 "software engineer"
location string 工作搜索的地点 "San Francisco, CA"
google_search_term string Google 特定的搜索词 null
results_wanted integer 想要的结果数 20
hours_old integer 工作可以存在多少小时 72
country_indeed string Indeed 搜索的国家 "USA"
linkedin_fetch_description boolean 是否获取 LinkedIn 工作描述(较慢) false
format string 输出格式 (json 或 csv) "json"
output string 没有扩展名的输出文件名 "jobs"

与 Claude 一起使用的示例:

我需要在 LinkedIn 和 Indeed 上找到过去 24 小时内在波士顿发布的资深软件工程师职位。

Docker 支持

提供了一个 Dockerfile 来容器化 MCP 服务器:

# 构建 Docker 镜像
docker build -t jobspy-mcp-server .

# 运行容器
docker run -p 9423:9423 jobspy-mcp-server

开发

在开发模式下运行

npm run dev

运行测试

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"
    }
  }'

许可证

MIT

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python