Ai Hr Management Toolkit
About
Ai Hr Management Toolkit is an AI-powered resume parser and full Applicant Tracking System with 21 MCP tools. It parses PDFs, extracts skills, detects patterns, scores candidates, and manages a complete hiring pipeline — all from an AI assistant without manual work.
Details
- Author
- XJTLUmedia
- GitHub stars
- 1
- Downloads
- 258
- Categories
- Developer Tools
Jump to
- 21 MCP tools covering resume parsing, analysis, and full ATS
- 20 of 21 tools are fully algorithmic — no LLM calls required
- Parse PDF, DOCX, TXT, Markdown, and URLs into structured JSON
- Extract skills, experience, keywords, and entities algorithmically
- Score and rank candidates against job descriptions
- Full ATS: jobs, candidates, interviews, offers, notes, analytics
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Ai Hr Management ToolkitCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Add the server to any MCP client (Claude Desktop, Cursor, VS Code Copilot, Windsurf) using the command npx -y mcp-ai-hr-management-toolkit. No installation beyond pointing the client to the package. An optional global install or remote HTTP endpoint is also available.
parse_resume
Parse a resume file (PDF, DOCX, TXT, MD) or URL and extract text with algorithmic pre-analysis including keyword extraction, metrics detection, section identification, and experience estimation.
analyze_resume
Unified resume analysis tool. Select which analysis aspects to run via the "aspects" parameter: - "keywords" — TF-IDF keyword extraction with NER overlay and skill categorization - "entities" — Named Entity Recognition (12 types with confidence and disambiguation) - "skills" — Categorized skill extraction with proficiency estimation (13 categories) - "experience" — Structured work history with timeline, achievements, and career progression - "patterns" — Date ranges, metrics, seniority detection, and section analysis - "similarity" — Job description matching with fit tier, gap analysis (requires jobDescription) - "all" — Full comprehensive analysis combining all aspects (default) Accepts raw text or a file (base64-encoded PDF/DOCX/TXT/MD or URL). 100% algorithmic — no AI calls needed.
batch_parse_resumes
Parse multiple resume files at once and run the full algorithmic pipeline on each. Returns raw text, pipeline analysis, keywords, entities, and confidence scores for each file. The LLM client should interpret and structure the results.
assess_candidate
Assess a resume against recruiter-defined criteria. Supports 8 criteria axes: Education, Experience, Skills, Certifications, Knowledge Stack, Competitions, Thresholds, and Job Qualification. Returns per-axis scores, weighted overall score, and a pass/review/reject decision.
inspect_pipeline
Run the full 5-node atomic deconstruction pipeline (Ingestion → Sanitization → Tokenization → Classification → Serialization) on resume text. Returns stage-by-stage metrics, confidence scores, entity classification with disambiguation, data quality assessment, and assumption audit. Use this to understand HOW the parser processes a resume and WHERE confidence is low.
ats_manage_candidates
Unified candidate management for the ATS pipeline. Actions: CRUD: add, update, delete, move, bulk_move, list Analytics: rank (sort by fit), filter (by criteria), recommend_stage (suggest moves), compare (side-by-side), summarize (overview stats) Pass the current candidates record and an action. Returns updated state and/or analysis results.
ats_manage_jobs
Manage job postings in the ATS. Actions: create (new job posting), update (edit fields), delete, list (with optional status/department filter), search (by keyword in title/description), close, reopen. Pass current jobs record and an action.
ats_manage_offers
Manage offers in the ATS. Actions: create (validate & structure), update_status (draft→pending-approval→approved→sent→accepted/declined), delete (remove offer), list (all offers with optional filters), compare (side-by-side offer comparison), validate (check for issues). Returns structured offer data.
ats_manage_notes
Manage candidate notes in the ATS. Actions: add (create note on candidate), update (edit note content), list (get all notes for a candidate), delete (remove a note), search (find notes by keyword across one or all candidates), bulk_add (add notes to multiple candidates). Pass the current candidates record.
ats_schedule_interview
Full CRUD for interviews. Actions: create (validate & schedule with conflict detection), update (reschedule/modify), delete (permanent removal), list (filter by candidateId/jobId/status), get (single interview by id). Pass existing interviews record for conflict checks.
ats_interview_feedback
Manage interview feedback in the ATS. Actions: submit (add feedback to completed interview), get (retrieve feedback for an interview), update (modify existing feedback), delete (remove an interview), list_pending (interviews awaiting feedback), list_completed (interviews with feedback, optionally filtered by candidate), analyze (aggregate feedback for a candidate across all interviews), summary (hiring signal summary for a job or all jobs).
ats_analytics
Unified ATS analytics. Select report type: - "dashboard" — Hiring health report: key metrics, stage distribution, offer stats, velocity, insights - "pipeline" — Funnel analysis: conversion rates, avg days-in-stage, bottleneck detection - "full" — Both reports combined
ats_generate_demo_data
Generate a full set of realistic demo data for the ATS (Applicant Tracking System). Returns a complete ATSState with sample jobs, candidates at various pipeline stages, scheduled interviews, and offers. Useful for testing, demonstrations, or populating an empty ATS instance.
ats_search
Global search across the ATS. Actions: search (keyword search across candidates, jobs, interviews, offers — scoped optionally), filter_candidates (structured filter by stage/job/tags/score), get_entity (retrieve a single entity by type+id). Pass the full ATS state.
ats_compliance
Enterprise compliance toolkit: audit trail queries, EEO/EEOC diversity reporting, GDPR data export & erasure (right to be forgotten), data retention policy checks. Actions: query_audit, eeo_report, eeo_record, gdpr_export, gdpr_erase, retention_check, update_settings, get_settings.
ats_talent_pool
Manage passive candidate talent pools (CRM). Create pools, add/remove candidates, search across pools, get pool analytics. Actions: create, update, delete, list, get, add_candidates, remove_candidates, search, analytics.
ats_scorecard
Structured interview scorecards — create evaluation templates with weighted criteria, fill scorecards per candidate/evaluator, update templates and entries, aggregate scores to rank candidates, ensure consistent hiring decisions. Actions: create_template, list_templates, get_template, update_template, delete_template, fill, get_entry, update_entry, get_candidate_scores, aggregate, delete_entry.
ats_onboarding
Post-hire onboarding checklist management. Create checklists with categorized tasks (paperwork, IT setup, training, orientation, compliance), track per-task progress, find overdue items, manage assignees. Actions: create, list, get, update_task, add_task, remove_task, progress, delete, overdue.
ats_communication
Candidate communication management — create email templates with {{variable}} interpolation, preview and send messages, log inbound/outbound communications, search history, and get communication stats. Actions: create_template, list_templates, get_template, update_template, delete_template, preview, send, log, get_history, search_history, stats.
parsing_health
Monitor parsing quality, detect drift when resume formats change, submit human corrections, and view learned error patterns. Use 'check_drift' to see if parsing quality has degraded. Use 'submit_correction' to feed back human corrections that improve pattern detection. Use 'calibrate_baseline' after confirming parsing quality is good to set the reference point.
export_results
Export parsed resume results to a specified format (JSON, CSV, or Markdown). Accepts an array of structured resume results and returns formatted output.
send_email
Send parsed resume results via email using SMTP. Requires SMTP configuration (host, port, user, pass) and recipient email. Sends an HTML summary of all results.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"ai hr management toolkit": {
"ai-hr-management-toolkit": {
"command": "npx",
"args": [
"-y",
"mcp-ai-hr-management-toolkit"
]
}
}
}
}
McpServers
{
"ai-hr-management-toolkit": {
"command": "npx",
"args": [
"-y",
"mcp-ai-hr-management-toolkit"
]
}
}
AI HR Management Toolkit
> AI-powered resume parser & full Applicant Tracking System with 21 MCP tools. Parse PDFs, extract skills, detect patterns, score candidates, and manage a complete hiring pipeline — all from your AI assistant, no manual work required.
Live demo: https://ai-hr-management-toolkit.vercel.app
<a href="https://glama.ai/mcp/servers/mcp-ai-hr-management-toolkit">
</a>
---
What Is This?
You have 50 resumes to screen. Your AI assistant can reason about candidates — but it cannot open PDFs, extract structured data, or track pipeline stages. This toolkit bridges that gap.
Give your AI assistant 21 tools covering the entire hiring workflow:
- Parse PDFs, DOCX, TXT, Markdown, and URLs into structured JSON
- Extract skills, experience, keywords, and entities algorithmically
- Score and rank candidates against job descriptions
- Run a full ATS: jobs, candidates, interviews, offers, notes, and analytics
20 of 21 tools are 100% algorithmic — no LLM calls, no API keys required. The AI calls tools, interprets the results, and delivers analysis. You just ask questions.
---
Quick Start (MCP Clients)
No installation needed. Point your MCP client at the package:
Claude Desktop — Edit %APPDATA%\Claude\claude_desktop_config.json (Windows) or ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"ai-hr-management-toolkit": {
"command": "npx",
"args": ["-y", "mcp-ai-hr-management-toolkit"]
}
}
}
Example usage:
Cursor — Add to .cursor/mcp.json in your project root:
{
"mcpServers": {
"ai-hr-management-toolkit": {
"command": "npx",
"args": ["-y", "mcp-ai-hr-management-toolkit"]
}
}
}
VS Code Copilot — Create .vscode/mcp.json in your project root:
{
"servers": {
"ai-hr-management-toolkit": {
"command": "npx",
"args": ["-y", "mcp-ai-hr-management-toolkit"]
}
}
}
> VS Code users: Run the npx command from a directory that contains a package.json (i.e. any project root). The cwd key in .vscode/mcp.json can override the working directory if needed.
Windsurf / other MCP clients — Use the same npx pattern above.
---
Installation Options
Option 1: NPX (Zero-install, recommended)
Works from any project directory (requires a package.json in the working directory):
{
"mcpServers": {
"ai-hr-management-toolkit": {
"command": "npx",
"args": ["-y", "mcp-ai-hr-management-toolkit"]
}
}
}
Option 2: Global install
Install once, use from any directory:
npm install -g mcp-ai-hr-management-toolkit
{
"mcpServers": {
"ai-hr-management-toolkit": {
"command": "mcp-ai-hr-management-toolkit",
"args": []
}
}
}
Option 3: Remote HTTP endpoint
Deploy the Next.js app and use the Streamable HTTP transport:
https://your-domain.com/api/mcp
Test locally:
npx @modelcontextprotocol/inspector http://localhost:3000/api/mcp
Option 4: Local development (Web UI + MCP)
git clone <repo-url>
cd Resume-parser
npm install
npm run dev
Web UI at http://localhost:3000. MCP endpoint at http://localhost:3000/api/mcp. No .env needed — configure API keys in the UI or pass them per tool call.
---
All 21 MCP Tools
All tools return structured JSON with next_steps hints so the AI knows what to call next.
Resume Parsing & Ingestion
| Tool | What it does | AI? |
|------|-------------|:---:|
| parse_resume | Parse PDF / DOCX / TXT / MD / URL → raw text + contacts, keywords, section map | No |
| batch_parse_resumes | Parse up to 20 files in one call, full pipeline on each | No |
| inspect_pipeline | Run the 5-stage analysis pipeline → confidence scores, entity counts, data quality report | No |
Unified Analysis
| Tool | What it does | AI? |
|------|-------------|:---:|
| analyze_resume | Master analysis tool with selectable aspects: keywords (TF-IDF + bigrams), patterns (date ranges, metrics, team sizes, career trajectory), entities (NER with 12 types + context disambiguation), skills (13 categories with proficiency estimation), experience (structured timeline), similarity (cosine, Jaccard, TF-IDF overlap vs. job description), or all | No |
> analyze_resume consolidates what were previously 7 separate tools (extract_keywords, detect_patterns, classify_entities, extract_skills_structured, extract_experience_structured, compute_similarity, analyze_resume_comprehensive) into a single entry point with aspect selection.
Candidate Matching & Scoring
| Tool | What it does | AI? |
|------|-------------|:---:|
| assess_candidate | Score against up to 8 weighted criteria axes → weighted total + pass / review / reject decision | Optional |
Export & Notifications
| Tool | What it does | AI? |
|------|-------------|:---:|
| export_results | Export structured parse results to JSON or CSV | No |
| send_email | Send results via SMTP (config passed per call — no server-side secrets stored) | No |
ATS — Jobs
| Tool | What it does | AI? |
|------|-------------|:---:|
| ats_manage_jobs | Full CRUD for job postings: create, read, update, delete, list, search by title/department/status | No |
ATS — Candidates & Pipeline
| Tool | What it does | AI? |
|------|-------------|:---:|
| ats_manage_candidates | CRUD + analytics: add, update, move stage, bulk-move, filter, rank, compare, recommend stage changes, summarize | No |
| ats_analytics | Unified dashboard + pipeline analytics: stage distribution, conversion rates, avg time-in-stage, bottleneck detection, offer acceptance rate | No |
| ats_search | Global full-text search across all ATS entities (candidates, jobs, interviews, offers, notes) | No |
ATS — Interviews
| Tool | What it does | AI? |
|------|-------------|:---:|
| ats_schedule_interview | Create, update, and delete interviews with conflict detection and interviewer availability check | No |
| ats_interview_feedback | Submit structured feedback, compute consensus score, summarize feedback across all interviewers | No |
ATS — Offers & Notes
| Tool | What it does | AI? |
|------|-------------|:---:|
| ats_manage_offers | Full offer lifecycle: draft → pending → approved → sent → accepted / declined / expired | No |
| ats_manage_notes | Add, update, search, and delete timestamped candidate notes | No |
ATS — Enterprise HR
| Tool | What it does | AI? |
|------|-------------|:---:|
| ats_compliance | EEO/EEOC reporting, GDPR export/erasure, audit trail, data retention policies | No |
| ats_talent_pool | Passive candidate talent pools (CRM): create pools, add/remove candidates, search, analytics | No |
| ats_scorecard | Structured interview scorecards with weighted criteria, per-evaluator scores, aggregate rankings | No |
| ats_onboarding | Post-hire onboarding checklists: tasks by category, assignees, progress tracking, overdue alerts | No |
| ats_communication | Email templates with {{variable}} interpolation, send/preview, communication history, stats | No |
Testing & Seeding
| Tool | What it does | AI? |
|------|-------------|:---:|
| ats_generate_demo_data | Generate a realistic sample ATS dataset (jobs, candidates, interviews, offers) for testing | No |
> assess_candidate optionally calls an LLM when you supply provider + apiKey; it falls back to fully algorithmic scoring otherwise.
---
Example Multi-Turn Flow
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"
---
Analysis Pipeline
Every resume runs through a 5-stage algorithmic pipeline:
┌─────────────┐ ┌──────────────┐ ┌──────────────┐ ┌────────────────┐ ┌───────────────┐
│ Ingestion │───▶│ Sanitization │───▶│ Tokenization │───▶│ Classification │───▶│ Serialization │
│ (file/URL) │ │ (noise trim) │ │ (TF-IDF) │ │ (NER + disamb) │ │ (structured) │
└─────────────┘ └──────────────┘ └──────────────┘ └────────────────┘ └───────────────┘
1. Ingestion — PDF via pdf-parse v2, DOCX via mammoth, HTML/URL via cheerio, plain text/markdown natively
2. Sanitization — Removes non-ASCII artifacts, normalizes whitespace, strips formatting noise
3. Tokenization — TF-IDF with unigrams, bigrams, and trigrams; scored by document frequency
4. Classification — NER with domain-aware disambiguation (e.g. "Java" as language vs. Indonesian city; "Go" as language vs. verb)
5. Serialization — Maps entities to typed ResumeSchema with confidence scores and data quality metrics
---
Supported File Formats
| Format | Extensions | Parser |
|--------|-----------|--------|
| PDF | .pdf | pdf-parse v2 |
| DOCX | .docx | mammoth |
| Plain text | .txt | direct read |
| Markdown | .md, .markdown | regex-based |
| URL / HTML | any URL string | cheerio |
Max file size: 10 MB
---
Structured Output Schema
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
The app ships with a full web interface:
| Tab | Description |
|-----|-------------|
| Single Parse | Upload one file or paste a URL. Returns structured data, pipeline visualization, and AI-enhanced analysis |
| Batch Parse | Upload up to 20 files. Export to JSON / CSV / PDF or email results |
| Chat | Conversational interface with tool access — ask questions about any parsed resume |
| ATS | Full pipeline board: jobs, candidates (Kanban), interviews, offers, and analytics dashboard |
Switch AI providers from the selector at the top. Supports OpenAI, Anthropic, Google, DeepSeek, GLM, Qwen, OpenRouter, and OpenCode Zen.
---
REST API Endpoints
All endpoints accept multipart/form-data with optional headers:
| Header | Description |
|--------|-------------|
| x-api-key | Your AI provider API key |
| x-ai-provider | openai / anthropic / google / deepseek / glm / qwen / openrouter / opencodezen |
| x-ai-model | Specific model ID |
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





