@aot-tech/bamboohr-mcp-server
v1.0.4
Published
BambooHR MCP Server
Readme
BambooHR MCP Server
A Model Context Protocol (MCP) server for interacting with BambooHR's API.
Features
Employee Management
- Get All Employees: Retrieve a list of all employees with customizable fields
- Get Employee Details: Get detailed information about a specific employee
- Create Employee: Add new employees to the system
- Update Employee: Modify existing employee information
Time Off Management
- Get Time Off Requests: List time off requests with filtering options
- Create Time Off Request: Submit new time off requests
- Update Time Off Request: Approve, deny, or cancel time off requests
- Get Time Off Balance: Check employee time off balances
Installation
npm install
npm run buildConfiguration
Create a .env file based on .env.example:
BAMBOOHR_COMPANY_DOMAIN=your_company_subdomain
BAMBOOHR_BEARER_TOKEN=your_api_tokenGetting Your API Token
- Log into BambooHR as an administrator
- Click your profile picture in the upper right corner
- Choose "API Keys"
- Click "Add New Key"
- Give it a name and click "Generate Key"
- Copy the API key immediately (you won't be able to see it again)
Usage
As an MCP Server
npm startDevelopment Mode
npm run devAvailable Tools
Employee Tools
bamboohr_get_all_employees
Get all employees with specified fields.
Parameters:
fields(optional): Array of field names to retrieve
bamboohr_get_employee
Get detailed information about a specific employee.
Parameters:
employeeId: The unique ID of the employee
bamboohr_create_employee
Create a new employee.
Parameters:
firstName: Employee's first namelastName: Employee's last nameemail(optional): Email addressdepartment(optional): Department namejobTitle(optional): Job titlehireDate(optional): Hire date (YYYY-MM-DD)supervisorId(optional): Supervisor's employee IDlocation(optional): Work locationworkPhone(optional): Work phone number
bamboohr_update_employee
Update an existing employee's information.
Parameters:
employeeId: The unique ID of the employee- All other parameters from create (optional)
Time Off Tools
bamboohr_get_time_off_requests
Get time off requests with filtering options.
Parameters:
employeeId(optional): Filter by employeestartDate(optional): Start date (YYYY-MM-DD)endDate(optional): End date (YYYY-MM-DD)status(optional): Filter by status
bamboohr_create_time_off_request
Create a new time off request.
Parameters:
employeeId: Employee IDstart: Start date (YYYY-MM-DD)end: End date (YYYY-MM-DD)timeOffTypeId: Time off type IDamount: Amount of time offunit: 'days' or 'hours'notes(optional): Request notes
bamboohr_update_time_off_request
Update a time off request status.
Parameters:
requestId: Request IDstatus: 'approved', 'denied', or 'canceled'note(optional): Decision note
bamboohr_get_time_off_balance
Get time off balance for an employee.
Parameters:
employeeId: Employee ID
License
MIT
