resume-editor-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@resume-editor-mcpCustomize my resume for this job posting"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
基于 MCP 规范的 AI Native 简历自适应优化系统
面向「一岗一简历」与高频海投要求简历快速复用的现实矛盾,独立构思并设计实现的 AI Agent 工程项目。
已在 Claude + DeepSeek + VSCode(Cline)集成环境下完整测试通过。
项目背景
求职时存在一个核心矛盾:每个岗位的 JD 侧重不同,高度定制化的简历才能提高命中率,但海投场景下手动逐条调整耗时且难以复用。
本项目通过 MCP 协议将简历改写流程工具化,构建可跨 JD 场景稳定复用的 AI Agent 系统,并配套工业级自动化评测脚手架(Promptfoo + LangSmith),确保大模型输出质量可控、可审计、可回归。
Related MCP server: resume-mcp
系统架构
用户输入 JD
│
▼
┌─────────────────────────────────────────┐
│ 网页前端(UI 入口) │
└──────────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ MCP Server(server.py) │
│ │
│ Resources │
│ ├── resume://full 完整经历库 │
│ └── resume://current_jd 当前目标JD │
│ │
│ Tools │
│ ├── load_jd 加载并持久化JD │
│ ├── analyze_jd_match 匹配度分析 │
│ ├── rewrite_section 分段改写 │
│ ├── assemble_resume 组装完整简历 │
│ └── save_resume_draft 保存草稿 │
└──────────────────┬──────────────────────┘
│
┌──────────┴──────────┐
▼ ▼
Claude API DeepSeek API
(工具调用决策) (内容生成)
│ │
└──────────┬──────────┘
▼
┌─────────────────────────────────────────┐
│ LLM Eval Harness │
│ Promptfoo 5×3 矩阵评测 │
│ LangSmith 全链路 Trace │
└─────────────────────────────────────────┘核心功能
1. 标准化上下文接入(MCP Resource)
通过 resume://full 和 resume://current_jd 两个 Resource,将简历素材库与目标 JD 自动挂载到模型上下文,无需每次手动粘贴,实现跨会话的上下文稳定注入。
2. 模块化改写工作流(Skill)
将非结构化的简历改写经验蒸馏为四步标准流程:
load_jd → analyze_jd_match → rewrite_section → assemble_resume每段经历按核心匹配 / 次要匹配 / 补充匹配三类分级改写,遵循「JD 需求点 → 我做了什么 → 结果/价值」结构公式,严格不虚构内容。
3. Claude + DeepSeek 多模型协作
模型 | 职责 |
Claude | MCP 工具调用决策、质量把控 |
DeepSeek | 中文内容生成(降低成本) |
通过 Prompt Engineering 强约束格式输出,拦截模型幻觉,消除模型在改写结果中夹带前言与客套话的问题;将非结构化改写经验蒸馏为可调用 Skill,具备从需求抽象到工程交付的完整 AI Native 研发视野。
4. LLM Eval Harness(评测)
Promptfoo 5×3 正交矩阵评测数据集
针对大模型面对不同行业和不同简历背景梯度下的适配问题,构建覆盖:
5 类行业岗位:理工 / 工程 / 农业 / 医疗 / 法律
3 种简历梯度:优秀 / 中等 / 劣势背景
共 15 个正交测试场景。
断言从简单到复合的演进
初版使用 icontains 简单关键词断言,在 promptfoo view 评测看板中发现假阴性问题——模型输出整体质量合格,但因某个特定词缺失即判 FAIL。
根因分析:硬字符串匹配思维在面对生成式 AI 时容易失效——生成式模型的输出本身就存在合理的语义多样性,用固定词强卡必然误杀。
因此将断言重构为基于多同义词模糊正则匹配与 JavaScript 的函数式断言,通过逻辑组合(|| / &&)和关键语义多路覆盖降低误判率:
// 重构后:兼顾格式约束与语义容错的复合断言
function({ output }) {
const lines = output.split('\n').filter(l => l.trim());
// 多路语义覆盖:出现任意同义词均视为通过
const hasContent = /育种|选育|品种/.test(output) ||
/实验|试验|测试/.test(output);
// 格式约束:行数不超过上限
return lines.length <= 6 && hasContent;
}LangSmith 全链路白盒 Trace
通过 wrap_openai 为 DeepSeek SDK 挂载自动追踪探针,在云端看板实现:
双层嵌套运行树:Tool 级调用(父层)+ LLM 响应(子层)
**精准追踪 Prompt 拼接、Token 消耗、响应延迟、模型成本
工程目录
agent-resume/
├── server.py # MCP Server 核心(Resources + Tools)
├── requirements.txt # Python 依赖
├── .gitignore
├── agent-sessions.code-workspace # VSCode 工作区配置
├── .claude/
│ └── agents/
│ └── resume_editor.agent.md # Agent 系统级行为规范与四步流程
├── data/
│ ├── resume.md # 完整经历素材库(自行填写)
│ └── current_jd.txt # 当前目标 JD(load_jd 工具自动写入)
├── output/
│ └── *.md # 各岗位定制化简历草稿
└── tests/
├── promptfoo/ # 5×3 矩阵评测配置 + JS 函数式断言
└── langsmith/ # LangSmith 白盒追踪驱动脚本快速开始
环境准备
# 克隆项目
git clone https://github.com/your-username/resume-adjuster.git
cd resume-adjuster
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 安装 Python 依赖
pip install mcp openai langsmith
# 安装 Promptfoo
npm install -g promptfoo配置 API Keys
请在工程中填入自己对应的Keys。
DeepSeek官方API接口链接:https://api-docs.deepseek.com/zh-cn/
# .env
ANTHROPIC_API_KEY=your_anthropic_key # Claude
DEEPSEEK_API_KEY=your_deepseek_key # DeepSeek
LANGSMITH_API_KEY=your_langsmith_key # LangSmith
LANGSMITH_PROJECT=resume_adjuster
LANGSMITH_TRACING=true
LANGSMITH_ENDPOINT=https://api.smith.langchain.com填写简历素材库
在 data/resume.md 中填入你的完整经历,素材越结构化,改写质量越高。
resume.md文件中已给出示例。
### 在 VSCode + Cline 中启动
1. 启动 MCP Server:
```bash
python server.py在 Cline 的 MCP 配置中注册(
.vscode/cline_mcp_config.json):
{
"mcpServers": {
"resume-adjuster": {
"command": "python",
"args": ["/你的绝对路径/server.py"]
}
}
}重载 Cline,在对话中粘贴 JD,Agent 自动走完四步流程。
运行评测
# Promptfoo 5×3 矩阵评测(--no-cache 避免旧缓存污染结果)
npx promptfoo eval -c tests/promptfooconfig.yaml --no-cache
# 查看评测看板
npx promptfoo view
# LangSmith 白盒追踪
python tests/langsmith/run_langsmith_eval.py技术栈
类别 | 技术 |
AI 协议 | MCP(Model Context Protocol) |
模型 | Claude(Anthropic)/ DeepSeek |
客户端 | Cline + VSCode |
评测框架 | Promptfoo |
链路追踪 | LangSmith |
后端 | Python / asyncio |
文档生成 | docx.js |
📄 License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/gaowenting0303/agent-resume'
If you have feedback or need assistance with the MCP directory API, please join our Discord server