Give Claude full access to your BambooHR — employees, time off, hiring, benefits, training, and more.
A Model Context Protocol server that connects Claude to BambooHR. Install once, then talk to your HR data in plain English — no dashboards, no manual exports.
"Who's out next week?"
"Onboard Sarah Chen starting Monday — Engineering, reports to Maria."
"Show training compliance for the Sales team."
"Approve all pending PTO requests for my team."
"What's our average time-to-fill for engineering roles?"
What's included
🔧 74 MCP Tools Full BambooHR API coverage across 11 modules — employees, time off, time tracking, ATS, benefits, training, goals, reports, webhooks, files, and metadata.
📦 Zero-deploy setup
Ships as an npx-runnable package. Add two lines to your Claude config and you're done.
🎭 30 Role-Based Skills Pre-built workflows for HR admins, managers, recruiters, employees, payroll, L&D, and automation admins — organized by who uses them.
🔌 Works everywhere Claude Desktop, Claude Code CLI, or any MCP-compatible client.
Quickstart
Step 1 — Get your BambooHR API key
- Log in to BambooHR
- Click your profile icon (top right) > API Keys
- Click Add New Key, name it, and copy it
Your subdomain is the prefix in your BambooHR URL — e.g. acme from acme.bamboohr.com.
Step 2 — Add to Claude Desktop
Edit your config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"bamboohr": {
"command": "npx",
"args": ["-y", "bamboohr-mcp"],
"env": {
"BAMBOOHR_API_KEY": "your-api-key-here",
"BAMBOOHR_SUBDOMAIN": "your-company-subdomain"
}
}
}
}
Restart Claude Desktop.
Step 3 — Or add to Claude Code (CLI)
claude mcp add bamboohr \
-e BAMBOOHR_API_KEY=your-api-key-here \
-e BAMBOOHR_SUBDOMAIN=your-company-subdomain \
-- npx -y bamboohr-mcp
Step 4 — Verify
Open Claude and ask: "Show me the BambooHR employee directory"
Available Tools
Skills — Role-Based Workflows
Skills are pre-built prompts that handle common HR workflows end-to-end. Copy them to ~/.claude/skills/ to use them in Claude Code.
# Install all skills at once
cp -r skills/* ~/.claude/skills/
🗂️ HR Admin
For the people running day-to-day HR operations.
📈 HR Manager / HRBP
For strategic HR visibility, analytics, and reporting.
🎯 Recruiter / Talent Acquisition
For managing job openings, candidates, and hiring pipelines.
👔 Manager / Team Lead
For team-level visibility and day-to-day approvals.
🙋 Employee Self-Service
For employees managing their own HR needs.
💼 Payroll & Benefits Admin
For managing benefits enrollment and compensation data.
🎓 Training & L&D
For tracking learning programs and compliance.
⚡ Automation Admin
For teams integrating BambooHR with other systems via webhooks.
Development
git clone https://github.com/acalder-techpm/bamboohr-mcp
cd bamboohr-mcp
npm install
npm run build
Test locally:
export BAMBOOHR_API_KEY=your-key
export BAMBOOHR_SUBDOMAIN=your-subdomain
node dist/index.js
Interactive testing with MCP Inspector:
npx @modelcontextprotocol/inspector node dist/index.js
Authentication
BambooHR uses HTTP Basic Auth with your API key as the username. This server handles it automatically — just set BAMBOOHR_API_KEY.
Tip: API keys inherit the permissions of the user who created them. Use an Admin user's key for full access, or a limited user's key for read-only integrations.
To create a key: BambooHR > Profile icon > API Keys > Add New Key
Examples
Here are three real-world examples showing how Claude uses this MCP server.
Example 1: Check team availability
You say: "Who's out next week on the Engineering team?"
What happens: Claude calls bamboohr_get_whos_out with next week's date range, then cross-references with bamboohr_list_employees filtered to Engineering. It returns a summary like:
3 people out next week in Engineering:
- Sarah Chen - PTO Mon-Wed
- James Park - Sick leave Monday
- Lisa Nguyen - PTO all week
12 of 15 team members available.
Example 2: Onboard a new hire
You say: "Onboard Maria Torres starting March 17, Software Engineer in Platform, reports to Alex Kim, Austin office."
What happens: Claude calls bamboohr_create_employee with the provided details, then calls bamboohr_assign_time_off_policies to set up standard PTO. It returns:
Created employee record for Maria Torres (ID: 4521)
- Department: Platform
- Job Title: Software Engineer
- Location: Austin, TX
- Supervisor: Alex Kim
- Start Date: 2026-03-17
- PTO policies assigned: Standard PTO, Sick Leave, Company Holidays
Example 3: Training compliance report
You say: "Show me who's overdue on HIPAA training in the HR department."
What happens: Claude calls bamboohr_list_employees to get HR department members, then bamboohr_get_employee_trainings for each to check HIPAA completion status. It returns:
HIPAA Training Compliance - HR Department
2 of 8 team members overdue:
- Tom Rivera - due Feb 15, 2026 (22 days overdue)
- Amy Walsh - due Mar 1, 2026 (9 days overdue)
6 members current. Next renewal due: Jun 2026 (Dana Lee).
Privacy Policy
This MCP server acts as a local bridge between Claude and your BambooHR account. Here is how data is handled:
- No data collection. This server does not collect, store, or transmit any data to third parties. It does not phone home, send analytics, or log to external services.
- Local execution only. The server runs on your machine as a local stdio process. All API calls go directly from your machine to BambooHR's API (
api.bamboohr.com). - Credentials stay local. Your
BAMBOOHR_API_KEYandBAMBOOHR_SUBDOMAINare read from local environment variables and are never persisted, logged, or transmitted anywhere other than BambooHR's API. - BambooHR's privacy policy applies. Data returned from the BambooHR API is subject to BambooHR's Privacy Policy. This server does not cache or persist any API responses.
- You control access. The API key's permissions in BambooHR determine what data this server can access. Use a limited-permission key to restrict scope.
Support
- Issues: github.com/acalder-techpm/bamboohr-mcp/issues
- Email: [email protected]
- Discussions: github.com/acalder-techpm/bamboohr-mcp/discussions
Contributing
PRs welcome. If you add a new tool or skill, follow the existing patterns in src/tools/ and skills/ and open a pull request with a brief description of the use case.
License
MIT — made with ☕ and Claude.