MCP Hub
Back to servers

bamboohr-mcp

Enables natural language interaction with BambooHR to manage employee records, time off, hiring, and benefits. It provides 74 tools and pre-built workflows to automate HR operations like onboarding, reporting, and performance tracking.

glama
Stars
3
Updated
Mar 9, 2026
Validated
Mar 10, 2026
Gemini_Generated_Image_9padc99padc99pad

Give Claude full access to your BambooHR — employees, time off, hiring, benefits, training, and more.

npm version License: MIT Node >=18 MCP


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

  1. Log in to BambooHR
  2. Click your profile icon (top right) > API Keys
  3. 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

👤 Employees — 6 tools
ToolDescription
bamboohr_get_employeeGet an employee record by ID
bamboohr_list_employeesList all employees in the directory
bamboohr_create_employeeCreate a new employee
bamboohr_update_employeeUpdate employee fields
bamboohr_get_updated_employee_idsGet IDs of recently changed employees
bamboohr_get_company_infoGet company account details
🏖️ Time Off — 8 tools
ToolDescription
bamboohr_get_time_off_typesList all leave types
bamboohr_get_time_off_policiesList all time-off policies
bamboohr_get_time_off_requestsGet requests by date range, status, employee
bamboohr_create_time_off_requestSubmit a time-off request
bamboohr_update_time_off_request_statusApprove, deny, or cancel a request
bamboohr_get_time_off_balanceGet leave balances for an employee
bamboohr_get_whos_outSee who is out during a date range
bamboohr_assign_time_off_policiesAssign policies to an employee
⏱️ Time Tracking — 5 tools
ToolDescription
bamboohr_get_timesheet_entriesGet clock/hour entries
bamboohr_clock_in / bamboohr_clock_outRecord clock events
bamboohr_create_hour_entriesSubmit hour entries
bamboohr_list_break_policiesList break policies
bamboohr_list_employee_break_availabilityCheck break availability
🎯 Applicant Tracking (ATS) — 9 tools
ToolDescription
bamboohr_list_job_summariesList all job openings
bamboohr_create_job_openingCreate a new job opening
bamboohr_create_candidateCreate a candidate record
bamboohr_get_job_applicationsGet applications for a job
bamboohr_get_applicant_statusesList pipeline stages
bamboohr_update_applicant_statusMove a candidate to a new stage
bamboohr_add_application_commentAdd a note to an application
bamboohr_get_hiring_leadsList available hiring leads
bamboohr_get_company_locationsList company locations
🏥 Benefits — 7 tools
ToolDescription
bamboohr_get_company_benefitsList all benefit plans
bamboohr_get_employee_benefitsGet an employee's enrollments
bamboohr_get_benefit_coveragesList coverage tiers
bamboohr_get_benefit_deduction_typesList deduction types
bamboohr_get_employee_dependentsList an employee's dependents
bamboohr_create_employee_dependentAdd a dependent
bamboohr_get_member_benefit_eventsGet benefit life events
📊 Reports & Datasets — 5 tools
ToolDescription
bamboohr_list_reportsList all saved reports
bamboohr_run_reportRun a report by ID
bamboohr_list_datasetsList available datasets
bamboohr_get_dataset_fieldsGet fields for a dataset
bamboohr_query_datasetQuery a dataset with filters
🎓 Training — 6 tools
ToolDescription
bamboohr_get_training_categoriesList training categories
bamboohr_get_training_typesList training types/courses
bamboohr_create_training_typeCreate a training type
bamboohr_get_employee_trainingsGet an employee's training records
bamboohr_create_training_recordAssign training to an employee
bamboohr_update_training_recordUpdate a training record
🏆 Goals & Performance — 7 tools
ToolDescription
bamboohr_list_goalsGet goals for an employee
bamboohr_get_goals_aggregateGet goal summary/stats
bamboohr_create_goalCreate a performance goal
bamboohr_update_goal_progressUpdate percent complete
bamboohr_close_goal / bamboohr_reopen_goalClose or reopen a goal
bamboohr_get_goal_status_countsGet goal status breakdown
🔔 Webhooks — 7 tools
ToolDescription
bamboohr_list_webhooksList all webhooks
bamboohr_get_webhookGet webhook details
bamboohr_create_webhookCreate a new webhook
bamboohr_update_webhookUpdate a webhook
bamboohr_delete_webhookDelete a webhook
bamboohr_get_webhook_logsView delivery logs
bamboohr_get_webhook_monitor_fieldsList monitorable fields
📁 Files — 6 tools
ToolDescription
bamboohr_get_employee_filesList files for an employee
bamboohr_get_employee_fileDownload a specific file
bamboohr_upload_employee_fileUpload a file to an employee
bamboohr_delete_employee_fileDelete an employee file
bamboohr_get_company_filesList company-level files
bamboohr_create_employee_file_categoryCreate a file category
⚙️ Account & Metadata — 7 tools
ToolDescription
bamboohr_get_fieldsList all employee fields
bamboohr_get_tabular_fieldsList tabular fields
bamboohr_get_usersList BambooHR user accounts
bamboohr_get_countriesList countries
bamboohr_get_statesList states for a country
bamboohr_get_list_field_detailsGet options for a list field
bamboohr_update_list_field_valuesAdd/update list field options

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.

