Skip to main content
Glama
Job Matcher MCP

Job Matcher MCP

Job Matcher MCP

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

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


📋 目录


Related MCP server: job-search

🚀 快速开始

目标: 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 ID和App 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就绪

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A job-search MCP server that ranks roles, drafts cover letters, and rehearses Q&A answers using a candidate profile, with live listings from five public sources.
    68 npm
    MIT
  • A
    license
    C
    quality
    C
    maintenance
    An MCP server that enables AI-assisted job search workflows including job discovery, application tracking, resume evaluation, and cover letter generation, with support for multiple job sources and scheduled scraping.
    83
    12 npm
    1
    AGPL 3.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that exposes job-search and application-management capabilities to compatible AI clients, enabling discovery of vacancies, drafting of tailored application materials, and coordinated human-approved submissions.
    MIT