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
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.

NameTypeReqDescription
applicationIdintegeryesThe unique identifier of the job application to which the comment will be added.
commentstringyesThe text content of the comment to post on the application.
typestringThe 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 ~93

Adds a new comment to a specific goal belonging to the given employee. Returns the newly created comment object, including its assigned ID.

NameTypeReqDescription
employeeIdstringyesThe unique identifier of the employee who owns the goal.
goalIdstringyesThe unique identifier of the goal on which the comment will be created.
textstringyesThe text content of the comment to be added to the goal.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
amountnumberyesThe number of hours or days to adjust the balance by; use a positive value to add time or a negative value to deduct time.
datestringyesThe effective date of the balance adjustment as it will appear in history, in ISO 8601 format (YYYY-MM-DD).
employeeIdintegeryesUnique identifier of the employee whose time off balance is being adjusted.
notestringOptional note providing context or reason for the adjustment, visible in the employee's time off history.
timeOffTypeIdintegeryesUnique 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 ~94

Assigns a specific set of employees to a break policy, fully replacing all existing employee assignments with the provided list.

NameTypeReqDescription
employeeIdsarrayyesComplete 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.
idstringyesThe unique identifier of the break policy whose employee assignments will be replaced.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
bodyarrayList 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…
employeeIdintegeryesThe 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 ~88

Assigns one or more employees to an existing break policy, adding them to the policy's membership without affecting any previously assigned employees.

NameTypeReqDescription
employeeIdsarrayyesList of employee IDs to add to the break policy. Must contain at least one ID; order is not significant.
idstringyesThe unique identifier of the break policy to which employees will be assigned.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
bodyarrayA 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…
employeeIdintegeryesThe 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 ~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.

NameTypeReqDescription
entriesarrayyesArray 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 ~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.

NameTypeReqDescription
hoursarrayyesArray 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 ~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.

NameTypeReqDescription
breakIdstringUUID of the break type to associate with this timesheet entry.
datestringThe calendar date of the clock-in entry for historical records. Must follow YYYY-MM-DD format.
employeeIdintegeryesUnique identifier of the employee to clock in.
notestringFree-text note to attach to the timesheet entry for additional context.
offlinebooleanMarks the entry as an offline punch, bypassing shift schedule restrictions. Intended for devices that buffer punches locally and sync them later.
projectIdintegerAssociates the timesheet entry with a specific time tracking project. Required when specifying a task.
startstringThe clock-in time for historical entries in 24-hour HH:MM format, ranging from 00:00 to 23:59.
taskIdintegerAssociates the timesheet entry with a specific task within the given project. Requires projectId to be provided.
timezonestringIANA 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 ~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.

NameTypeReqDescription
datestringThe 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.
employeeIdintegeryesThe unique identifier of the employee to clock out.
endstringThe 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.
timezonestringThe 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 ~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.

NameTypeReqDescription
commentstringAn optional note to record alongside the goal closure, useful for documenting the reason or context for closing.
employeeIdstringyesThe unique identifier of the employee whose goal is being closed.
goalIdstringyesThe unique identifier of the goal to be closed, associated with the specified employee.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
availabilityEndTimestringThe latest clock time by which the break must be taken, 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 can be taken, in HH:MM 24-hour format; applicable when availabilityType is 'time_of_day'.
availabilityTypestringControls 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.
durationintegerHow long the break lasts, expressed in whole minutes.
idstringyesThe unique identifier of the break policy to associate the new break with.
namestringA descriptive label for the break, used to identify it within the policy.
paidbooleanIndicates whether employees are compensated during this break.

No output schema declared.

No examples provided.

create_break_policy ~167

Creates a new break policy for time tracking compliance, optionally including break definitions and employee assignments in a single request.