SkillTry saying...
onboard-employee"Onboard Sarah Chen starting Monday in Engineering"
offboard-employee"Process termination for Bob Lee, last day is Friday"
bulk-update-records"Update all Engineering employees to the Austin office"
manage-documents"Show me Jane Doe's employee files"
sync-org-changes"Move Alex to the Platform team reporting to Maria"
audit-employee-data"Find all employees missing a work email"

📈 HR Manager / HRBP

For strategic HR visibility, analytics, and reporting.

SkillTry saying...
headcount-report"Headcount report by department"
workforce-snapshot"Give me a workforce snapshot"
run-custom-report"Run a report of all employees in California"
performance-overview"Performance overview for the Engineering team"
new-hire-trends"Show new hires for Q1 2025"

🎯 Recruiter / Talent Acquisition

For managing job openings, candidates, and hiring pipelines.

SkillTry saying...
post-job-opening"Post a Senior Engineer role in Austin, TX"
review-pipeline"Review the pipeline for the Product Manager role"
advance-candidate"Move Jane Smith to the Final Interview stage"
hiring-velocity-report"What's our average time-to-fill?"

👔 Manager / Team Lead

For team-level visibility and day-to-day approvals.

SkillTry saying...
approve-time-off"Review pending PTO requests for my team"
team-availability"Who's out next week?"
team-directory"Show me my team roster"
review-team-goals"Show team goal progress for Q2"
approve-timesheets"Review timesheets for last week"

🙋 Employee Self-Service

For employees managing their own HR needs.

SkillTry saying...
request-time-off"Request 3 days off starting June 10"
check-leave-balance"How many PTO days do I have left?"
update-profile"Update my home address in BambooHR"
view-my-trainings"What trainings am I assigned?"

💼 Payroll & Benefits Admin

For managing benefits enrollment and compensation data.

SkillTry saying...
benefits-status-check"Check benefits enrollment for John Doe"
dependent-enrollment"Add a dependent for Sarah Chen — newborn daughter"
compensation-audit"Run a compensation audit for Engineering"

🎓 Training & L&D

For tracking learning programs and compliance.

SkillTry saying...
assign-training"Assign HIPAA training to all new hires in HR"
compliance-report"Training compliance report for Q2"
manage-catalog"Show our full training catalog"

⚡ Automation Admin

For teams integrating BambooHR with other systems via webhooks.

SkillTry saying...
setup-webhook"Create a webhook that fires when job title changes"
debug-webhook"Show recent webhook logs for my HRIS sync"
automation-overview"What automations are connected to BambooHR?"

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


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.

Reviews

No reviews yet

Sign in to write a review