Skip to the content.

10. MCP agents

Four working HR agent tools, exposed on one MCP server, built to close specific gaps this playbook had already identified in its own governance and use-case docs, not built as generic demos.

Comp banding for compensation analysts. Bias-mitigated resume screening that closes the “None yet” mitigation gap flagged in 01-use-cases/use-case-library.md. Recruiter intake calibration. A governance policy citation-finder grounded in this repo’s own 03-governance/ docs. Every tool is real, runnable Python with a passing pytest suite, not a prompt-only sketch.

Why this section exists

The rest of the playbook (01 through 09) documents use cases, prompts, and governance in markdown. This section is the part of the playbook that runs: an actual MCP server an agent (Claude, or anything else that speaks MCP) can call. The design choices here are the same ones argued for in 03-governance/, just enforced in code instead of policy prose:

Structure

10-mcp-agents/
  server.py                    single MCP server, registers all four tools
  requirements.txt
  pytest.ini                   makes `pytest` work both per-folder and from here
  README.md                    this file
  ADOPTION-MONITORING.md       how this would actually be operated, not just shipped
  comp_banding/
    tool.py  data/comp_bands.json  test_comp_banding.py  ENABLEMENT.md
  resume_screen/
    tool.py  data/bias_terms.json  test_resume_screen.py  ENABLEMENT.md
  recruiter_intake/
    tool.py  data/skill_synonyms.json  test_recruiter_intake.py  ENABLEMENT.md
  policy_qa/
    tool.py  test_policy_qa.py  ENABLEMENT.md   (reads ../../03-governance/*.md directly)

Quickstart

cd 10-mcp-agents
pip install -r requirements.txt

# run every tool's test suite (32 tests, all four folders, one command)
pytest

# or just one tool's suite, standalone, exactly as its ENABLEMENT.md describes
cd comp_banding && pytest

# start the server
cd 10-mcp-agents && python server.py

# or inspect it interactively
mcp dev server.py

Connect from Claude Desktop by adding to claude_desktop_config.json:

{
  "mcpServers": {
    "hr-ai-agents": {
      "command": "python",
      "args": ["/absolute/path/to/hr-ai-transformation-playbook/10-mcp-agents/server.py"]
    }
  }
}

Tools exposed

MCP tool What it does Backing folder
comp_band_position Where a proposed base pay lands against benchmark bands; blocks banding decisions derived from historical pay comp_banding/
comp_list_known_bands Lists covered role/level/location combinations comp_banding/
screen_resume_against_jd Evidence map of a resume against a JD’s requirements, no score or rank, plus a JD bias-language lint resume_screen/
lint_jd_language Flags gendered-coded wording and protected-class-proxy phrases in any HR text resume_screen/
calibrate_recruiter_intake Turns a raw intake into skill buckets, a Boolean search string, and clarifying questions recruiter_intake/
ask_governance_policy Cites the actual 03-governance/*.md sections relevant to a question; returns no match rather than a fabricated answer policy_qa/

A note on the synthetic data

comp_banding/data/comp_bands.json and every resume/JD sample in the test suites are made up for this build. They’re clearly labeled as such in the data files themselves. Replace the benchmark data with real, licensed survey data before this touches anything real, that’s called out in comp_banding/ENABLEMENT.md too.