NameTypeReqDescription
allEmployeesAssignedbooleanWhen set to true, automatically assigns this break policy to all employees, superseding any individual employee assignments.
breaksarrayList of break definitions to create and associate with this policy simultaneously. Each item defines a break's rules and timing configuration.
descriptionstringOptional human-readable description providing additional context about the policy's purpose or compliance requirements.
employeeIdsarrayList of employee IDs to assign to this policy. Ignored if allEmployeesAssigned is true. Order is not significant.
namestringyesDisplay name for the break policy, typically reflecting the jurisdiction or compliance context it applies to.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
addressstringThe candidate's street address.
citystringThe city of the candidate's address.
collegeNamestringThe name of the college or university the candidate attended.
countrystringThe country of the candidate's address; accepts full country name or ISO country code.
coverLetterstringBase64-encoded file content for upload. The candidate's cover letter file; accepted formats include PDF, Word documents, plain text, RTF, and common image types.
dateAvailablestringThe date the candidate is available to start, in ISO 8601 date format (YYYY-MM-DD).
desiredSalarystringThe candidate's desired compensation or salary expectation.
emailstringThe candidate's email address, used for communication and deduplication.
firstNamestringyesThe candidate's first name.
highestEducationstringThe highest level of education the candidate has completed; must match one of the predefined education level values.
jobIdintegeryesThe unique identifier of the job opening this application is being submitted for.
lastNamestringyesThe candidate's last name.
linkedinUrlstringThe candidate's LinkedIn profile URL; must be a valid LinkedIn URL matching the required domain pattern.
phoneNumberstringThe candidate's phone number, including country code if applicable.
referencesstringProfessional or personal references provided by the candidate.
referredBystringThe name of the person or organization that referred the candidate.
resumestringBase64-encoded file content for upload. The candidate's resume file; accepted formats include PDF, Word documents, plain text, RTF, and common image types.
sourcestringThe channel or platform through which the candidate was sourced, such as a job board or professional network.
statestringThe state or province of the candidate's address; accepts full name, abbreviation, or ISO code.
websiteUrlstringThe URL of the candidate's personal website, blog, or online portfolio; must be a valid URL.
zipstringThe zip or postal code of the candidate's address.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
departmentstringName of the department the employee belongs to; must match an existing department name in the system.
firstNamestringyesEmployee's legal first name as it should appear on official records and payroll documents.
hireDatestringThe date the employee was officially hired, formatted as a calendar date in YYYY-MM-DD format.
jobTitlestringEmployee's job title reflecting their role or position within the organization.
lastNamestringyesEmployee's legal last name as it should appear on official records and payroll documents.
workEmailstringEmployee's work email address used for company communications and system access.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
addressLine1stringThe first line of the dependent's street address, typically including street number and name.
addressLine2stringThe second line of the dependent's address, used for suite, apartment, or unit information.
citystringThe city portion of the dependent's address.
countrystringThe dependent's country, provided as an ISO 3166-1 alpha-2 two-letter country code. When retrieved, the API returns the full country name.
dateOfBirthstringThe dependent's date of birth, formatted as a calendar date in YYYY-MM-DD format.
employeeIdstringyesThe unique identifier of the employee to whom this dependent belongs. Must reference an existing employee record.
firstNamestringThe dependent's first name.
genderstringThe dependent's gender. Must be a valid gender value as recognized by the API.
homePhonestringThe dependent's home phone number.
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 such as spouse, child, or domestic partner.
sinstringThe 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.
ssnstringThe 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.
statestringThe dependent's state, provided as a two-letter state code. When retrieved, the API returns the full state name.
zipCodestringThe dependent's ZIP or postal code corresponding to their address.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
bodyarrayA 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 ~293

Creates a new performance goal for a specified employee, including due dates, completion tracking, milestones, and sharing with other employees.

NameTypeReqDescription
alignsWithOptionIdintegerThe identifier of a predefined alignment option that this goal supports, used to link the goal to broader organizational objectives.
completionDatestringThe date the goal was completed in YYYY-MM-DD format (ISO 8601). Must be provided when percentComplete is set to 100.
descriptionstringA detailed explanation of the goal's purpose, expectations, or scope.
dueDatestringyesThe target completion date for the goal in YYYY-MM-DD format (ISO 8601).
employeeIdstringyesThe unique identifier of the employee for whom the goal is being created.
milestonesarrayAn ordered list of milestone objects that break the goal into smaller steps. Each milestone requires a title field and is tracked independently.
percentCompleteintegerHow 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.
sharedWithEmployeeIdsarrayyesAn unordered list of employee IDs who can view this goal. Must include the goal owner's employee ID.
titlestringyesA short, descriptive title for the goal.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
datestringThe effective date for the new row, indicating when the record becomes active. Must follow YYYY-MM-DD format.
departmentstringThe department associated with this row entry.
divisionstringThe organizational division associated with this row entry.
idstringyesThe unique identifier of the employee whose table will receive the new row.
jobTitlestringThe job title assigned to the employee for this row entry.
locationstringThe office or work location associated with this row entry.
reportsTostringThe identifier of the manager or supervisor this employee reports to for this row entry.
tablestringyesThe name of the employee table to append a row to, such as job information or compensation history.
teamsarrayA 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 ~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.

NameTypeReqDescription
datestringThe date on which the new row becomes effective, in YYYY-MM-DD format following ISO 8601.
departmentstringThe department associated with this row entry.
divisionstringThe organizational division associated with this row entry.
idstringyesThe unique identifier of the employee whose table will receive the new row.
jobTitlestringThe job title associated with this row entry.
locationstringThe office or work location associated with this row entry.
reportsTostringThe identifier of the manager or supervisor this employee reports to for this row entry.
tablestringyesThe name of the employee table to add a row to, such as job information or compensation tables.
teamsarrayA 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 ~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.

