Token导航 LogoToken导航TokenDH.com
MCP resume screening logo
搜索检索stdio官方级别未说明来源级核验

MCP resume screening

MCP Server

一个基于Model Context Protocol (MCP)的智能职位匹配服务器,能够从职位描述中提取结构化需求,并从LlamaCloud简历索引中查找和排名候选人。

工具数

0

提示词数

0

GitHub Stars

14

资源数

0
Python搜索文档处理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

run-llama

提供方

run-llama

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install fastmcp httpx

详细介绍

作业匹配MCP服务器

提供智能作业匹配功能的模型上下文协议(MCP)服务器。从职位描述中提取结构化的工作要求,并从LlamaCloud简历索引中查找/排名候选人。

🚀 特性

核心工作匹配功能

  1. extract_job_requirements -从职位描述文本中提取结构化数据
  2. find_matching_candidates -从LlamaCloud索引中查找候选人并对其进行排名
  3. search_candidates_by_skills -按特定技能搜索候选人
  4. score_candidate_qualifications -根据工作要求对候选人进行评分

附加功能

  • add / subtract / multiply -基本数学函数(向后兼容)

📋 可用的MCP工具

职位描述处理

  • extract_job_requirements(job_description_text: str) -从文本中提取结构化的工作要求

候选人管理

  • find_matching_candidates(required_qualifications: str, preferred_qualifications: str, top_k: int, enable_reranking: bool) -查找符合工作资格的候选人
  • search_candidates_by_skills(skills: str, top_k: int) -按特定技能搜索候选人
  • score_candidate_qualifications(candidate_resume: str, required_qualifications: str, preferred_qualifications: str, job_title: str, job_description: str) -根据工作要求对候选人进行评分

📋 功能详细信息

1.提取工作要求

extract_job_requirements(jd_text: str) -> str

输入: 职位描述文本(从职位发布中复制)

输出: JSON字符串包含:

  • title:职位名称
  • company:公司名称
  • location:工作地点
  • required_qualifications:一系列必需的资格
  • preferred_qualifications:一系列首选资格
  • description:工作总结
  • experience_level:经验水平(初级/中级/高级)
  • employment_type:就业类型(全职/合同制等)

2.查找LlamaCloud的候选人并对其进行排名

find_matching_candidates(required_qualifications: str, preferred_qualifications: str, top_k: int, enable_reranking: bool) -> str

输入:

  • required_qualifications:逗号分隔的必需资格
  • preferred_qualifications:逗号分隔的首选资格
  • top_k:要检索的最大候选项(默认值:10)
  • enable_reranking:是否启用重新登录(默认值:True)

输出: JSON字符串包含:

  • candidates:一系列有分数和分析的候选人
  • total_candidates:找到的候选人数量
  • search_parameters:有关搜索配置的详细信息

主要特点:

  • 从LlamaCloud索引中检索候选者 使用语义搜索
  • 加权评分:所需资格具有更高的权重
  • 匹配百分比:总体兼容性得分
  • 详细说明:每次资格评估

3.按技能搜索候选人

search_candidates_by_skills(skills: str, top_k: int) -> str

输入:

  • skills:以逗号分隔的技能或关键字列表
  • top_k:要检索的最佳候选人数(默认值:10)

输出: 带有匹配候选人及其分数的JSON

4.对候选人资格进行评分

score_candidate_qualifications(candidate_resume: str, required_qualifications: str, preferred_qualifications: str, job_title: str, job_description: str) -> str

输入:

  • candidate_resume:候选人的简历文本
  • required_qualifications:逗号分隔的必需资格
  • preferred_qualifications:逗号分隔的首选资格
  • job_title:职位名称(可选)
  • job_description:职位描述(可选)

输出: 综合分析包括:

  • 优势与劣势
  • 详细评分明细
  • 招聘建议
  • 角色匹配评估

🛠️ 设置和配置

1.配置API密钥和设置

你有 两个选项 配置:

选项A:环境变量(建议用于生产)

# Required: OpenAI API Key
export OPENAI_API_KEY="your-openai-api-key"

# Required: LlamaCloud Configuration  
export LLAMA_CLOUD_API_KEY="your-llamacloud-api-key"
export LLAMA_CLOUD_INDEX_NAME="your-resume-index-name"
export LLAMA_CLOUD_PROJECT_NAME="your-project-name"
export LLAMA_CLOUD_ORGANIZATION_ID="your-organization-id"

# Optional: Server Configuration
export PORT="8080"
export HOST="0.0.0.0"
export REQUEST_TIMEOUT="30.0"
export OPENAI_TEMPERATURE="0.1"

