Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

com.mcparmory/bamboohr

PYPI · MCPARMORY-BAMBOOHR · 2 COMPONENTS · SCANNED SEP 20

Manage employee records, time off, benefits, and payroll data

+1 this week 76 Trust /100
Trust breakdown (7 categories)

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 Security87
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Install-script risk not yet assessed.Unverified
  • 2 of 46 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency32
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 Management87
  • Stability observed for 26 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 current MCP spec version (2026-07-28).Pass
Install

How do I install the com.mcparmory/bamboohr MCP server?

com.mcparmory/bamboohr runs locally as a PyPI package, launched with uvx mcparmory-bamboohr. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · mcparmory-bamboohr

# add to Claude Code
claude mcp add com-mcparmory-bamboohr -- uvx mcparmory-bamboohr
// .cursor/mcp.json
{
  "mcpServers": {
    "com-mcparmory-bamboohr": {
      "command": "uvx",
      "args": [
        "mcparmory-bamboohr"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-mcparmory-bamboohr": {
      "command": "uvx",
      "args": [
        "mcparmory-bamboohr"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add com-mcparmory-bamboohr -- uvx mcparmory-bamboohr
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-mcparmory-bamboohr": {
      "type": "local",
      "command": [
        "uvx",
        "mcparmory-bamboohr"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-mcparmory-bamboohr --command uvx --arg mcparmory-bamboohr
# ~/.hermes/config.yaml
mcp_servers:
  com-mcparmory-bamboohr:
    command: "uvx"
    args: ["mcparmory-bamboohr"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-mcparmory-bamboohr": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "mcparmory-bamboohr"
      ]
    }
  }
}
# add to Vellum
assistant mcp add com-mcparmory-bamboohr -t stdio -c uvx -a mcparmory-bamboohr
// mcp.json
{
  "mcpServers": {
    "com-mcparmory-bamboohr": {
      "command": "uvx",
      "args": [
        "mcparmory-bamboohr"
      ]
    }
  }
}
Changelog

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 +16
    • Malware scan: unverified → pass security
  • 19 Sept 26 −3
    • Stability: pass → 0.83 functional
  • 18 Sept 26 +1
    • Stability: 0.97 → pass security
  • 17 Sept 26 −15
    • Malware scan: pass → unverified security
  • 16 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 +15
    • Malware scan: unverified → pass security
  • 14 Sept 26 −14
    • Malware scan: pass → unverified security
  • 12 Sept 26 +16
    • Malware scan: unverified → pass security
Diagnostics

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 pypi/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 pypi

Background: How many MCP packages publish verified provenance →

Dependencies 46 packages
Packages resolved 46
Stale 1
No linked repository 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 147 exposed · ~22,186 tokens

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 →

Tool Tokens
list_jobs ~163

Retrieves a list of job opening summaries from the Applicant Tracking System. Supports filtering by status group or specific status IDs, with configurable sorting. Requires ATS settings access.

NameTypeReqDescription
sortBystringThe field by which to sort the returned job openings. Applies to the full result set before pagination.
sortOrderstringThe direction in which to sort results, either ascending or descending.
statusGroupsstringOne or more status group names to filter job openings by, provided as a comma-separated string. Defaults to all non-deleted positions when omitted.
status_idsstringOne or more specific job opening status IDs to filter by, provided as a comma-separated string of integers. When combined with statusGroups, both filters are applied together.

No output schema declared.

No examples provided.

list_list_fields ~82

Retrieves all list fields defined in the account, including each field's ID, alias, options, manageability, and multi-value support. Archived options are included in responses to support historical data references but should not be presented as active selections.

NameTypeReqDescription
formatstringSpecifies the response format as JSON, serving as an alternative to setting the Accept header on the request.

No output schema declared.

No examples provided.

list_member_benefit_events ~65

Retrieves benefit enrollment events for all employees and their dependents over the past year, organized by member. Each entry identifies a member and lists their per-plan coverage events (eligibility granted, enrolled, or loss of coverage) in chronological order. Requires benefit settings access.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_member_benefits ~162

Retrieves a paginated list of benefit enrollment records for all members (employees and dependents) in the company for a specified calendar year, including each member's plans and enrollment status date ranges. Requires benefit admin privileges; non-admin callers receive a 403.

NameTypeReqDescription
calendarYearstringyesThe four-digit calendar year for which to retrieve benefit enrollment data, in YYYY format.
pagestringThe 1-based page number to retrieve; values that resolve to zero or below are rejected with a 400. Defaults to 1.
pageSizestringThe number of benefit records to return per page; must resolve to an integer between 1 and 99 inclusive, otherwise a 400 is returned. Defaults to 25.

No output schema declared.

No examples provided.

list_tabular_fields ~67

Retrieves all tabular (table-based) fields available in the account, including each table's alias and its fields with their IDs, names, and types. Use this to discover valid table names and field metadata required for table row endpoints such as jobInfo, compensation, and employmentStatus.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_time_off_policies ~43

Retrieves all active time off policies for the company, sorted alphabetically by name. Excludes deleted policies and any policies whose associated time off type has been deleted.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_time_off_requests ~322

Retrieves time off requests that overlap a specified date range, requiring both a start and end date. Results can be filtered by request ID, employee, time off type, status, or scoped to requests the caller is authorized to approve.

NameTypeReqDescription
actionstringScopes the response based on the caller's relationship to the requests: all viewable requests, only those the caller can approve, or only the caller's own requests. Defaults to view if omitted.
employeeIdintegerFilters the response to requests belonging to a single employee matching this ID.
endstringyesThe end of the query window in YYYY-MM-DD format; requests that start on or before this date are included. Must be provided alongside the start parameter.
excludeNotestringWhen set to a truthy value, the notes object is omitted from each request in the response, reducing payload size.
idintegerFilters the response to a single time off request matching this ID.
startstringyesThe beginning of the query window in YYYY-MM-DD format; requests that end on or after this date are included. Must be provided alongside the end parameter.
statusstringComma-separated list of statuses to filter results by; accepted values are approved, denied, superceded, requested, and canceled. When omitted, requests of all statuses are returned.
typestringComma-separated list of time off type IDs to filter results by. When omitted, requests of all time off types are returned.

No output schema declared.

No examples provided.

list_time_off_types ~80

Retrieves all active time off types for the company, along with the company's default hours-per-day schedule. Optionally filter to only the types the authenticated employee has permission to request.

NameTypeReqDescription
modestringControls filtering of returned time off types. When set to 'request', results are limited to only the types the authenticated employee has permission to request.

No output schema declared.

No examples provided.

list_timesheet_entries ~162

Retrieves timesheet entries (clock and hour types) for all employees or a filtered subset within a specified date range. Both dates must fall within the last 365 days and are interpreted in the company timezone.

NameTypeReqDescription
employeeIdsstringComma-separated list of employee IDs used to restrict results to specific employees. When omitted, entries for all accessible employees are returned.
endstringyesThe end of the date range to filter timesheet entries, inclusive. Must be a date within the last 365 days, in ISO 8601 date format.
startstringyesThe start of the date range to filter timesheet entries, inclusive. Must be a date within the last 365 days, in ISO 8601 date format.

No output schema declared.

No examples provided.

list_timezones ~148

Retrieves a paginated list of available timezones. Supports pagination, filtering, sorting, and field projection via OData v4 query parameters.

NameTypeReqDescription
filterstringFilters the timezone list using OData v4 filter syntax, enabling conditional expressions on timezone fields to narrow results.
pageintegerThe page number to retrieve within the paginated result set, starting at page 1.
pageSizeintegerThe number of timezone records to return per page. Controls the size of each paginated response.
sortstringSpecifies the sort order of results using OData v4 syntax, allowing ordering by one or more timezone fields in ascending or descending direction.

No output schema declared.

No examples provided.

list_training_categories ~48

Retrieves all training categories defined for the company, returned as an object keyed by category ID with each entry containing the category ID and name. Requires the API key owner to have access to training settings.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_training_types ~75

Retrieves all training types configured for the company, returned as an object keyed by training type ID. Each entry includes the training name, renewable status, renewal frequency, required status, new hire due-date window, category, link URL, description, and self-completion permission. Requires the API key owner to have access to training settings.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_users ~108

Retrieves all users for the company, with each record including user ID, employee ID, name, email, account status, and last login time. Support admin accounts are always excluded; results can be filtered by status and returned as JSON or XML based on the Accept header.

NameTypeReqDescription
statusstringComma-separated list of account statuses to filter results by; only users matching at least one of the provided statuses are returned. Omitting this parameter or providing no recognized values return…

No output schema declared.

No examples provided.

list_webhook_logs ~130

Retrieves recent delivery log entries for a specific webhook, covering the last 14 days and up to 200 entries. Each entry includes the webhook URL, last attempt and success timestamps (UTC datetime or status string), HTTP response code, payload format, and employee IDs in the payload. Note: when the rate limit is exceeded the server returns HTTP 200 with an error object instead of the log array — callers must check for an `error.code` of 429 in the response body before processing results.

NameTypeReqDescription
idintegeryesThe unique numeric identifier of the webhook whose delivery logs should be retrieved.

No output schema declared.

No examples provided.

list_webhook_monitor_fields ~55

Retrieves all employee fields available for webhook monitoring, including each field's numeric ID, human-readable name, and alias. Use the returned field IDs or aliases when specifying the `monitorFields` array during webhook creation or updates.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_webhook_post_fields ~57

Retrieves all available employee fields that can be included in a webhook post body, along with their related table and page record references. Use the returned field IDs or aliases in the `postFields` map when creating or updating a webhook.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_webhooks ~61

Retrieves all webhooks associated with the authenticated API key, returning an empty array if none exist. Each result includes the webhook ID, name, URL, creation datetime, and last fired datetime; use get_webhook to fetch full configuration details for a specific webhook.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_whos_out ~163

Returns a date-sorted list of employees who are out and company holidays for a specified date range. Includes both time off entries and holidays, each identified by type, defaulting to today through the next 14 days when no dates are provided.

NameTypeReqDescription
endstringThe last day of the date range to query, in YYYY-MM-DD format. Defaults to 14 days after the start date when omitted.
filterstringControls visibility filtering on the results. Set to 'off' to bypass the Who's Out visibility filter and return the full unfiltered feed; omitting this parameter leaves filtering enabled.
startstringThe first day of the date range to query, in YYYY-MM-DD format. Defaults to today when omitted.

No output schema declared.

No examples provided.

query_dataset ~497

Retrieve paginated records from a specified dataset by providing a list of fields to return, with optional filtering, sorting, grouping, and aggregation. Use GET /api/v1/datasets/{datasetName}/fields to discover available field names before calling this endpoint.

NameTypeReqDescription
aggregationsarrayOne or more aggregation operations to apply to the result set, each specifying a field and an aggregation function. Supported functions vary by field type: text/bool/options/govIdText support count;…
datasetNamestringyesThe unique name of the dataset to query. Use GET /api/v1/datasets to discover available dataset names.
fieldsarrayyesThe list of field names to include in the response. Use GET /api/v1/datasets/{datasetName}/fields to discover valid field names for the target dataset.
filtersarrayAn array of filter conditions to apply to the query. Each filter references a field, an operator, and a value; the filtered field does not need to be included in the fields list. Supported operators…
groupByarrayAn array containing a single field name by which to group results. Only one field is supported for grouping at a time.
matchstringA full-text search string used to match records across the dataset.
pageintegerThe page number to retrieve when paginating through results. Must be 1 or greater; defaults to 1.
page_sizeintegerThe number of records to return per page. Must be between 1 and 1000; defaults to 500.
showHistoryarrayAn array of entity names corresponding to historical table fields whose full history should be included in the response. Use the entity name values returned by GET /api/v1/datasets/{datasetName}/fiel…
sortByarrayAn ordered array of sort directives, each specifying a field name and direction. Sort priority follows the order of items in the array, with the first item having the highest priority.

No output schema declared.

No examples provided.

reopen_goal ~77

Reopens a previously closed goal for the specified employee, returning it to in-progress status. Returns the updated goal object reflecting the new status.

NameTypeReqDescription
employeeIdstringyesThe unique identifier of the employee whose goal is being reopened.
goalIdstringyesThe unique identifier of the closed goal to be reopened for the specified employee.

No output schema declared.

No examples provided.

replace_break_policy ~218

Performs a full replacement of a break policy and all its associated data, including breaks and employee assignments. Any breaks or assignments not included in the request payload will be removed from the policy.

NameTypeReqDescription
allEmployeesAssignedbooleanWhen set to true, this policy applies to all employees in the organization, superseding individual employee assignments.
breaksarrayComplete list of break definitions to associate with this policy; any breaks previously on the policy that are omitted here will be deleted. Each item should represent a full break configuration.
descriptionstringOptional human-readable description providing additional context about the break policy's purpose or compliance scope.
employeeIdsarrayComplete list of employee IDs to assign to this policy; any employees previously assigned who are omitted here will be unassigned. Ignored if allEmployeesAssigned is true.
idstringyesUnique identifier of the break policy to fully replace.
namestringDisplay name for the break policy, typically reflecting the region or compliance context it applies to.

No output schema declared.

No examples provided.

replace_break_policy_breaks ~121

Replaces the complete set of breaks for a specified break policy. Breaks with an ID are updated, breaks without an ID are created, and any existing breaks omitted from the request are soft-deleted.

NameTypeReqDescription
bodyarrayThe full desired collection of breaks for the policy. Each item with an ID will be updated, items without an ID will be created, and any existing breaks not included will be soft-deleted. Order is no…
idstringyesThe unique identifier of the break policy whose breaks will be replaced.

No output schema declared.

No examples provided.

set_goal_sharing ~119

Replaces the complete list of employees a goal is shared with, overwriting any previous sharing configuration. The goal owner's employee ID must be included in the updated list.

NameTypeReqDescription
employeeIdstringyesThe unique identifier of the employee who owns the goal.
goalIdstringyesThe unique identifier of the goal whose sharing list will be replaced.
sharedWithEmployeeIdsarrayThe complete, replacement list of employee IDs with whom the goal should be shared. Must include the goal owner's employee ID; order is not significant.

No output schema declared.

No examples provided.

unassign_employees_from_break_policy ~100

Removes specific employees from a break policy assignment without affecting the policy itself or other assigned employees. Only applicable to policies that are not configured to apply to all employees.

NameTypeReqDescription
employeeIdsarrayyesList of one or more employee IDs to remove from the break policy; order is not significant and each entry should be a valid employee identifier.
idstringyesUnique identifier of the break policy from which employees will be unassigned.

No output schema declared.

No examples provided.

update_application_status ~93

Updates the status of a specific applicant tracking application. The API key owner must have ATS settings access, and valid status IDs can be retrieved via the Get Applicant Statuses endpoint.

NameTypeReqDescription
applicationIdintegeryesThe unique identifier of the application whose status will be updated.
statusintegeryesThe unique identifier of the status to assign to the application. Retrieve valid status IDs using the Get Applicant Statuses endpoint.

No output schema declared.

No examples provided.

update_break ~342

Partially updates an existing time tracking break by its UUID, modifying only the fields provided in the request body. Returns the full updated break record on success.

NameTypeReqDescription
availabilityEndTimestringThe latest clock time by which the break must be started, in HH:MM 24-hour format; applicable when availabilityType is 'time_of_day'.
availabilityMaxHoursWorkednumberThe maximum number of hours an employee can work before this break must be taken; applicable when availabilityType is 'hours_worked'.
availabilityMinHoursWorkednumberThe minimum number of hours an employee must have worked before this break becomes available; applicable when availabilityType is 'hours_worked'.
availabilityStartTimestringThe earliest clock time at which the break may be started, in HH:MM 24-hour format; applicable when availabilityType is 'time_of_day'.
availabilityTypestringDetermines when the break becomes available: 'anytime' imposes no restriction, 'hours_worked' gates availability on hours worked thresholds, and 'time_of_day' restricts the break to a specific time w…
durationintegerThe length of the break in whole minutes.
idstringyesThe unique identifier of the break to update.
namestringHuman-readable label for the break, used to identify it in schedules and reports.
paidbooleanIndicates whether employees are compensated during this break; true means the break counts toward paid work time.
policyIdstringThe UUID of the break policy this break belongs to, linking it to a set of organizational rules.

No output schema declared.

No examples provided.

update_break_policy ~129

Partially updates an existing break policy by its UUID, modifying only the fields provided in the request body. Returns the full updated break policy on success.

NameTypeReqDescription
allEmployeesAssignedbooleanWhen set to true, this break policy is automatically assigned to all employees rather than a specific subset.
descriptionstringAn optional human-readable description providing additional context about the break policy's purpose or scope.
idstringyesThe unique identifier of the break policy to update.
namestringThe display name for the break policy, typically reflecting a geographic region or compliance context.

No output schema declared.

No examples provided.

update_company_file ~132

Updates metadata for an existing company file, including its display name, category, and employee visibility. Only fields included in the request body are modified; omitted fields remain unchanged.

NameTypeReqDescription
categoryIdstringThe identifier of the category (file section) to move the file into.
fileIdintegeryesThe unique identifier of the company file to update.
namestringThe new display name to assign to the file.
shareWithEmployeestringControls whether the file is visible and accessible to employees; set to 'yes' to share or 'no' to restrict access.

No output schema declared.

No examples provided.

update_dependent ~467

Fully replaces an existing employee dependent record with the provided data. This is a full-replacement operation — all fields must be supplied, as omitted fields will be cleared rather than preserved.

NameTypeReqDescription
addressLine1stringThe first line of the dependent's street address.
addressLine2stringThe second line of the dependent's street address, such as an apartment or suite number.
citystringThe city component of the dependent's address.
countrystringThe dependent's country, provided as an ISO 3166-1 alpha-2 two-letter country code. Read responses return the full country name.
dateOfBirthstringThe dependent's date of birth. Must be provided in YYYY-MM-DD format.
employeeIdstringyesThe ID of the employee this dependent is associated with. Must reference an existing, valid employee.
firstNamestringThe dependent's first name.
genderstringThe dependent's gender. Must be a valid gender value recognized by the system.
homePhonestringThe dependent's home phone number.
idintegeryesThe numeric ID of the employee dependent record to update.
isStudentstringIndicates whether the dependent is currently enrolled as a student. Accepted values are "yes" or "no".
isUsCitizenstringIndicates whether the dependent is a US citizen. Accepted values are "yes" or "no".
lastNamestringThe dependent's last name.
middleNamestringThe dependent's middle name.
relationshipstringThe dependent's relationship to the employee. Must be a valid relationship type recognized by the system.
sinstringThe dependent's Social Insurance Number (Canadian equivalent of SSN), submitted as plain text and stored encrypted. Read responses return a masked value.
ssnstringThe dependent's Social Security Number, submitted as plain text and stored encrypted. Read responses return a masked value.
statestringThe dependent's state, provided as a two-letter state code. Read responses return the full state name.
zipCodestringThe dependent's ZIP or postal code.

No output schema declared.

No examples provided.

update_employee ~361

Update one or more fields for an existing employee by submitting a JSON object or XML document with field name/value pairs. To discover all available field names beyond those listed here, call the list_fields operation (GET /api/v1/meta/fields). Note: if the employee is on a Trax Payroll pay schedule, a comprehensive set of required payroll fields must be included in the request.

NameTypeReqDescription
address1stringFirst line of the employee's street address.
citystringCity component of the employee's address.
countrystringCountry component of the employee's address.
departmentstringName of the department the employee belongs to.
divisionstringName of the division the employee belongs to.
firstNamestringEmployee's legal first name.
hireDatestringDate the employee was hired, in YYYY-MM-DD format (ISO 8601 full date).
homePhonestringEmployee's home phone number.
idstringyesUnique identifier of the employee record to update.
jobTitlestringEmployee's job title.
lastNamestringEmployee's legal last name.
locationstringName of the work location assigned to the employee.
mobilePhonestringEmployee's mobile phone number.
statestringState or province component of the employee's address; values are normalized to standard abbreviations (e.g., full state names are converted to their two-letter code).
workEmailstringEmployee's work email address.
workPhonestringEmployee's work phone number.
zipcodestringZIP or postal code component of the employee's address.

No output schema declared.

No examples provided.

update_employee_file ~183

Updates metadata for an existing employee file, supporting renaming, category reassignment, and toggling employee visibility. Only fields included in the request body are modified; omitted fields remain unchanged.

NameTypeReqDescription
categoryIdintegerThe ID of the file category (section) to move the file into. Omit this field to leave the file in its current category.
fileIdintegeryesThe unique identifier of the employee file to update.
idintegeryesThe unique identifier of the employee whose file is being updated.
namestringThe new display name to assign to the file. Omit this field to leave the current name unchanged.
shareWithEmployeestringControls whether the file is visible to the employee. Accepts 'yes' to share or 'no' to hide; also accepted as 'shareWithEmployees'.

No output schema declared.

No examples provided.

update_employee_table_row ~258

Updates an existing row in a specified employee table by submitting one or more field name/value pairs to modify. Targets a specific row by ID within tables such as job information or compensation history.

NameTypeReqDescription
datestringThe effective date for the row update in YYYY-MM-DD format, determining when the change takes effect.
departmentstringThe department value to assign to this row.
divisionstringThe organizational division value to assign to this row.
idstringyesThe unique identifier of the employee whose table row will be updated.
jobTitlestringThe job title value to assign to this row.
locationstringThe office or work location value to assign to this row.
reportsTostringThe identifier of the manager or supervisor this employee reports to for this row.
rowIdstringyesThe unique identifier of the specific row within the table to be updated.
tablestringyesThe name of the employee table containing the row to update, such as job information or compensation tables.
teamsarrayA list of team identifiers or names associated with this row; order is not significant and each item represents a single team assignment.

No output schema declared.

No examples provided.

update_employee_table_row_v1_1 ~300

Updates an existing row in a specified employee table, such as job information or compensation history. Submit field changes to modify the row's effective date, location, department, job title, reporting structure, or team assignments.

NameTypeReqDescription
datestringThe effective date for the row update in ISO 8601 full-date format (YYYY-MM-DD), determining when the change takes effect.
departmentstringThe department value to assign to the employee for this row, representing the employee's organizational unit.
divisionstringThe division value to assign to the employee for this row, representing a high-level organizational grouping.
idstringyesThe unique identifier of the employee whose table row is being updated.
jobTitlestringThe job title value to assign to the employee for this row, reflecting their role or position.
locationstringThe physical or organizational location value to assign to the employee for this row.
reportsTostringThe identifier of the manager or supervisor this employee reports to for this row.
rowIdstringyesThe unique identifier of the specific row within the table to update.
tablestringyesThe name of the employee table containing the row to update, such as job information or compensation tables.
teamsarrayA list of team identifiers or names associated with the employee for this row; order is not significant.

No output schema declared.

No examples provided.

update_goal_comment ~124

Updates the text of an existing comment on a specific employee goal. The comment, goal, and employee must all be correctly associated for the update to succeed.

NameTypeReqDescription
commentIdstringyesUnique identifier of the comment to be updated, which must belong to the specified goal.
employeeIdstringyesUnique identifier of the employee whose goal contains the comment to be updated.
goalIdstringyesUnique identifier of the goal associated with the specified employee that contains the comment.
textstringyesThe new text content to replace the existing comment body.

No output schema declared.

No examples provided.

update_goal_progress ~134

Updates the completion percentage of a specific employee goal, optionally recording the completion date when the goal is fully achieved.

NameTypeReqDescription
completionDatestringThe date the goal was completed in YYYY-MM-DD format. Must be provided when percentComplete is 100.
employeeIdintegeryesThe unique identifier of the employee whose goal progress is being updated.
goalIdintegeryesThe unique identifier of the goal to update for the specified employee.
percentCompleteintegeryesThe current completion percentage of the goal, expressed as a whole number between 0 (not started) and 100 (fully complete).

No output schema declared.

No examples provided.

update_goal_with_milestones ~390

Updates an existing performance goal for a specified employee, including support for adding, modifying, or deleting milestones within the goal. Use this version (v1.1) instead of v1 when milestone management is required.

NameTypeReqDescription
alignsWithOptionIdintegerThe identifier of the strategic option or objective this goal is aligned with, linking it to a broader organizational priority.
completionDatestringThe date the goal was fully completed, provided in YYYY-MM-DD format (ISO 8601 date). Required when percentComplete is set to 100.
deletedMilestoneIdsarrayA list of milestone IDs to permanently remove from this goal. Order is not significant.
descriptionstringA detailed narrative description providing additional context or specifics about the goal.
dueDatestringyesThe target completion date for the goal, provided in YYYY-MM-DD format (ISO 8601 date).
employeeIdintegeryesThe unique identifier of the employee who owns the goal being updated.
goalIdintegeryesThe unique identifier of the goal to update, scoped to the specified employee.
milestonesarrayA list of milestone objects to add to this goal. Each item should represent a discrete, trackable step toward goal completion.
milestonesEnabledbooleanWhen set to true, enables milestone tracking for this goal, allowing progress to be measured through individual milestones rather than a single percent-complete value.
percentCompleteintegerThe current completion percentage of the goal, expressed as a whole number between 0 and 100. Required when milestones are not enabled for this goal.
sharedWithEmployeeIdsarrayyesThe list of employee IDs who have visibility into this goal. Must include the goal owner's employee ID; order is not significant.
titlestringyesThe display title of the goal.

No output schema declared.

No examples provided.

update_list_field_options ~141

Create, update, or archive options for a specific list field by its ID. Omit an option's ID to create it, include an ID to update it, or set archived to yes to hide it from future use while preserving historical data.

NameTypeReqDescription
listFieldIdstringyesThe unique identifier of the list field whose options are being managed.
optionsarrayArray of option objects to create, update, or archive on the list field. To create a new option omit its ID, to update an existing option include its ID, and to archive an option include its ID with…

No output schema declared.

No examples provided.

update_milestone_progress ~134

Updates the completion status of a specific milestone within an employee's goal. Use this to mark a milestone as complete or incomplete as part of tracking goal progress.

NameTypeReqDescription
completebooleanyesIndicates whether the milestone has been completed. Set to true to mark the milestone as complete, or false to mark it as incomplete.
employeeIdstringyesThe unique identifier of the employee whose goal milestone is being updated.
goalIdstringyesThe unique identifier of the goal that contains the milestone to be updated.
milestoneIdstringyesThe unique identifier of the milestone whose progress is being updated.

No output schema declared.

No examples provided.

update_time_entry ~269

Updates an existing time tracking entry identified by its unique ID. Use this to correct hours worked or reassign the entry to a different project, task, shift differential, or holiday.

NameTypeReqDescription
holidayIdintegerThe ID of the holiday to associate with this time entry, used when the hours were worked on a recognized holiday. Omit if not applicable.
hoursWorkednumberyesThe corrected total number of hours worked for this entry. Always provide the full intended value, not a delta — for example, if correcting from 8.0 to 6.0 hours, send 6.0.
projectIdintegerThe ID of the project to associate with this time entry. Omit if the project association should remain unchanged or is not applicable.
shiftDifferentialIdintegerThe ID of the shift differential to associate with this time entry, used when the entry qualifies for differential pay. Omit if not applicable.
taskIdintegerThe ID of the task to associate with this time entry. Omit if the task association should remain unchanged or is not applicable.
timeTrackingIdstringyesThe unique identifier of the time tracking entry to update, up to 36 characters in length (e.g., a UUID).

No output schema declared.

No examples provided.

update_time_off_request_status ~151

Approves, denies, or cancels an existing time off request by updating its status. Owners and admins can complete all workflow approval steps at once, while standard approvers advance only their current step.

NameTypeReqDescription
notestringAn optional note to attach to the status change, such as a reason for denial or approval context.
requestIdintegeryesThe unique identifier of the time off request whose status is being updated.
statusstringyesThe new status to apply to the time off request. Use 'approved' to grant the request, 'denied' or 'declined' to reject it, and 'canceled' or 'cancelled' to withdraw it.

No output schema declared.

No examples provided.

update_training_category ~86

Updates the name of an existing training category identified by its ID. Requires training settings access; returns a 409 conflict if a category with the new name already exists.

NameTypeReqDescription
namestringyesThe new name to assign to the training category; must be unique across all existing training categories.
trainingCategoryIdintegeryesThe unique numeric identifier of the training category to update.

No output schema declared.

No examples provided.

update_training_record ~209

Updates an existing employee training record by its ID. The completion date is required; all other fields such as cost, instructor, hours, credits, and notes are optional.

NameTypeReqDescription
amountstringThe monetary cost of the training expressed as a decimal string, corresponding to the specified currency.
completedstringyesThe date the training was completed, required for every update. Must follow the yyyy-mm-dd format.
creditsnumberThe number of credits the employee earned upon completing the training.
currencystringThe ISO 4217 three-letter currency code representing the currency of the training cost.
employeeTrainingRecordIdintegeryesThe unique identifier of the employee training record to update.
hoursnumberThe total duration of the training expressed in hours.
instructorstringThe full name of the person who delivered or facilitated the training.
notesstringFree-text notes providing any additional context or details about the training record.

No output schema declared.

No examples provided.

update_training_type ~327

Updates an existing training type by modifying only the fields provided in the request. Requires training settings access; pass an empty string or null for the category field to remove a category assignment.

NameTypeReqDescription
allowEmployeesToMarkCompletebooleanWhen enabled, allows any employee who can view this training type to mark it as complete without manager or admin intervention.
categoryNamestringThe name of the category to assign to this training type. Pass an empty string or null to remove the existing category.
descriptionstringA detailed description of the training type, providing context or instructions for employees.
dueFromHireDateintegerThe number of days after an employee's hire date by which this training must be completed. Only applicable when the training type is marked as required.
frequencyintegerThe interval in months at which this training must be renewed. Only applicable when the training type is set to renewable.
idintegerThe unique identifier of the category to assign to this training type.
linkUrlstringAn optional URL to associate with this training type, such as a link to training materials or an external resource.
namestringThe display name of the training type.
renewablebooleanIndicates whether this training type can be renewed on a recurring basis. If set to true, a frequency value must also be provided.
requiredbooleanIndicates whether completion of this training type is mandatory for employees.
trainingTypeIdintegeryesThe unique identifier of the training type to update.

No output schema declared.

No examples provided.

upload_employee_file ~202

Uploads a file to a specific section of an employee's document folder via multipart/form-data. Files must be under 20MB and use a supported extension; on success, the response includes a Location header pointing to the newly created file resource.

NameTypeReqDescription
categoryintegeryesThe numeric ID of the employee file section (category) into which the file will be uploaded.
filestringyesBase64-encoded file content for upload. The binary file content to upload, submitted as part of the multipart/form-data request body.
fileNamestringyesThe display name assigned to the uploaded file as it will appear in the employee's document folder.
idstringyesThe ID of the employee whose file folder will receive the upload. Pass 0 to target the employee associated with the API key.
sharestringControls whether the uploaded file is shared with the employee and made visible to them. Defaults to no if omitted.

No output schema declared.

No examples provided.

upload_employee_photo ~175

Uploads and replaces the photo for a specified employee, updating all size variants. The image must be a square JPEG, PNG, or BMP file of at least 150×150 pixels and no larger than 20MB; employees may upload their own photo if the company has self-photo uploads enabled.

NameTypeReqDescription
employeeIdintegeryesThe unique numeric identifier of the employee whose photo is being uploaded.
filestringyesBase64-encoded file content for upload. The image file to set as the employee's photo. Must be a square image (width and height within one pixel of each other), at least 150×150 pixels, no larger tha…

No output schema declared.

No examples provided.

upload_file ~193

Uploads a file to a specified company file category using a multipart/form-data request. Files must be under 20MB, use a supported extension, and cannot be uploaded to read-only categories or implementation categories on companies that have completed implementation.

NameTypeReqDescription
categoryintegeryesThe numeric ID of the file category (section) into which the file will be uploaded. Read-only categories and implementation categories (for completed implementations) are not permitted.
filestringyesBase64-encoded file content for upload. The binary file content to upload. Must be under 20MB and use a supported file extension.
fileNamestringyesThe display name for the file as it will appear in the company file system.
sharestringControls whether the uploaded file is shared with all employees. Accepts 'yes' to share or 'no' to keep private; defaults to 'no' if omitted.

No output schema declared.

No examples provided.

upsert_hour_records ~102

Bulk create or update time tracking hour records in a single request. Note that HTTP 201 may be returned even when individual records fail validation — always inspect each item's `success` flag and `response.message` for partial failures.

NameTypeReqDescription
bodyarrayArray of hour record objects to create or update; each item should include the relevant time tracking fields. Order is not significant, but each item's result is returned individually so partial fail…

No output schema declared.

No examples provided.

Common questions

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 PyPI package (mcparmory-bamboohr).

Is the com.mcparmory/bamboohr MCP server safe to use?

com.mcparmory/bamboohr scores 76 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. 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.