NameTypeReqDescription
amountstringThe monetary cost of the training expressed as a decimal string, used alongside the currency field.
completedstringyesThe date the training was completed, formatted as ISO 8601 calendar date (yyyy-mm-dd).
creditsnumberThe number of credits the employee earned upon completing the training.
currencystringThe currency associated with the training cost, specified as an ISO 4217 three-letter currency code.
employeeIdintegeryesThe unique identifier of the employee for whom the training record is being created.
hoursnumberThe total duration of the training expressed in hours.
instructorstringThe full name of the instructor who delivered the training.
notesstringFree-text notes providing additional context or details about the training record.
typeintegeryesThe 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 ~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.

NameTypeReqDescription
bodyarrayAn 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 ~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.

NameTypeReqDescription
applicationQuestionAddressstringControls whether the address field appears on the application form: hidden, optional, or mandatory.
applicationQuestionCollegestringControls whether the college or university attended field appears on the application form: hidden, optional, or mandatory.
applicationQuestionCoverLetterstringControls whether the cover letter upload field appears on the application form: hidden, optional, or mandatory.
applicationQuestionDateAvailablestringControls whether the availability start date field appears on the application form: hidden, optional, or mandatory.
applicationQuestionDesiredSalarystringControls whether the desired salary field appears on the application form: hidden, optional, or mandatory.
applicationQuestionHighestEducationstringControls whether the highest education level field appears on the application form: hidden, optional, or mandatory.
applicationQuestionLinkedinUrlstringControls whether the LinkedIn profile URL field appears on the application form: hidden, optional, or mandatory.
applicationQuestionReferencesstringControls whether the professional references field appears on the application form: hidden, optional, or mandatory.
applicationQuestionReferredBystringControls whether the referral source field appears on the application form: hidden, optional, or mandatory.
applicationQuestionResumestringControls whether the resume upload field appears on the application form: hidden, optional, or mandatory.
applicationQuestionWebsiteUrlstringControls whether the personal or portfolio website URL field appears on the application form: hidden, optional, or mandatory.
compensationstringThe pay rate or compensation package details for the job opening, such as salary range or hourly rate.
departmentstringThe name of the department this job opening belongs to within the organization.
employmentTypestringyesThe employment arrangement type for the role, such as full-time, part-time, or contractor.
hiringLeadintegeryesThe employee ID of the person responsible for leading the hiring process, obtained from the list_hiring_leads endpoint.
internalJobCodestringAn internal identifier or code used by your organization to track or categorize this job opening.
jobDescriptionstringyesThe full descriptive text of the job opening, including responsibilities, qualifications, and any other relevant details presented to applicants.
jobLocationintegerThe 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).
jobStatusstringyesThe current workflow status of the job opening, controlling its visibility and availability in the hiring pipeline.
locationTypeintegerSpecifies 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…
minimumExperiencestringThe minimum career experience level required for a candidate to qualify for this role.
postingTitlestringyesThe public-facing title of the job opening as it will appear in postings.

No output schema declared.

No examples provided.

create_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.

NameTypeReqDescription
allowAllEmployeesbooleanWhether 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.
billablebooleanWhether time logged to this project is billable. Defaults to true if omitted.
employeeIdsarrayList of employee IDs permitted to log time to this project. Only applied when allowAllEmployees is false; ignored otherwise.
hasTasksbooleanWhether 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.
namestringyesUnique display name for the project, no more than 50 characters.
tasksarrayTasks 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 ~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.

NameTypeReqDescription
dateHoursWorkedstringyesThe calendar date on which the hours were worked, in ISO 8601 full-date format.
departmentIdintegerThe numeric ID of the department to associate with this time entry. Required only when your payroll configuration tracks hours at the department level.
divisionIdintegerThe numeric ID of the division to associate with this time entry. Required only when your payroll configuration tracks hours at the division level.
employeeIdintegeryesThe numeric ID of the employee for whom hours are being recorded.
hoursWorkednumberyesThe total number of hours worked for this entry, expressed as a decimal number.
jobCodeintegerAn optional numeric job code to associate with this time entry for payroll or reporting purposes.
jobDatastringAn ordered, comma-delimited list of up to four job numbers (each up to 20 characters, no spaces) to associate with this time entry.
jobTitleIdintegerThe numeric ID of the job title to associate with this time entry. Required only when your payroll configuration tracks hours by job title.
payCodestringThe payroll provider-specific pay code to classify this time entry. Required only when your payroll provider mandates a pay code.
payRatenumberThe hourly rate of pay for this entry, expressed as a decimal number. Required only when your payroll provider mandates a pay rate.
rateTypestringyesClassifies the hours as regular, overtime, or double-time. Must be one of the accepted rate type codes.
timeTrackingIdstringyesA 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 ~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.