选项B:在config.py中直接配置(用于本地开发)

  1. 打开 config.py 并替换占位符值:
   # Replace these placeholder values with your actual API keys:
   OPENAI_API_KEY = "your-actual-openai-api-key-here"
   LLAMA_CLOUD_API_KEY = "your-actual-llamacloud-api-key-here"
   LLAMA_CLOUD_ORGANIZATION_ID = "your-actual-org-id-here"
   LLAMA_CLOUD_INDEX_NAME = "your-actual-index-name"
  1. ⚠️ 安全警告:如果编辑 config.py 直接地, 永远不要将您的API密钥提交给版本控制!

获取API密钥:

  • OpenAI API密钥:从 OpenAI平台
  • 调用云API密钥:从 呼叫云控制台
  • LlamaCloud组织ID:在LlamaCloud项目设置中找到
  • 调用云索引名称:LlamaCloud中简历索引的名称

*如果没有LlamaCloud凭据,服务器将使用模拟候选数据进行测试。*

2.保护您的API密钥(重要!)

如果您计划将此代码提交到版本控制,请创建 .gitignore 文件以保护您的敏感信息:

# Create .gitignore file
cat > .gitignore  B[extract_job_requirements]
    B --> C[Structured Requirements JSON]
    C --> D[find_matching_candidates]
    E[LlamaCloud Index] --> D
    D --> F[Ranked Candidates with Scores]
    C --> G[score_candidate_qualifications]
    H[Individual Resume] --> G
    G --> I[Detailed Analysis & Recommendations]

🎯 用例

1.自动简历筛选

# Extract requirements from job posting
job_reqs = extract_job_requirements(job_posting_text)

# Find top candidates from your resume database
top_candidates = find_matching_candidates("Python, JavaScript, React", "AWS, Docker", 10, True)

# Get detailed analysis of promising candidates
for candidate in top_5:
    analysis = score_candidate_qualifications(candidate['resume'], job_reqs, candidate['name'])

2.招聘渠道整合

  • ATS集成:自动对传入的应用程序进行评分
  • 招聘工具:提供数据驱动的候选人排名
  • 面试准备:生成针对候选人的面试问题

3.就业市场分析

  • 需求趋势:跟踪不同职位的共同资格
  • 候选人差距分析:识别候选人库中缺失的技能
  • 工资基准:将需求与薪酬数据相关联

🚀 部署

先决条件

请确保您已完成以下设置:

  • Python 3.10+
  • UV包管理器
  • 谷歌云SDK(gcloud)
  • 配置的项目ID: export PROJECT_ID=
  • 已创建工件注册表存储库: remote-mcp-servers

地方发展

# 1. Install dependencies
uv install

# 2. Configure API keys (choose one method):

# Method A: Set environment variables
export OPENAI_API_KEY="your-openai-api-key"
export LLAMA_CLOUD_API_KEY="your-llamacloud-api-key"
export LLAMA_CLOUD_INDEX_NAME="your-index-name"
export LLAMA_CLOUD_ORGANIZATION_ID="your-org-id"

# Method B: Edit config.py directly (see configuration section above)

# 3. Run server
python server.py

服务器将于启动 http://localhost:8080/mcp 并记录它正在使用的配置:

[INFO]: LlamaCloudService initialized with index: your-index-name
[INFO]: MCP server starting on 0.0.0.0:8080

快速配置测试:

您可以通过运行以下命令来验证您的配置是否正常工作:

python -c "from config import OPENAI_API_KEY, LLAMA_CLOUD_API_KEY, LLAMA_CLOUD_INDEX_NAME; print(f'OpenAI: {OPENAI_API_KEY[:10]}..., LlamaCloud: {LLAMA_CLOUD_API_KEY[:10]}..., Index: {LLAMA_CLOUD_INDEX_NAME}')"

如果你看到占位符值,如“你的openai-api密钥在这里”,你的配置需要更新。

Docker部署

# Build image
docker build -t job-matching-mcp .

# Run container
docker run -p 8080:8080 \
  -e OPENAI_API_KEY="your-key" \
  -e LLAMA_CLOUD_API_KEY="your-key" \
  job-matching-mcp

谷歌云运行部署

📚 参考文件: 在10分钟内构建和部署远程MCP服务器到Google Cloud运行

初始部署

# Build and push to Artifact Registry
gcloud builds submit --region=us-central1 \
  --tag us-central1-docker.pkg.dev/$PROJECT_ID/remote-mcp-servers/mcp-server:latest

# Deploy to Cloud Run
gcloud run deploy mcp-server \
  --image us-central1-docker.pkg.dev/$PROJECT_ID/remote-mcp-servers/mcp-server:latest \
  --region=us-central1 \
  --no-allow-unauthenticated \
  --set-env-vars OPENAI_API_KEY="your-key",LLAMA_CLOUD_API_KEY="your-key"

