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
一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。
MCP PubMed Search
用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。
mixpanel
连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

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

Nefino MCP Server
为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。
Vectorize
将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。
Mathematica Documentation MCP server
一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。
kb-mcp-server
一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。
Research MCP Server
这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

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