NameTypeReqDescription
amountnumberThe 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.
datestringyesThe calendar date the history entry applies to, provided in YYYY-MM-DD format.
employeeIdintegeryesThe unique identifier of the employee for whom the time off history entry is being created.
eventTypestringSpecifies 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.
notestringAn optional free-text note that will be displayed alongside this entry in the employee's time off history.
timeOffRequestIdintegerThe unique identifier of the approved time off request this entry is linked to. Must be provided when eventType is 'used'.
timeOffTypeIdintegerThe 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 ~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.

NameTypeReqDescription
amountnumberThe 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.
datesarrayAn 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…
employeeIdintegeryesThe unique identifier of the employee for whom the time off request is being created.
endstringyesThe last day of the time off period in YYYY-MM-DD format. Must be the same as or later than the start date.
notesarrayAn optional list of notes from the employee or manager providing context or comments about the time off request. Order is not significant.
previousRequestintegerThe unique identifier of an existing time off request that this request supersedes. The referenced request will be cancelled and replaced by this new request.
startstringyesThe first day of the time off period in YYYY-MM-DD format.
statusstringyesThe 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…
timeOffTypeIdintegeryesThe 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 ~56

Creates a new training category to organize training content. Requires training settings access and returns the newly created TrainingCategory on success.

NameTypeReqDescription
namestringyesThe display name for the new training category, used to identify and organize training content.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
allowEmployeesToMarkCompletebooleanWhen true, any employee who can view this training type is also permitted to mark it as complete on their own record.
categoryNamestringThe name of the category to associate with this training type, used to group related trainings together.
descriptionstringA detailed description of the training type, providing employees and administrators with context about its purpose or content.
dueFromHireDateintegerThe number of days after an employee's hire date by which this training must be completed. Only valid when required is true.
frequencyintegerThe number of months between required renewals for this training type. Must be provided when renewable is true; ignored otherwise.
idintegerThe unique identifier of an existing category to associate with this training type.
linkUrlstringAn optional URL to attach to this training type, such as a link to course materials or an external training resource.
namestringyesThe display name for the new training type.
renewablebooleanIndicates whether this training type must be periodically renewed. When set to true, frequency must also be provided to define the renewal interval in months.
requiredbooleanIndicates whether this training type is mandatory for employees. When true, dueFromHireDate may also be specified.

No output schema declared.

No examples provided.

delete_break ~49

Soft-deletes a time tracking break by its unique identifier, permanently removing it from any associated break policies.

NameTypeReqDescription
idstringyesThe unique identifier of the break to delete, provided as a UUID.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
idstringyesThe unique identifier of the break policy to delete, provided as a UUID.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
clockEntryIdsarrayyesList 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 ~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.

NameTypeReqDescription
fileIdintegeryesThe 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 ~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.

NameTypeReqDescription
fileIdintegeryesThe numeric ID of the specific file to delete from the employee's record.
idintegeryesThe 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 ~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.

NameTypeReqDescription
employeeIdstringyesThe unique identifier of the employee whose goal is being deleted.
goalIdstringyesThe 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 ~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).

NameTypeReqDescription
idstringyesThe unique identifier of the employee whose tabular data is being modified.
rowIdstringyesThe unique identifier of the specific row to delete within the targeted table.
tablestringyesThe 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 ~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.

NameTypeReqDescription
commentIdstringyesUnique identifier of the comment to delete from the specified goal.
employeeIdstringyesUnique identifier of the employee whose goal contains the comment to be deleted.
goalIdstringyesUnique identifier of the goal associated with the specified employee that contains the target comment.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
hourEntryIdsarrayyesList 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 ~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.

NameTypeReqDescription
idstringyesThe 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 ~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.

NameTypeReqDescription
trainingCategoryIdintegeryesThe unique identifier of the training category to delete.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
employeeTrainingRecordIdintegeryesThe unique identifier of the employee training record to delete.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
trainingTypeIdintegeryesThe 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 ~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.

NameTypeReqDescription
idintegeryesThe 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 ~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.

NameTypeReqDescription
fileIdintegeryesThe unique identifier of the company file to download.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
fileIdintegeryesThe numeric ID of the specific file to download from the employee's record.
idintegeryesThe 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 ~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.

NameTypeReqDescription
applicationIdintegeryesThe unique identifier of the job application to retrieve.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
idstringyesThe unique identifier of the time tracking break to retrieve, provided as a UUID.

No output schema declared.

No examples provided.

get_break_policy ~75

Retrieves a single break policy by its unique identifier. Optionally includes counts of associated employees and breaks for summary reporting.

NameTypeReqDescription
idstringyesThe unique identifier of the break policy to retrieve.
includeCountsbooleanWhen 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 ~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.

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.