关于 Ai Hr Management Toolkit
Ai Hr Management Toolkit 是用于简历分析和候选人跟踪的 MCP 服务及 Web 应用,提供解析、评分和招聘流程管理等 21 种工具;多数工具通过算法运行,无需调用 LLM。
主要功能
- 01解析 PDF、DOCX、TXT、Markdown 和 URL
- 02提取技能、经历和实体
- 03根据职位描述为候选人评分和排名
- 04管理职位、候选人、面试和录用
- 05查看流程分析与合规数据
- 06将结果导出为 JSON 或 CSV
适用场景
- 01批量筛选简历并整理候选人资料
- 02根据职位要求比较申请者
- 03跟踪面试、录用和候选人阶段
- 04查看招聘流程指标
MCP 相关
通过 stdio 或 Streamable HTTP 向 MCP 客户端提供 21 种工具,包括简历解析、候选人评估和 ATS 操作。多数工具基于算法运行;候选人评估可选用 LLM。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
22收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| content | string | 是 | Base64 编码的文件内容;当 fileType 为 'url' 时,则为 URL 字符串 |
| fileType | enum | 是 | 文件类型:pdf、docx、txt、md 或 urlpdf | docx | txt | md | url |
详细介绍
AI HR 管理工具包
AI 驱动的简历解析器和完整的申请人跟踪系统,包含 21 个 MCP 工具。解析 PDF、提取技能、检测模式、评估候选人,并管理完整的招聘流程——所有操作都可通过 AI 助手完成,无需手动处理。
在线演示: https://ai-hr-management-toolkit.vercel.app
这是什么?
你有 50 份简历需要筛选。AI 助手可以分析候选人,但无法打开 PDF、提取结构化数据或跟踪招聘流程阶段。这个工具包可以弥补这一差距。
为 AI 助手提供覆盖整个招聘工作流的 21 个工具:
- 将 PDF、DOCX、TXT、Markdown 和 URL 解析为结构化 JSON
- 通过算法提取技能、经验、关键词和实体
- 根据职位描述为候选人评分并排序
- 运行完整的 ATS:职位、候选人、面试、录用通知、备注和分析
21 个工具中有 20 个完全由算法实现——无需调用大模型,也不需要 API 密钥。AI 会调用工具、解读结果并提供分析。你只需提问即可。
快速开始(MCP 客户端)
无需安装。将 MCP 客户端指向此软件包:
Claude Desktop — 编辑 %APPDATA%\Claude\claude_desktop_config.json(Windows)或 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS):
{
"mcpServers": {
"ai-hr-management-toolkit": {
"command": "npx",
"args": ["-y", "mcp-ai-hr-management-toolkit"]
}
}
}
使用示例:
Cursor — 在项目根目录的 .cursor/mcp.json 中添加:
{
"mcpServers": {
"ai-hr-management-toolkit": {
"command": "npx",
"args": ["-y", "mcp-ai-hr-management-toolkit"]
}
}
}
VS Code Copilot — 在项目根目录创建 .vscode/mcp.json:
{
"servers": {
"ai-hr-management-toolkit": {
"command": "npx",
"args": ["-y", "mcp-ai-hr-management-toolkit"]
}
}
}
VS Code 用户: 请在包含
package.json的目录(即任何项目根目录)中运行npx命令。如有需要,可以通过.vscode/mcp.json中的cwd键覆盖工作目录。
Windsurf / 其他 MCP 客户端 — 使用上面相同的 npx 模式。
安装选项
选项 1:NPX(零安装,推荐)
可在任意项目目录中运行(工作目录中需要有 package.json):
{
"mcpServers": {
"ai-hr-management-toolkit": {
"command": "npx",
"args": ["-y", "mcp-ai-hr-management-toolkit"]
}
}
}
选项 2:全局安装
安装一次,即可从任意目录使用:
npm install -g mcp-ai-hr-management-toolkit
{
"mcpServers": {
"ai-hr-management-toolkit": {
"command": "mcp-ai-hr-management-toolkit",
"args": []
}
}
}
选项 3:远程 HTTP 端点
部署 Next.js 应用并使用 Streamable HTTP 传输:
https://your-domain.com/api/mcp
本地测试:
npx @modelcontextprotocol/inspector http://localhost:3000/api/mcp
选项 4:本地开发(Web UI + MCP)
git clone <repo-url>
cd Resume-parser
npm install
npm run dev
Web UI 位于 http://localhost:3000。MCP 端点位于 http://localhost:3000/api/mcp。无需 .env——可在 UI 中配置 API 密钥,或在每次工具调用时传入。
全部 21 个 MCP 工具
所有工具都会返回结构化 JSON,并附带 next_steps 提示,帮助 AI 知道下一步要调用什么。
简历解析与导入
| 工具 | 功能 | AI? |
|---|---|---|
parse_resume | 解析 PDF / DOCX / TXT / MD / URL → 原始文本 + 联系方式、关键词、章节映射 | 否 |
batch_parse_resumes | 一次调用解析最多 20 个文件,并对每个文件运行完整流程 | 否 |
inspect_pipeline | 运行 5 阶段分析流程 → 置信度评分、实体数量、数据质量报告 | 否 |
统一分析
| 工具 | 功能 | AI? |
|---|---|---|
analyze_resume | 综合分析工具,可选择分析维度:keywords(TF-IDF + 双词组)、patterns(日期范围、指标、团队规模、职业发展轨迹)、entities(包含 12 种类型并支持上下文消歧的命名实体识别)、skills(包含 13 个类别并估算熟练程度)、experience(结构化时间线)、similarity(与职位描述进行余弦相似度、Jaccard 相似度和 TF-IDF 重合度比较),或 all | 否 |
analyze_resume将此前分开的 7 个工具(extract_keywords、detect_patterns、classify_entities、extract_skills_structured、extract_experience_structured、compute_similarity、analyze_resume_comprehensive)整合到一个入口,并支持选择分析维度。
候选人匹配与评分
| 工具 | 功能 | AI? |
|---|---|---|
assess_candidate | 根据最多 8 个加权评估维度打分 → 得出加权总分,并作出通过 / 复核 / 拒绝的决定 | 可选 |
导出与通知
| 工具 | 功能 | AI? |
|---|---|---|
export_results | 将结构化解析结果导出为 JSON 或 CSV | 否 |
send_email | 通过 SMTP 发送结果(每次调用时传入配置,不在服务端存储机密信息) | 否 |
ATS — 职位
| 工具 | 功能 | AI? |
|---|---|---|
ats_manage_jobs | 对职位发布进行完整的 CRUD 操作:创建、读取、更新、删除、列出,以及按职位名称 / 部门 / 状态搜索 | 否 |
ATS — 候选人与招聘流程
| 工具 | 功能 | AI? |
|---|---|---|
ats_manage_candidates | CRUD + 分析:添加、更新、移动阶段、批量移动、筛选、排名、比较、建议阶段变更、汇总 | 否 |
ats_analytics | 统一仪表盘 + 招聘流程分析:阶段分布、转化率、阶段平均耗时、瓶颈检测、录用通知接受率 | 否 |
ats_search | 对所有 ATS 实体(候选人、职位、面试、录用通知、备注)进行全局全文搜索 | 否 |
ATS — 面试
| 工具 | 功能 | AI? |
|---|---|---|
ats_schedule_interview | 创建、更新和删除面试,并检测冲突、检查面试官是否有空 | 否 |
ats_interview_feedback | 提交结构化反馈、计算共识分数,并汇总所有面试官的反馈 | 否 |
ATS — 录用通知与备注
| 工具 | 功能 | AI? |
|---|---|---|
ats_manage_offers | 管理完整的录用通知生命周期:草拟 → 待处理 → 已批准 → 已发送 → 已接受 / 已拒绝 / 已过期 | 否 |
ats_manage_notes | 添加、更新、搜索和删除带时间戳的候选人备注 | 否 |
ATS — 企业人力资源
| 工具 | 功能 | AI? |
|---|---|---|
ats_compliance | EEO/EEOC 报告、GDPR 导出 / 删除、审计跟踪、数据保留政策 | 否 |
ats_talent_pool | 被动候选人人才库(CRM):创建人才库、添加 / 移除候选人、搜索、分析 | 否 |
ats_scorecard | 结构化面试评分卡,支持加权评估标准、各评估者评分和综合排名 | 否 |
ats_onboarding | 入职后清单:按类别列出任务、指定负责人、跟踪进度、逾期提醒 | 否 |
ats_communication | 使用 {{variable}} 插值的电子邮件模板、发送 / 预览、沟通历史、统计数据 | 否 |
测试与数据填充
| 工具 | 功能 | AI? |
|---|---|---|
ats_generate_demo_data | 生成逼真的 ATS 示例数据集(职位、候选人、面试、录用通知),用于测试 | 否 |
assess_candidate可在你提供provider+apiKey时调用大模型;否则会回退到完全基于算法的评分。
多轮流程示例
You: "Parse this resume and tell me if they're a good fit for our Senior Engineer role"
AI → parse_resume(file)
→ raw text, contact info, section map
AI → inspect_pipeline(rawText)
→ 5-stage confidence scores, entity classification
AI → analyze_resume(text, aspects=["skills", "patterns", "similarity"], jobDescription=...)
→ 13 skill categories with proficiency levels
→ career trajectory, metrics, date ranges
→ cosine 0.74, skill match 82%, gap analysis
AI synthesizes → "Strong match. 6 of 8 required skills present.
Two gaps: Kubernetes and system design at scale.
Recommend: Technical Screen"
分析流水线
每份简历都会经过一个包含 5 个阶段的算法流水线:
┌─────────────┐ ┌──────────────┐ ┌──────────────┐ ┌────────────────┐ ┌───────────────┐
│ Ingestion │───▶│ Sanitization │───▶│ Tokenization │───▶│ Classification │───▶│ Serialization │
│ (file/URL) │ │ (noise trim) │ │ (TF-IDF) │ │ (NER + disamb) │ │ (structured) │
└─────────────┘ └──────────────┘ └──────────────┘ └────────────────┘ └───────────────┘
- 摄取 — 使用 pdf-parse v2 处理 PDF,使用 mammoth 处理 DOCX,使用 cheerio 处理 HTML/URL,原生处理纯文本/markdown
- 清理 — 移除非 ASCII 字符,规范化空白字符,去除格式噪声
- 分词 — 使用 TF-IDF 处理一元、二元和三元词组;按文档频率评分
- 分类 — 使用具备领域感知能力的消歧方法进行 NER(例如,“Java”是编程语言还是印度尼西亚城市;“Go”是编程语言还是动词)
- 序列化 — 将实体映射到带有置信度评分和数据质量指标的类型化
ResumeSchema
支持的文件格式
| 格式 | 扩展名 | 解析器 |
|---|---|---|
.pdf | pdf-parse v2 | |
| DOCX | .docx | mammoth |
| 纯文本 | .txt | 直接读取 |
| Markdown | .md、.markdown | 基于正则表达式 |
| URL / HTML | 任意 URL 字符串 | cheerio |
文件大小上限:10 MB
结构化输出架构
contact — name, email, phone, location, LinkedIn, GitHub, website, portfolio
summary — professional summary text
skills[] — name, category (13 types), proficiency, usage context
experience[] — company, title, start/end dates, highlights, achievements (with metrics), technologies
education[] — institution, degree, field, dates, GPA
certifications[] — name, issuer, date, credential URL
projects[] — name, description, URL, technologies, highlights
languages[] — spoken language and proficiency
Web UI
该应用提供完整的 Web 界面:
| 选项卡 | 描述 |
|---|---|
| 单份解析 | 上传一个文件或粘贴 URL。返回结构化数据、流水线可视化结果和 AI 增强分析 |
| 批量解析 | 最多上传 20 个文件。可导出为 JSON / CSV / PDF,或通过电子邮件发送结果 |
| 聊天 | 可访问工具的对话界面 — 针对任何已解析的简历提问 |
| ATS | 完整的流水线看板:职位、候选人(看板)、面试、录用和分析仪表板 |
可通过顶部的选择器切换 AI 提供商。支持 OpenAI、Anthropic、Google、DeepSeek、GLM、Qwen、OpenRouter 和 OpenCode Zen。
REST API 端点
所有端点均接受 multipart/form-data,并支持以下可选请求头:
| 请求头 | 描述 |
|---|---|
x-api-key | 你的 AI 提供商 API 密钥 |
x-ai-provider | openai / anthropic / google / deepseek / glm / qwen / openrouter / opencodezen |
x-ai-model | 特定模型 ID |
# Parse a single resume
curl -X POST http://localhost:3000/api/parse \
-H "x-api-key: sk-..." \
-F "[email protected]"
# Batch parse (up to 20 files)
curl -X POST http://localhost:3000/api/batch-parse \
-H "x-api-key: sk-..." \
-F "[email protected]" \
-F "[email protected]"
# MCP endpoint (Streamable HTTP)
curl -X POST http://localhost:3000/api/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/list","id":1}'
# Export parsed data
curl -X POST http://localhost:3000/api/export \
-H "Content-Type: application/json" \
-d '{"format":"csv","results":[...]}'
技术栈
| 层 | 技术 |
|---|---|
| 框架 | Next.js 16(App Router、Turbopack)、React 19、TypeScript |
| AI | Vercel AI SDK v6,多提供商支持(OpenAI、Anthropic、Google、DeepSeek、GLM、Qwen、OpenRouter) |
| MCP | @modelcontextprotocol/sdk v1.29 — Streamable HTTP + stdio 传输方式 |
| 解析 | pdf-parse v2、mammoth、cheerio |
| NLP | TF-IDF、NER、余弦相似度、Jaccard 指数(均在进程内运行,无需外部服务) |
| 架构 | Zod v4 |
| 导出 | ExcelJS(CSV/XLSX)、jsPDF + jspdf-autotable |
| 电子邮件 | Nodemailer |
| 样式 | Tailwind CSS v4、Framer Motion |
开发
npm install
# Start dev server (Web UI at :3000 + MCP at /api/mcp)
npm run dev
# Build the standalone MCP CLI (stdio transport)
npm run build:mcp
# Build the Next.js app for production
npm run build
# Test MCP with the official inspector
npx @modelcontextprotocol/inspector http://localhost:3000/api/mcp
npx @modelcontextprotocol/inspector node dist/mcp-stdio.js
# Lint
npm run lint
项目结构
src/
├── app/
│ ├── page.tsx # Main UI (tabs, provider selector, chat, ATS)
│ ├── layout.tsx # Root layout + global styles
│ └── api/
│ ├── parse/route.ts # Single resume parse
│ ├── batch-parse/route.ts
│ ├── chat/route.ts # Conversational AI with tool access
│ ├── mcp/route.ts # MCP server (Streamable HTTP)
│ ├── models/route.ts # Provider model listing
│ ├── export/route.ts # JSON / CSV / PDF export
│ └── email/route.ts # SMTP email
├── components/ # React UI components (parse, batch, chat, ATS)
│ └── ats/ # ATS-specific views (Kanban, Dashboard, Scheduler…)
└── lib/
├── ai-model.ts # Multi-provider model config (no env fallback)
├── mcp-server.ts # MCP server — registers all 21 tools
├── schemas/
│ ├── resume.ts # Zod v4 ResumeSchema
│ └── criteria.ts # Assessment criteria schema
├── analysis/
│ ├── pipeline.ts # 5-stage pipeline orchestrator
│ ├── sanitizer.ts # Text cleaning
│ ├── keyword-extractor.ts # TF-IDF
│ ├── classifier.ts # NER with context disambiguation
│ ├── pattern-matcher.ts # Regex extraction (metrics, dates, contacts)
│ └── scoring.ts # Cosine similarity, Jaccard, skill matching
├── parser/
│ ├── pdf.ts, docx.ts, text.ts, markdown.ts, url.ts
│ └── index.ts
├── ats/
│ ├── types.ts # ATS entity types
│ ├── store.ts # In-memory ATS state
│ ├── demo-data.ts # Realistic seed data generator
│ └── context.tsx # React context for ATS state
└── tools/
├── parse-resume.ts # parse_resume
├── inspect-pipeline.ts # inspect_pipeline
├── export-results.ts # export_results
├── send-email.ts # send_email
└── mcp/ # 17 MCP-specific tools
├── analyze-resume.ts # analyze_resume (unified: keywords, patterns, entities, skills, experience, similarity)
├── batch-parse.ts # batch_parse_resumes
├── assess-candidate.ts # assess_candidate
├── ats-manage-candidates.ts # ats_manage_candidates (includes rank/filter/compare/summarize)
├── ats-manage-jobs.ts
├── ats-manage-offers.ts
├── ats-manage-notes.ts
├── ats-analytics.ts # ats_analytics (unified dashboard + pipeline)
├── ats-schedule-interview.ts
├── ats-interview-feedback.ts
├── ats-search.ts
├── ats-generate-demo-data.ts
├── ats-compliance.ts # Enterprise: EEO / GDPR / audit
├── ats-talent-pool.ts # Enterprise: passive candidate CRM
├── ats-scorecard.ts # Enterprise: structured scorecards
├── ats-onboarding.ts # Enterprise: onboarding checklists
└── ats-communication.ts # Enterprise: email templates & history
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。