重新部署步骤

对MCP服务器进行代码更改后,请按照以下步骤重新部署:

步骤1:重建容器并推送到工件注册表

gcloud builds submit --region=us-central1 \
  --tag us-central1-docker.pkg.dev/$PROJECT_ID/remote-mcp-servers/mcp-server:latest

步骤2:将更新的容器重新部署到Cloud Run

gcloud run deploy mcp-server \
  --image us-central1-docker.pkg.dev/$PROJECT_ID/remote-mcp-servers/mcp-server:latest \
  --region=us-central1 \
  --no-allow-unauthenticated

步骤3:测试部署(可选)

启动Cloud Run代理以测试更新的服务器:

gcloud run services proxy mcp-server --region=us-central1

然后运行测试脚本:

uv run test_server.py

📁 项目结构

mcp-on-cloudrun/
├── config.py                 # Configuration constants
├── models.py                 # Data structures
├── server.py                 # Main MCP server
├── Dockerfile               # Container configuration
├── pyproject.toml           # Python dependencies
├── services/
│   ├── openai_service.py    # OpenAI API integration
│   └── llamacloud_service.py # LlamaCloud integration
├── tools/
│   ├── math_tools.py        # Math operations (add, subtract, multiply)
│   ├── job_tools.py         # Job description extraction
│   └── candidate_tools.py   # Candidate search and scoring
└── test_server.py           # Test client

🔧 定制

评分标准

修改中的评分提示 services/openai_service.py 调整评估标准:

  • 更改评分范围(0-2到0-5等)
  • 调整所需/首选资格之间的权重
  • 添加特定于域的评估标准

呼叫云集成

对于具有真实候选数据的生产部署:

  1. 设置LlamaCloud帐户并创建简历索引
  2. 在中配置环境变量 config.py
  3. 用实际的LlamaCloud API调用替换模拟候选数据

OpenAI模型选择

更改模型 config.py:

OPENAI_MODEL = "gpt-4o-mini"  # Fast and cost-effective
# OPENAI_MODEL = "gpt-4o"     # Higher quality, more expensive

📈 性能和扩展

  • 并发请求:FastMCP处理多个同时进行的作业匹配请求
  • 缓存:考虑为频繁的作业需求提取实现Redis
  • 速率限制:OpenAI API有速率限制;实现高容量使用的排队
  • 成本优化:使用 gpt-4o-mini 对于大多数操作, gpt-4o 用于批判性分析

🔐 安全考虑

安全说明

  • 始终使用 --no-allow-unauthenticated 要求云运行的身份验证
  • 确保用户拥有 roles/run.invoker IAM角色访问服务器
  • 使用Cloud Run代理进行具有身份验证的本地测试
  • API密钥:从不将API密钥提交到版本控制
  • 输入验证:服务器验证所有输入并处理格式错误的数据
  • 错误处理:当外部服务不可用时,性能会下降
  • 数据隐私:恢复通过OpenAI处理的数据;考虑数据保留策略

🔍 故障排除

常见问题:

配置问题:

  1. “无效的API密钥”错误:

- 检查API密钥是否在中正确设置 config.py 或环境变量 - 验证API密钥是否有效并具有正确的权限 - 对于OpenAI:确保您已设置信用/账单

  1. “找不到LlamaCloud索引”:

- 验证 LLAMA_CLOUD_INDEX_NAME 与您的实际索引名称匹配 - 检查 LLAMA_CLOUD_ORGANIZATION_ID 是正确的 - 确保您的LlamaCloud API密钥可以访问指定的索引

  1. 服务器显示占位符值:

- 如果你在日志中看到“你的openai api密钥在这里”,那么你的配置没有正确加载 - 检查您是否设置了环境变量或进行了编辑 config.py 直接 - 更改配置后重新启动服务器

部署问题:

  1. 身份验证错误:确保Cloud Run代理正在运行,并且您具有适当的IAM角色
  2. 构建失败检查 pyproject.toml 中的 Dockerfile 和依赖关系
  3. 端口冲突:使用 lsof -ti:8080 | xargs kill -9 释放端口8080

日志:

查看云运行日志:

gcloud run services logs tail mcp-server --region=us-central1

查看本地服务器日志:

# Server logs are printed to console when running locally
python server.py

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 添加新功能的测试
  4. 确保所有测试通过
  5. 提交拉取请求

📄 许可证

MIT许可证-有关详细信息,请参阅许可证文件。

______________________________________________________________________

准备好通过人工智能驱动的工作匹配彻底改变您的招聘流程! 🎯✨

目录标签

目录标签

Python搜索文档处理职位匹配本地部署简历筛选AI招聘人才管理语义搜索

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP