Skip to main content
Glama
SRP-alohamora

Job Matcher MCP

Job Matcher MCP

🎯 基于AI的求职与简历定制MCP(模型上下文协议)服务器

一分钟内自动化求职并为每个职位定制简历。由职位API和Claude LLM提供支持。


📋 目录


🚀 快速开始

目标: 5分钟内让服务器运行并使用模拟数据(无需API密钥)。

1. 克隆仓库


\bash cd job-matcher-mcp \

2. 安装依赖


\bash pip install -r requirements.txt \

3. 使用模拟数据运行


\bash export USE_MOCK_DATA=true python mcp_server.py \

预期输出: \

=== Testing search_jobs === { "success": true, "job_listings": [ { "id": "mock_1", "title": "Senior Product Manager", "company": "TechCorp Inc", "location": "San Francisco, CA", ... } ], ... }

=== Testing customize_resume === { "success": true, "customized_resume": "# John Doe...", ... } \

成功! MCP服务器已正常工作。现在添加真实API密钥。


✨ 功能特性

功能

状态

描述

职位搜索

✅ MVP

通过Adzuna API查询数千个职位列表

简历定制

✅ MVP

使用Claude进行AI驱动的简历优化

技能匹配

✅ MVP

识别匹配/缺失的技能

ATS优化

✅ MVP

自动注入关键词以通过ATS

模拟数据模式

✅ MVP

无需API密钥即可测试

多API支持

🔜 v1.2

添加Indeed、LinkedIn、AngelList

求职信生成

🔜 v1.2

自动生成求职信

申请跟踪

🔜 v2.0

跟踪申请与面试


🔧 安装

前提条件

  • Python 3.10或更高版本

  • pip(Python包管理器)

  • Git

步骤1:克隆仓库


\bash git clone https://github.com/yourusername/job-matcher-mcp.git cd job-matcher-mcp \

步骤2:创建虚拟环境(推荐)


\bash

macOS/Linux

python3 -m venv venv source venv/bin/activate

Windows

python -m venv venv .\venv\Scripts\Activate.ps1 \

步骤3:安装依赖


\bash pip install -r requirements.txt \


⚙️ 配置

1. 获取API密钥

Adzuna API(免费)

  1. 访问 https://developer.adzuna.com/

  2. 创建一个账户

  3. 创建一个应用以获取App IDApp Key

  4. 免费层:约100次请求/天

Anthropic Claude API(付费,每月0.50-5美元)

  1. 访问 https://console.anthropic.com/

  2. 创建一个账户

  3. 生成一个API密钥

  4. 定价:约每1000个输入token 0.003美元,每1000个输出token 0.015美元

2. 创建.env文件


\bash cp .env.example .env \

3. 将API密钥添加到.env


\env ADZUNA_APP_ID=你的实际应用ID ADZUNA_APP_KEY=你的实际应用密钥 ANTHROPIC_API_KEY=sk-ant-你的实际API密钥 USE_MOCK_DATA=false LOG_LEVEL=INFO \

4. 加载环境变量


\bash

macOS/Linux

export $(grep -v '^#' .env | xargs)

Windows PowerShell

Get-Content .env | ForEach-Object { $name, $value = $_.Split('=') if ($name) { Set-Item -Path env:$name -Value $value } } \


💻 使用说明

运行服务器


\bash python mcp_server.py \

使用curl测试(示例)


\bash

搜索职位

curl -X POST http://localhost:8000/tools/search_jobs
-H "Content-Type: application/json"
-d '{ "role": "Product Manager", "location": "San Francisco, CA", "experience_years": 5, "max_results": 10 }'

定制简历

curl -X POST http://localhost:8000/tools/customize_resume
-H "Content-Type: application/json"
-d '{ "base_resume": "...", "job_description": "...", "template": "modern" }' \

Python示例


\python from mcp_server import JobMatcherMCPServer

server = JobMatcherMCPServer()

搜索职位

jobs = server.search_jobs( role="Product Manager", location="San Francisco, CA", experience_years=5, max_results=10 ) print(jobs)

定制简历

resume = server.customize_resume( base_resume="你的简历文本...", job_description="职位描述...", template="modern" ) print(resume) \


🛠️ MCP工具参考

工具1:\search_jobs\

根据条件搜索职位列表。

输入模式


\json { "role": "Product Manager", // 必填:职位名称 "location": "San Francisco, CA", // 必填:地理位置 "experience_years": 5, // 必填:工作经验年数 "max_results": 10, // 可选:结果限制(默认:10) "use_mock_data": false // 可选:使用模拟数据(默认:false) } \

输出模式


\json { "success": true, "job_listings": [ { "id": "12345", "title": "Senior Product Manager", "company": "TechCorp", "location": "San Francisco, CA", "link": "https://...", "salary_min": 120000, "salary_max": 160000, "posted_date": "2026-08-17T10:00:00Z", "description_snippet": "我们正在寻找..." } ], "total_found": 123, "search_time_ms": 1234, "error": null } \

示例


\python jobs = server.search_jobs( role="Product Manager", location="Remote", experience_years=3, max_results=5 ) \


工具2:\customize_resume\

使用AI为特定职位定制简历。

输入模式


\json { "base_resume": "# Jane Doe...", // 必填:你的简历文本 "job_description": "我们正在寻找...", // 必填:职位发布内容 "template": "modern", // 可选:modern|classic|minimal "use_mock_data": false // 可选:使用模拟数据 } \

输出模式


\json { "success": true, "customized_resume": "# Jane Doe...", "match_analysis": { "skills_match_percentage": 82, "matched_skills": ["Product Management", "Leadership"], "missing_skills": ["Machine Learning", "Cloud"], "suggestions": ["如果适用,添加ML经验"], "keywords_added": ["Data-driven", "Cross-functional"] }, "generation_time_ms": 2345, "error": null } \

示例


\python customized = server.customize_resume( base_resume=open("resume.txt").read(), job_description=open("job_posting.txt").read(), template="modern" ) \


🏗️ 架构

┌─────────────────────────────────────────────────────┐ │ User/AI Agent (Chat, Script, API Client) │ └────────────────┬────────────────────────────────────┘ │ MCP Protocol ┌────────────────▼────────────────────────────────────┐ │ Job Matcher MCP Server │ │ ┌──────────────────────────────────────────────┐ │ │ │ Tool: search_jobs() │ │ │ │ - Query Adzuna API │ │ │ │ - Parse & structure results │ │ │ └──────────────────────────────────────────────┘ │ │ ┌──────────────────────────────────────────────┐ │ │ │ Tool: customize_resume() │ │ │ │ - Send to Claude API │ │ │ │ - Parse & return customized resume │ │ │ └──────────────────────────────────────────────┘ │ │ ┌──────────────────────────────────────────────┐ │ │ │ External APIs │ │ │ │ - Adzuna Job Search API │ │ │ │ - Anthropic Claude API │ │ │ └──────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────┘


🔍 故障排除

问题:\ModuleNotFoundError: No module named 'anthropic'\

解决方案: 安装依赖
\bash pip install -r requirements.txt \

问题:\API request failed: Unauthorized\

解决方案: 检查.env中的API密钥
\bash

验证密钥是否已设置

echo $ADZUNA_APP_ID echo $ANTHROPIC_API_KEY \

问题:\No jobs found\

解决方案: 尝试不同的职位/地点,或增加max_results
\python

尝试更广泛的搜索

jobs = server.search_jobs( role="Manager", # 更通用的术语 location="New York, NY", experience_years=5, max_results=50 ) \

问题:\Claude API response too slow\

解决方案: 使用模拟数据进行测试
\python resume = server.customize_resume( base_resume="...", job_description="...", use_mock_data=True # 跳过API调用 ) \

问题:\Rate limit exceeded\

解决方案: Adzuna免费层有限制。实现缓存:
\python

存储职位搜索结果

cached_jobs = {} key = f"{role}{location}{experience_years}" if key not in cached_jobs: cached_jobs[key] = server.search_jobs(...) \


🚢 部署

部署到Vercel


\bash

1. 在https://vercel.com创建Vercel账户

2. 安装Vercel CLI

npm install -g vercel

3. 部署

vercel

4. 在Vercel仪表板中添加环境变量

Settings → Environment Variables

\

部署到Railway


\bash

1. 在https://railway.app创建Railway账户

2. 连接你的Git仓库

3. 在Railway仪表板中添加环境变量

\


📊 性能指标(目标)

操作

目标时间

实际时间

职位搜索

<5秒

约2-3秒

简历定制

<10秒

约3-5秒

模拟职位搜索

<100ms

约50ms

模拟简历定制

<500ms

约200ms


📚 API参考


📝 许可证

MIT许可证 - 详见LICENSE文件


👨‍💼 作者

为正在求职转型的技术产品经理构建。

版本: 1.0.0
最后更新: 2026-08-17
状态: MVP就绪

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SRP-alohamora/JobMatcherMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server