com.mcparmory/bamboohr
OCI · GHCR.IO/MCPARMORY/BAMBOOHR:1.0.6 · 2 COMPONENTS · SCANNED SEP 20
Manage employee records, time off, benefits, and payroll data
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security0
- Malware scan not yet available for this package.Unverified
- Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
- Install-script risk not yet assessed.Unverified
- Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
Provenance & Transparency32
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: no license is declared. See how to fix → Fail
- Actively maintained (last published 131 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability73
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 22186 tokens (~150/item across 147 items; 147 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management80
- Stability observed for 24 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 14 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 147 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
How do I install the com.mcparmory/bamboohr MCP server?
com.mcparmory/bamboohr runs locally as a container image, launched with docker run --rm -i ghcr.io/mcparmory/bamboohr:1.0.6. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.
oci · ghcr.io/mcparmory/bamboohr:1.0.6
claude mcp add com-mcparmory-bamboohr -- docker run --rm -i ghcr.io/mcparmory/bamboohr:1.0.6
{
"mcpServers": {
"com-mcparmory-bamboohr": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/mcparmory/bamboohr:1.0.6"
]
}
}
} {
"servers": {
"com-mcparmory-bamboohr": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/mcparmory/bamboohr:1.0.6"
]
}
}
} codex mcp add com-mcparmory-bamboohr -- docker run --rm -i ghcr.io/mcparmory/bamboohr:1.0.6
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-mcparmory-bamboohr": {
"type": "local",
"command": [
"docker",
"run",
"--rm",
"-i",
"ghcr.io/mcparmory/bamboohr:1.0.6"
],
"enabled": true
}
}
} mcp_servers:
com-mcparmory-bamboohr:
command: "docker"
args: ["run", "--rm", "-i", "ghcr.io/mcparmory/bamboohr:1.0.6"] {
"McpServers": {
"com-mcparmory-bamboohr": {
"Transport": "stdio",
"Command": "docker",
"Arguments": [
"run",
"--rm",
"-i",
"ghcr.io/mcparmory/bamboohr:1.0.6"
]
}
}
} {
"mcpServers": {
"com-mcparmory-bamboohr": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/mcparmory/bamboohr:1.0.6"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 −3
- Stability: pass → 0.80 functional
- 19 Sept 26 +1
- Stability: 0.97 → pass security
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 −3
- Stability: pass → 0.80 functional
- 12 Sept 26 +1
- Stability: 0.97 → pass security
- 10 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 8 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed oci/ghcr.io/mcparmory/bamboohr:1.0.6
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | oci |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_application_comment Add Application Comment ~105
Adds a comment to a specific job application in the Applicant Tracking System. Requires the API key owner to have access to ATS settings.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | integer | yes | The unique identifier of the job application to which the comment will be added. |
| comment | string | yes | The text content of the comment to post on the application. |
| type | string | – | The category of the comment being posted. Accepts predefined comment type values; defaults to 'comment' if not provided. |
No output schema declared.
No examples provided.
add_goal_comment Add Goal Comment ~93
Adds a new comment to a specific goal belonging to the given employee. Returns the newly created comment object, including its assigned ID.
| Name | Type | Req | Description |
|---|---|---|---|
| employeeId | string | yes | The unique identifier of the employee who owns the goal. |
| goalId | string | yes | The unique identifier of the goal on which the comment will be created. |
| text | string | yes | The text content of the comment to be added to the goal. |
No output schema declared.
No examples provided.
adjust_time_off_balance Adjust Time Off Balance ~187
Creates a balance adjustment for a specific time off type on an employee's account, recorded as an override history entry. Not applicable to discretionary (unlimited) time off types.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | yes | The number of hours or days to adjust the balance by; use a positive value to add time or a negative value to deduct time. |
| date | string | yes | The effective date of the balance adjustment as it will appear in history, in ISO 8601 format (YYYY-MM-DD). |
| employeeId | integer | yes | Unique identifier of the employee whose time off balance is being adjusted. |
| note | string | – | Optional note providing context or reason for the adjustment, visible in the employee's time off history. |
| timeOffTypeId | integer | yes | Unique identifier of the time off type to adjust; must be a non-discretionary (limited) time off type. |
No output schema declared.
No examples provided.
assign_break_policy_employees Assign Break Policy to Employees ~94
Assigns a specific set of employees to a break policy, fully replacing all existing employee assignments with the provided list.
| Name | Type | Req | Description |
|---|---|---|---|
| employeeIds | array | yes | Complete list of employee IDs to assign to the break policy. This fully replaces all current assignments — any employee not included will be unassigned. Order is not significant. |
| id | string | yes | The unique identifier of the break policy whose employee assignments will be replaced. |
No output schema declared.
No examples provided.
assign_employee_time_off_policies Assign Employee Time Off Policies ~143
Assigns one or more time off policies to an employee, with accruals beginning on the specified start date for each policy. Passing a null accrual start date for a policy removes that existing assignment; returns the full updated list of assigned policies on success.
| Name | Type | Req | Description |
|---|---|---|---|
| body | array | – | List of policy assignment objects, each specifying a time off policy and the date on which accruals should begin for that policy. Order is not significant. Set accrualStartDate to null to remove an e… |
| employeeId | integer | yes | The unique identifier of the employee to whom time off policies will be assigned. |
No output schema declared.
No examples provided.
assign_employees_to_break_policy Assign Employees to Break Policy ~88
Assigns one or more employees to an existing break policy, adding them to the policy's membership without affecting any previously assigned employees.
| Name | Type | Req | Description |
|---|---|---|---|
| employeeIds | array | yes | List of employee IDs to add to the break policy. Must contain at least one ID; order is not significant. |
| id | string | yes | The unique identifier of the break policy to which employees will be assigned. |
No output schema declared.
No examples provided.
assign_time_off_policies Assign Time Off Policies ~134
Assigns one or more time off policies to an employee, with accruals beginning on the specified start date for each policy. Returns the employee's full current list of assigned policies, including manual and unlimited policy types.
| Name | Type | Req | Description |
|---|---|---|---|
| body | array | – | A list of policy assignment objects, each specifying a time off policy and the date on which accruals should begin for that policy. Order is not significant. Set accrual start date to null for polici… |
| employeeId | integer | yes | The unique identifier of the employee to whom the time off policies will be assigned. |
No output schema declared.
No examples provided.
bulk_upsert_clock_entries Bulk Upsert Clock Entries ~96
Creates new timesheet clock entries or updates existing ones in a single bulk operation. Entries containing an existing ID are updated; entries without an ID are created as new records.
| Name | Type | Req | Description |
|---|---|---|---|
| entries | array | yes | Array of one or more clock entry objects to create or update. Each entry without an ID will be created as a new record; each entry with an existing ID will update the matching record. Must contain at… |
No output schema declared.
No examples provided.
bulk_upsert_timesheet_entries Bulk Upsert Timesheet Entries ~92
Creates new timesheet hour entries or updates existing ones in a single bulk operation. Entries containing an existing ID are updated; entries without an ID are created as new records.
| Name | Type | Req | Description |
|---|---|---|---|
| hours | array | yes | Array of hour entry objects to create or update. Each entry without an ID will be created as a new record; each entry with an existing ID will update the matching record. Order is not significant. |
No output schema declared.
No examples provided.
clock_in_employee Clock In Employee ~282
Records a clock-in entry for an employee, defaulting to the current server time. To log a historical entry, supply a date, start time, and timezone, and optionally associate the entry with a project, task, break, or note.
| Name | Type | Req | Description |
|---|---|---|---|
| breakId | string | – | UUID of the break type to associate with this timesheet entry. |
| date | string | – | The calendar date of the clock-in entry for historical records. Must follow YYYY-MM-DD format. |
| employeeId | integer | yes | Unique identifier of the employee to clock in. |
| note | string | – | Free-text note to attach to the timesheet entry for additional context. |
| offline | boolean | – | Marks the entry as an offline punch, bypassing shift schedule restrictions. Intended for devices that buffer punches locally and sync them later. |
| projectId | integer | – | Associates the timesheet entry with a specific time tracking project. Required when specifying a task. |
| start | string | – | The clock-in time for historical entries in 24-hour HH:MM format, ranging from 00:00 to 23:59. |
| taskId | integer | – | Associates the timesheet entry with a specific task within the given project. Requires projectId to be provided. |
| timezone | string | – | IANA timezone name used to interpret the date and start time for historical clock-in entries. |
No output schema declared.
No examples provided.
clock_out_employee Clock Out Employee ~176
Records a clock-out entry for a currently clocked-in employee, defaulting to the current server time. To log a historical clock-out, supply a date, end time, and timezone.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | The calendar date of the clock-out entry, required when recording a historical entry rather than clocking out at the current server time. Must follow YYYY-MM-DD format. |
| employeeId | integer | yes | The unique identifier of the employee to clock out. |
| end | string | – | The clock-out time for a historical entry, expressed in 24-hour HH:MM format where hours range from 00–23 and minutes from 00–59. |
| timezone | string | – | The IANA timezone name associated with the clock-out time, required when recording a historical entry to ensure the end time is interpreted correctly. |
No output schema declared.
No examples provided.
close_goal Close Goal ~112
Closes an employee's goal by transitioning it to closed status, optionally recording a comment at the time of closure. Note: cascading goals that have visible child goals cannot be closed.
| Name | Type | Req | Description |
|---|---|---|---|
| comment | string | – | An optional note to record alongside the goal closure, useful for documenting the reason or context for closing. |
| employeeId | string | yes | The unique identifier of the employee whose goal is being closed. |
| goalId | string | yes | The unique identifier of the goal to be closed, associated with the specified employee. |
No output schema declared.
No examples provided.
create_break Create Break ~315
Creates a new break and associates it with the specified break policy. Configure the break's name, pay status, duration, and availability rules to control when employees can take it.
| Name | Type | Req | Description |
|---|---|---|---|
| availabilityEndTime | string | – | The latest clock time by which the break must be taken, in HH:MM 24-hour format; applicable when availabilityType is 'time_of_day'. |
| availabilityMaxHoursWorked | number | – | The maximum number of hours an employee can work before this break must be taken; applicable when availabilityType is 'hours_worked'. |
| availabilityMinHoursWorked | number | – | The minimum number of hours an employee must have worked before this break becomes available; applicable when availabilityType is 'hours_worked'. |
| availabilityStartTime | string | – | The earliest clock time at which the break can be taken, in HH:MM 24-hour format; applicable when availabilityType is 'time_of_day'. |
| availabilityType | string | – | Controls when the break becomes available: 'anytime' allows it at any point, 'hours_worked' gates it on hours worked thresholds, and 'time_of_day' restricts it to a specific time window. |
| duration | integer | – | How long the break lasts, expressed in whole minutes. |
| id | string | yes | The unique identifier of the break policy to associate the new break with. |
| name | string | – | A descriptive label for the break, used to identify it within the policy. |
| paid | boolean | – | Indicates whether employees are compensated during this break. |
No output schema declared.
No examples provided.
create_break_policy Create Break Policy ~167
Creates a new break policy for time tracking compliance, optionally including break definitions and employee assignments in a single request.
| Name | Type | Req | Description |
|---|---|---|---|
| allEmployeesAssigned | boolean | – | When set to true, automatically assigns this break policy to all employees, superseding any individual employee assignments. |
| breaks | array | – | List of break definitions to create and associate with this policy simultaneously. Each item defines a break's rules and timing configuration. |
| description | string | – | Optional human-readable description providing additional context about the policy's purpose or compliance requirements. |
| employeeIds | array | – | List of employee IDs to assign to this policy. Ignored if allEmployeesAssigned is true. Order is not significant. |
| name | string | yes | Display name for the break policy, typically reflecting the jurisdiction or compliance context it applies to. |
No output schema declared.
No examples provided.
create_candidate Create Candidate ~514
Submit a new candidate application for a specific job opening in the Applicant Tracking System. Requires ATS settings access; only fields mandated by the target job's standard questions need to be provided beyond the three required fields.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | – | The candidate's street address. |
| city | string | – | The city of the candidate's address. |
| collegeName | string | – | The name of the college or university the candidate attended. |
| country | string | – | The country of the candidate's address; accepts full country name or ISO country code. |
| coverLetter | string | – | Base64-encoded file content for upload. The candidate's cover letter file; accepted formats include PDF, Word documents, plain text, RTF, and common image types. |
| dateAvailable | string | – | The date the candidate is available to start, in ISO 8601 date format (YYYY-MM-DD). |
| desiredSalary | string | – | The candidate's desired compensation or salary expectation. |
| string | – | The candidate's email address, used for communication and deduplication. | |
| firstName | string | yes | The candidate's first name. |
| highestEducation | string | – | The highest level of education the candidate has completed; must match one of the predefined education level values. |
| jobId | integer | yes | The unique identifier of the job opening this application is being submitted for. |
| lastName | string | yes | The candidate's last name. |
| linkedinUrl | string | – | The candidate's LinkedIn profile URL; must be a valid LinkedIn URL matching the required domain pattern. |
| phoneNumber | string | – | The candidate's phone number, including country code if applicable. |
| references | string | – | Professional or personal references provided by the candidate. |
| referredBy | string | – | The name of the person or organization that referred the candidate. |
| resume | string | – | Base64-encoded file content for upload. The candidate's resume file; accepted formats include PDF, Word documents, plain text, RTF, and common image types. |
| source | string | – | The channel or platform through which the candidate was sourced, such as a job board or professional network. |
| state | string | – | The state or province of the candidate's address; accepts full name, abbreviation, or ISO code. |
| websiteUrl | string | – | The URL of the candidate's personal website, blog, or online portfolio; must be a valid URL. |
| zip | string | – | The zip or postal code of the candidate's address. |
No output schema declared.
No examples provided.
create_employee Create Employee ~219
Creates a new employee record with at minimum a first and last name; additional fields such as payroll, contact, and job details can be included using any valid employee field name discoverable via the list-fields endpoint. Employees added to a Trax Payroll-synced pay schedule require a full set of payroll-related fields including SSN/EIN, compensation, and location details.
| Name | Type | Req | Description |
|---|---|---|---|
| department | string | – | Name of the department the employee belongs to; must match an existing department name in the system. |
| firstName | string | yes | Employee's legal first name as it should appear on official records and payroll documents. |
| hireDate | string | – | The date the employee was officially hired, formatted as a calendar date in YYYY-MM-DD format. |
| jobTitle | string | – | Employee's job title reflecting their role or position within the organization. |
| lastName | string | yes | Employee's legal last name as it should appear on official records and payroll documents. |
| workEmail | string | – | Employee's work email address used for company communications and system access. |
No output schema declared.
No examples provided.
create_employee_dependent Create Employee Dependent ~491
Creates a new dependent record associated with a specific employee, capturing personal, demographic, and address details. The employee must exist, and sensitive fields like SSN and SIN are accepted as plain text and stored encrypted.
| Name | Type | Req | Description |
|---|---|---|---|
| addressLine1 | string | – | The first line of the dependent's street address, typically including street number and name. |
| addressLine2 | string | – | The second line of the dependent's address, used for suite, apartment, or unit information. |
| city | string | – | The city portion of the dependent's address. |
| country | string | – | The dependent's country, provided as an ISO 3166-1 alpha-2 two-letter country code. When retrieved, the API returns the full country name. |
| dateOfBirth | string | – | The dependent's date of birth, formatted as a calendar date in YYYY-MM-DD format. |
| employeeId | string | yes | The unique identifier of the employee to whom this dependent belongs. Must reference an existing employee record. |
| firstName | string | – | The dependent's first name. |
| gender | string | – | The dependent's gender. Must be a valid gender value as recognized by the API. |
| homePhone | string | – | The dependent's home phone number. |
| isStudent | string | – | Indicates whether the dependent is currently enrolled as a student. Accepted values are yes or no. |
| isUsCitizen | string | – | Indicates whether the dependent is a US citizen. Accepted values are yes or no. |
| lastName | string | – | The dependent's last name. |
| middleName | string | – | The dependent's middle name. |
| relationship | string | – | The dependent's relationship to the employee. Must be a valid relationship type such as spouse, child, or domestic partner. |
| sin | string | – | The dependent's Social Insurance Number (Canadian equivalent of SSN), submitted as plain text and stored encrypted. When retrieved, the value is returned in masked form. |
| ssn | string | – | The dependent's Social Security Number, submitted as plain text and stored encrypted. When retrieved, the value is returned in masked form showing only the last four digits. |
| state | string | – | The dependent's state, provided as a two-letter state code. When retrieved, the API returns the full state name. |
| zipCode | string | – | The dependent's ZIP or postal code corresponding to their address. |
No output schema declared.
No examples provided.
create_employee_file_categories Create Employee File Categories ~73
Creates one or more employee file categories by accepting a list of category names. An empty payload succeeds without creating anything; duplicate or empty names return an error.
| Name | Type | Req | Description |
|---|---|---|---|
| body | array | – | A list of category name strings to create. Each name must be non-empty and must not already exist. Order is not significant. |
No output schema declared.
No examples provided.
create_employee_goal Create Employee Goal ~293
Creates a new performance goal for a specified employee, including due dates, completion tracking, milestones, and sharing with other employees.
| Name | Type | Req | Description |
|---|---|---|---|
| alignsWithOptionId | integer | – | The identifier of a predefined alignment option that this goal supports, used to link the goal to broader organizational objectives. |
| completionDate | string | – | The date the goal was completed in YYYY-MM-DD format (ISO 8601). Must be provided when percentComplete is set to 100. |
| description | string | – | A detailed explanation of the goal's purpose, expectations, or scope. |
| dueDate | string | yes | The target completion date for the goal in YYYY-MM-DD format (ISO 8601). |
| employeeId | string | yes | The unique identifier of the employee for whom the goal is being created. |
| milestones | array | – | An ordered list of milestone objects that break the goal into smaller steps. Each milestone requires a title field and is tracked independently. |
| percentComplete | integer | – | How far along the goal is, expressed as a whole number between 0 and 100. Defaults to 0 if not provided. A value of 100 indicates the goal is fully complete and requires a completionDate. |
| sharedWithEmployeeIds | array | yes | An unordered list of employee IDs who can view this goal. Must include the goal owner's employee ID. |
| title | string | yes | A short, descriptive title for the goal. |
No output schema declared.
No examples provided.
create_employee_table_row Create Employee Table Row ~251
Appends a new row to a specified tabular data section of an employee record, such as job information or compensation history. Submit field name/value pairs in JSON or XML to record a new entry with an effective date and relevant attributes.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | The effective date for the new row, indicating when the record becomes active. Must follow YYYY-MM-DD format. |
| department | string | – | The department associated with this row entry. |
| division | string | – | The organizational division associated with this row entry. |
| id | string | yes | The unique identifier of the employee whose table will receive the new row. |
| jobTitle | string | – | The job title assigned to the employee for this row entry. |
| location | string | – | The office or work location associated with this row entry. |
| reportsTo | string | – | The identifier of the manager or supervisor this employee reports to for this row entry. |
| table | string | yes | The name of the employee table to append a row to, such as job information or compensation history. |
| teams | array | – | A list of team identifiers or names associated with this row entry. Order is not significant; each item represents a single team affiliation. |
No output schema declared.
No examples provided.
create_employee_table_row_v1_1 Create Employee Table Row ~243
Adds a new row to a specified table in an employee's record, such as job information or compensation history. Accepts row data in JSON or XML format with an optional effective date and relevant field values.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | The date on which the new row becomes effective, in YYYY-MM-DD format following ISO 8601. |
| department | string | – | The department associated with this row entry. |
| division | string | – | The organizational division associated with this row entry. |
| id | string | yes | The unique identifier of the employee whose table will receive the new row. |
| jobTitle | string | – | The job title associated with this row entry. |
| location | string | – | The office or work location associated with this row entry. |
| reportsTo | string | – | The identifier of the manager or supervisor this employee reports to for this row entry. |
| table | string | yes | The name of the employee table to add a row to, such as job information or compensation tables. |
| teams | array | – | A list of team identifiers associated with this row entry; order is not significant and each item represents a single team value. |
No output schema declared.
No examples provided.
create_employee_training_record Create Employee Training Record ~256
Creates a new training record for a specified employee, logging completion date, training type, and optional details such as instructor, hours, credits, cost, and notes. The API key owner must have permission to add training records for the target employee.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | string | – | The monetary cost of the training expressed as a decimal string, used alongside the currency field. |
| completed | string | yes | The date the training was completed, formatted as ISO 8601 calendar date (yyyy-mm-dd). |
| credits | number | – | The number of credits the employee earned upon completing the training. |
| currency | string | – | The currency associated with the training cost, specified as an ISO 4217 three-letter currency code. |
| employeeId | integer | yes | The unique identifier of the employee for whom the training record is being created. |
| hours | number | – | The total duration of the training expressed in hours. |
| instructor | string | – | The full name of the instructor who delivered the training. |
| notes | string | – | Free-text notes providing additional context or details about the training record. |
| type | integer | yes | The identifier of the training type to categorize this record; must correspond to an existing training type ID in the system. |
No output schema declared.
No examples provided.
create_file_categories Create File Categories ~93
Creates one or more company file categories in a single request. Returns 400 if any name is empty or already exists, 403 if the caller lacks permission or a name is reserved, and 200 with no changes if the payload is empty.
| Name | Type | Req | Description |
|---|---|---|---|
| body | array | – | An array of category name strings to create. Each entry must be a non-empty, unique name that is not reserved. Order is not significant. |
No output schema declared.
No examples provided.
create_job_opening Create Job Opening ~714
Creates a new job opening in the Applicant Tracking System (ATS). Requires ATS settings access; use the list_company_locations and list_hiring_leads endpoints to retrieve valid IDs for location and hiring lead fields. Returns the new job opening ID on success.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationQuestionAddress | string | – | Controls whether the address field appears on the application form: hidden, optional, or mandatory. |
| applicationQuestionCollege | string | – | Controls whether the college or university attended field appears on the application form: hidden, optional, or mandatory. |
| applicationQuestionCoverLetter | string | – | Controls whether the cover letter upload field appears on the application form: hidden, optional, or mandatory. |
| applicationQuestionDateAvailable | string | – | Controls whether the availability start date field appears on the application form: hidden, optional, or mandatory. |
| applicationQuestionDesiredSalary | string | – | Controls whether the desired salary field appears on the application form: hidden, optional, or mandatory. |
| applicationQuestionHighestEducation | string | – | Controls whether the highest education level field appears on the application form: hidden, optional, or mandatory. |
| applicationQuestionLinkedinUrl | string | – | Controls whether the LinkedIn profile URL field appears on the application form: hidden, optional, or mandatory. |
| applicationQuestionReferences | string | – | Controls whether the professional references field appears on the application form: hidden, optional, or mandatory. |
| applicationQuestionReferredBy | string | – | Controls whether the referral source field appears on the application form: hidden, optional, or mandatory. |
| applicationQuestionResume | string | – | Controls whether the resume upload field appears on the application form: hidden, optional, or mandatory. |
| applicationQuestionWebsiteUrl | string | – | Controls whether the personal or portfolio website URL field appears on the application form: hidden, optional, or mandatory. |
| compensation | string | – | The pay rate or compensation package details for the job opening, such as salary range or hourly rate. |
| department | string | – | The name of the department this job opening belongs to within the organization. |
| employmentType | string | yes | The employment arrangement type for the role, such as full-time, part-time, or contractor. |
| hiringLead | integer | yes | The employee ID of the person responsible for leading the hiring process, obtained from the list_hiring_leads endpoint. |
| internalJobCode | string | – | An internal identifier or code used by your organization to track or categorize this job opening. |
| jobDescription | string | yes | The full descriptive text of the job opening, including responsibilities, qualifications, and any other relevant details presented to applicants. |
| jobLocation | integer | – | The location ID for the job's physical workplace, obtained from the list_company_locations endpoint. Omit for fully remote positions; required when locationType is 0 (on-site) or 2 (hybrid). |
| jobStatus | string | yes | The current workflow status of the job opening, controlling its visibility and availability in the hiring pipeline. |
| locationType | integer | – | Specifies the work arrangement type: 0 = on-site (requires jobLocation), 1 = fully remote (no jobLocation), 2 = hybrid (requires jobLocation). Defaults to 1 when no jobLocation is provided, or 0 when… |
| minimumExperience | string | – | The minimum career experience level required for a candidate to qualify for this role. |
| postingTitle | string | yes | The public-facing title of the job opening as it will appear in postings. |
No output schema declared.
No examples provided.
create_project Create Time Tracking Project ~238
Creates a new time tracking project with optional task-level tracking and employee access controls. Returns the created project including its ID, tasks, and employee access list when access is restricted.
| Name | Type | Req | Description |
|---|---|---|---|
| allowAllEmployees | boolean | – | Whether all employees are permitted to log time to this project. Set to false and provide employeeIds to restrict access to specific employees. Defaults to true if omitted. |
| billable | boolean | – | Whether time logged to this project is billable. Defaults to true if omitted. |
| employeeIds | array | – | List of employee IDs permitted to log time to this project. Only applied when allowAllEmployees is false; ignored otherwise. |
| hasTasks | boolean | – | Whether the project supports task-level time tracking. When true, at least one task must be provided in the tasks array. Defaults to false if omitted. |
| name | string | yes | Unique display name for the project, no more than 50 characters. |
| tasks | array | – | Tasks to create and associate with the project. Required when hasTasks is true; each task name must be unique within the project and no more than 50 characters. Order is not significant. |
No output schema declared.
No examples provided.
create_time_entry Create Time Entry ~410
Creates a single time tracking hour record for an employee. Use this endpoint for one-off entries; for bulk imports use the batch upsert endpoint.
| Name | Type | Req | Description |
|---|---|---|---|
| dateHoursWorked | string | yes | The calendar date on which the hours were worked, in ISO 8601 full-date format. |
| departmentId | integer | – | The numeric ID of the department to associate with this time entry. Required only when your payroll configuration tracks hours at the department level. |
| divisionId | integer | – | The numeric ID of the division to associate with this time entry. Required only when your payroll configuration tracks hours at the division level. |
| employeeId | integer | yes | The numeric ID of the employee for whom hours are being recorded. |
| hoursWorked | number | yes | The total number of hours worked for this entry, expressed as a decimal number. |
| jobCode | integer | – | An optional numeric job code to associate with this time entry for payroll or reporting purposes. |
| jobData | string | – | An ordered, comma-delimited list of up to four job numbers (each up to 20 characters, no spaces) to associate with this time entry. |
| jobTitleId | integer | – | The numeric ID of the job title to associate with this time entry. Required only when your payroll configuration tracks hours by job title. |
| payCode | string | – | The payroll provider-specific pay code to classify this time entry. Required only when your payroll provider mandates a pay code. |
| payRate | number | – | The hourly rate of pay for this entry, expressed as a decimal number. Required only when your payroll provider mandates a pay rate. |
| rateType | string | yes | Classifies the hours as regular, overtime, or double-time. Must be one of the accepted rate type codes. |
| timeTrackingId | string | yes | A caller-supplied unique identifier for this time entry, used to reference the record for future updates or deletions. Accepts any string up to 36 characters, such as a UUID. |
No output schema declared.
No examples provided.
create_time_off_history_entry Create Time Off History Entry ~274
Records a time off history entry for an employee, either logging usage against an approved time off request or applying a manual balance adjustment. The entry type determines which additional fields are required.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | – | The quantity of hours or days to record for this history entry. Must be provided when eventType is 'override'; positive values increase the balance and negative values decrease it. |
| date | string | yes | The calendar date the history entry applies to, provided in YYYY-MM-DD format. |
| employeeId | integer | yes | The unique identifier of the employee for whom the time off history entry is being created. |
| eventType | string | – | Specifies whether the entry records actual time off usage against an approved request or a manual balance override adjustment. Defaults to 'used' when omitted on this endpoint. |
| note | string | – | An optional free-text note that will be displayed alongside this entry in the employee's time off history. |
| timeOffRequestId | integer | – | The unique identifier of the approved time off request this entry is linked to. Must be provided when eventType is 'used'. |
| timeOffTypeId | integer | – | The unique identifier of the time off type (e.g., vacation, sick leave) to apply the balance adjustment to. Must be provided when eventType is 'override'. |
No output schema declared.
No examples provided.
create_time_off_request Create Time Off Request ~377
Creates a time off request for an employee with an initial status of approved, denied, or requested. Approved and denied requests are recorded directly without triggering approval notifications; supplying a previousRequest ID cancels the original request and replaces it with this one.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | – | The total number of hours or days being requested. This value is ignored when a dates array is provided, in which case the sum of the daily amounts is used instead. |
| dates | array | – | An optional per-day breakdown of the time off request, where each item specifies the date and amount for that day. When provided, the top-level amount field is ignored and the sum of daily amounts is… |
| employeeId | integer | yes | The unique identifier of the employee for whom the time off request is being created. |
| end | string | yes | The last day of the time off period in YYYY-MM-DD format. Must be the same as or later than the start date. |
| notes | array | – | An optional list of notes from the employee or manager providing context or comments about the time off request. Order is not significant. |
| previousRequest | integer | – | The unique identifier of an existing time off request that this request supersedes. The referenced request will be cancelled and replaced by this new request. |
| start | string | yes | The first day of the time off period in YYYY-MM-DD format. |
| status | string | yes | The initial status of the time off request. Use 'requested' to submit for approval; use 'approved' or 'denied' to record a decision directly without triggering approval notifications; 'declined' indi… |
| timeOffTypeId | integer | yes | The unique identifier of the time off type (e.g., vacation, sick leave) to apply to this request. |
No output schema declared.
No examples provided.
create_training_category Create Training Category ~56
Creates a new training category to organize training content. Requires training settings access and returns the newly created TrainingCategory on success.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | The display name for the new training category, used to identify and organize training content. |
No output schema declared.
No examples provided.
create_training_type Create Training Type ~336
Creates a new training type with the specified configuration, including optional renewal schedules, hiring requirements, and completion permissions. Requires training settings access; when renewable is true, frequency must be provided, and dueFromHireDate is only applicable when required is true.
| Name | Type | Req | Description |
|---|---|---|---|
| allowEmployeesToMarkComplete | boolean | – | When true, any employee who can view this training type is also permitted to mark it as complete on their own record. |
| categoryName | string | – | The name of the category to associate with this training type, used to group related trainings together. |
| description | string | – | A detailed description of the training type, providing employees and administrators with context about its purpose or content. |
| dueFromHireDate | integer | – | The number of days after an employee's hire date by which this training must be completed. Only valid when required is true. |
| frequency | integer | – | The number of months between required renewals for this training type. Must be provided when renewable is true; ignored otherwise. |
| id | integer | – | The unique identifier of an existing category to associate with this training type. |
| linkUrl | string | – | An optional URL to attach to this training type, such as a link to course materials or an external training resource. |
| name | string | yes | The display name for the new training type. |
| renewable | boolean | – | Indicates whether this training type must be periodically renewed. When set to true, frequency must also be provided to define the renewal interval in months. |
| required | boolean | – | Indicates whether this training type is mandatory for employees. When true, dueFromHireDate may also be specified. |
No output schema declared.
No examples provided.
delete_break Delete Break ~49
Soft-deletes a time tracking break by its unique identifier, permanently removing it from any associated break policies.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The unique identifier of the break to delete, provided as a UUID. |
No output schema declared.
No examples provided.
delete_break_policy Delete Break Policy ~55
Permanently deletes a break policy by its unique identifier. All associated breaks and employee assignments linked to the policy are also removed.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The unique identifier of the break policy to delete, provided as a UUID. |
No output schema declared.
No examples provided.
delete_clock_entries Delete Clock Entries ~79
Permanently deletes one or more timesheet clock entries by their unique IDs. This operation is idempotent, so submitting IDs for already-deleted entries will not cause errors or require retries.
| Name | Type | Req | Description |
|---|---|---|---|
| clockEntryIds | array | yes | List of one or more clock entry IDs to delete. At least one ID must be provided; order does not matter. |
No output schema declared.
No examples provided.
delete_company_file Delete Company File ~77
Permanently deletes a company file by its unique identifier. Requires write access to company files; returns 404 if the file is not found or 403 if the caller lacks sufficient permissions.
| Name | Type | Req | Description |
|---|---|---|---|
| fileId | integer | yes | The unique numeric identifier of the company file to delete. Must correspond to an existing file the caller has write access to. |
No output schema declared.
No examples provided.
delete_employee_file Delete Employee File ~121
Permanently deletes a specific file associated with an employee record. Returns 200 even if the file was already deleted (idempotent), 404 if the file is not linked to the specified employee, and 403 if the caller lacks permission or the file is managed by BambooPayroll.
| Name | Type | Req | Description |
|---|---|---|---|
| fileId | integer | yes | The numeric ID of the specific file to delete from the employee's record. |
| id | integer | yes | The numeric ID of the employee whose file will be deleted. Pass 0 to automatically resolve to the employee associated with the API key. |
No output schema declared.
No examples provided.
delete_employee_goal Delete Employee Goal ~83
Permanently deletes a specific goal associated with an employee. The goal must belong to the specified employee; returns 204 with no response body on success.
| Name | Type | Req | Description |
|---|---|---|---|
| employeeId | string | yes | The unique identifier of the employee whose goal is being deleted. |
| goalId | string | yes | The unique identifier of the goal to permanently delete, which must belong to the specified employee. |
No output schema declared.
No examples provided.
delete_employee_table_row Delete Employee Table Row ~129
Permanently removes a specific row from a named tabular dataset associated with an employee. Deletion will fail if the row has pending approval changes (409) or is tied to an active pay schedule (412).
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The unique identifier of the employee whose tabular data is being modified. |
| rowId | string | yes | The unique identifier of the specific row to delete within the targeted table. |
| table | string | yes | The name of the tabular dataset from which the row will be deleted, such as job history, compensation records, or a custom tabular field. |
No output schema declared.
No examples provided.
delete_goal_comment Delete Goal Comment ~112
Permanently deletes a specific comment from an employee's goal. The comment must belong to the specified goal, which must be associated with the specified employee. Returns 204 with no response body on success.
| Name | Type | Req | Description |
|---|---|---|---|
| commentId | string | yes | Unique identifier of the comment to delete from the specified goal. |
| employeeId | string | yes | Unique identifier of the employee whose goal contains the comment to be deleted. |
| goalId | string | yes | Unique identifier of the goal associated with the specified employee that contains the target comment. |
No output schema declared.
No examples provided.
delete_hour_entries Delete Hour Entries ~83
Permanently deletes one or more timesheet hour entries by their unique IDs. This operation is idempotent, so submitting IDs for already-deleted entries will not cause errors or require retries.
| Name | Type | Req | Description |
|---|---|---|---|
| hourEntryIds | array | yes | List of one or more timesheet hour entry IDs to delete. At least one ID must be provided; order does not affect the outcome. |
No output schema declared.
No examples provided.
delete_time_tracking_record Delete Time Tracking Record ~92
Permanently deletes a time tracking record and all of its associated revisions by ID. Note that both not-found and invalid ID cases return a 400 invalid-argument response for backward compatibility.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The unique identifier of the time tracking record to delete, up to 36 characters in length (e.g., a UUID). Both not-found and malformed ID values will return a 400 error. |
No output schema declared.
No examples provided.
delete_training_category Delete Training Category ~54
Permanently deletes an existing training category by its unique identifier. The API key owner must have access to training settings to perform this action.
| Name | Type | Req | Description |
|---|---|---|---|
| trainingCategoryId | integer | yes | The unique identifier of the training category to delete. |
No output schema declared.
No examples provided.
delete_training_record Delete Training Record ~61
Permanently deletes an existing employee training record by its unique ID. The API key owner must have view and edit permissions for both the associated employee and training type.
| Name | Type | Req | Description |
|---|---|---|---|
| employeeTrainingRecordId | integer | yes | The unique identifier of the employee training record to delete. |
No output schema declared.
No examples provided.
delete_training_type Delete Training Type ~73
Permanently deletes an existing training type by its ID, requiring training settings access. All employee trainings associated with this type must be removed before this deletion will succeed.
| Name | Type | Req | Description |
|---|---|---|---|
| trainingTypeId | integer | yes | The unique numeric identifier of the training type to delete. All associated employee trainings must be removed before this operation can succeed. |
No output schema declared.
No examples provided.
delete_webhook Delete Webhook ~73
Permanently deletes a webhook associated with the authenticated user's API key. Returns 403 if the webhook belongs to a different API key, or 404 if the webhook does not exist.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | The unique numeric identifier of the webhook to delete. Must correspond to a webhook owned by the authenticated API key. |
No output schema declared.
No examples provided.
download_company_file Download Company File ~85
Downloads the raw content of a company file by its ID, with the response including the appropriate MIME type and original filename as an attachment. Access is granted if the file or its category is shared with employees, shared directly with the requesting user, or the user holds view permission on the file section.
| Name | Type | Req | Description |
|---|---|---|---|
| fileId | integer | yes | The unique identifier of the company file to download. |
No output schema declared.
No examples provided.
download_employee_file Download Employee File ~116
Downloads the binary content of a specific file attached to an employee record, returning it as an attachment with the appropriate MIME type. Returns 403 if access to the employee or file section is denied, and 404 if the file does not exist or is archived.
| Name | Type | Req | Description |
|---|---|---|---|
| fileId | integer | yes | The numeric ID of the specific file to download from the employee's record. |
| id | integer | yes | The numeric ID of the employee whose file is being downloaded. Pass 0 to automatically resolve to the employee associated with the API key. |
No output schema declared.
No examples provided.
get_application Get Application ~62
Retrieves full details for a single job application, including applicant information, job details, screening questions and answers, and status history. Requires the API key owner to have access to ATS settings.
| Name | Type | Req | Description |
|---|---|---|---|
| applicationId | integer | yes | The unique identifier of the job application to retrieve. |
No output schema declared.
No examples provided.
get_break Get Break ~58
Retrieves the full details of a specific time tracking break by its unique identifier, including its name, duration, paid status, and availability configuration.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The unique identifier of the time tracking break to retrieve, provided as a UUID. |
No output schema declared.
No examples provided.
get_break_policy Get Break Policy ~75
Retrieves a single break policy by its unique identifier. Optionally includes counts of associated employees and breaks for summary reporting.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The unique identifier of the break policy to retrieve. |
| includeCounts | boolean | – | When set to true, the response includes the total number of employees and breaks associated with this policy. |
No output schema declared.
No examples provided.
get_company_profile Get Company Profile ~53
Retrieves the company's basic profile information, including legal name, display name, primary address, and contact phone number. Data is sourced from active payroll client metadata for BambooHR Payroll companies, or from account settings for all others.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
What is the com.mcparmory/bamboohr MCP server?
com.mcparmory/bamboohr is an MCP server listed in the public MCP registry as com.mcparmory/bamboohr. Manage employee records, time off, benefits, and payroll data. This page covers its container image (ghcr.io/mcparmory/bamboohr:1.0.6).
Is the com.mcparmory/bamboohr MCP server safe to use?
com.mcparmory/bamboohr scores 49 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the com.mcparmory/bamboohr MCP server expose?
com.mcparmory/bamboohr exposes 147 tools: create_project, list_break_assessments, get_break, update_break, delete_break, and 142 more. Their descriptions and schemas cost roughly 22,186 tokens of context every time the server is loaded.
Is the com.mcparmory/bamboohr MCP server still maintained?
com.mcparmory/bamboohr is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.