# Breathe HR — how to use (mcp.ai)

Connect your Breathe HR account and use 50 tools for human resources straight from your AI agent. Connect with your own API key. BreatheHR is a simple, cloud-based HR software designed for SMEs to manage employee records, absences, performance reviews, and other HR processes.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_breathehr?ms=1787291340000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `breathehr_approve_leave_request`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/breathehr`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/breathehr/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/breathehr/approve/leave/request` — Tool to approve a leave request in BreatheHR. Use when an authorized user needs to approve a pending leave request.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/breathehr/create/employee` — Tool to create a new employee in BreatheHR. Use when you need to add a new employee record with their personal information, contact details, and employment information. Required fields are first_name,
  - body: { hr?: boolean, ddi?: string, dob?: string, email: string, gender?: string, salary?: object, status?: string, division?: integer, location?: integer, work_ext?: string, ethnicity?: string, job_title?: string, last_name: string, department?: integer, first_name: string, middle_name?: string, nationality?: string, person_type?: string, work_mobile?: string, employee_ref?: string, ethnicity_id?: string, home_telephone?: string, job_start_date?: string, marital_status?: string, personal_mobile?: string, working_pattern?: integer, company_join_date: string, full_or_part_time?: string, holiday_allowance?: integer, working_pattern_id?: integer, holiday_allowance_id?: integer, national_insurance_no?: string, ignore_working_pattern?: boolean, statutory_holiday_country?: string, receives_statutory_holidays?: boolean, statutory_holiday_country_id?: integer }
- `POST https://api.mcp.ai/api/breathehr/create/employee/change/request` — Tool to create a change request for an employee field. Use when you need to update employee information such as job title, department, or salary.
  - body: { id: string, field: string, value: string, approved?: boolean }
- `POST https://api.mcp.ai/api/breathehr/create/employee/expense` — Tool to create an employee expense record in BreatheHR. Use when an employee needs to submit a new expense claim for reimbursement or record a company-paid expense.
  - body: { vat?: integer, miles?: integer, amount: integer, client_name?: string, description: string, employee_id: integer, has_receipt?: boolean, expense_date: string, company_project_id?: integer, payable_to_employee: boolean, chargeable_to_client?: boolean, company_expense_type_id: integer, company_mileage_rate_id?: integer }
- `POST https://api.mcp.ai/api/breathehr/create/employee/expense/claim` — Tool to create a new expense claim for an employee. Use when you need to submit expenses for reimbursement by grouping one or more unclaimed expense records into a claim.
  - body: { employee_id: integer, employee_expense_ids: integer[] }
- `POST https://api.mcp.ai/api/breathehr/create/employee/sickness` — Tool to create a sickness record for an employee in BreatheHR. Use when you need to log an employee's sick leave with details like type, dates, and status.
  - body: { id: integer, reason?: string, status?: string, end_date?: string, half_day?: boolean, half_end?: boolean, half_start?: boolean, start_date: string, review_notes?: string, half_end_am_pm?: string, half_start_am_pm?: string, company_sicknesstype_id: integer }
- `POST https://api.mcp.ai/api/breathehr/delete/employee/expense` — Tool to delete an employee expense by ID. Use when you need to remove an expense record from the system.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/breathehr/delete/employee/training/course` — Tool to delete an employee training course record by its ID. Use when you need to remove a training record from an employee's profile.
  - body: { id: string }
- `POST https://api.mcp.ai/api/breathehr/get/account` — Tool to retrieve account information including ID, name, domain, UUID, and RTA usage status. Use when you need to check account details or verify account configuration.
- `POST https://api.mcp.ai/api/breathehr/get/employee` — Tool to retrieve detailed information about a specific employee by ID. Use when you need comprehensive employee data including personal details, employment information, organizational structure, and c
  - body: { id: integer }
- `POST https://api.mcp.ai/api/breathehr/get/employee/expense` — Tool to retrieve a specific employee expense record by ID. Use when you need detailed information about a particular expense.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/breathehr/get/leave/request` — Tool to retrieve detailed information about a specific leave request by ID. Use when you need to check the status, dates, or details of a particular leave/absence request.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/breathehr/get/leave/request/cancelling` — Tool to retrieve the leave request that is being cancelled. Use when you need to find the original leave request associated with a cancellation request.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/breathehr/list/absences` — Tool to list all absences with optional filtering by date range, employee, department, and type. Use when you need to retrieve absence records from BreatheHR with pagination support.
  - body: { page?: integer, type?: string, end_date?: string, per_page?: integer, rotacloud?: boolean, start_date?: string, employee_id?: integer, department_id?: integer, other_leave_reason_id?: integer, exclude_cancelled_absences?: boolean }
- `POST https://api.mcp.ai/api/breathehr/list/benefits` — Tool to retrieve a list of employee benefits with optional pagination. Use when you need to access benefit information across employees.
  - body: { page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/breathehr/list/bonuses` — Tool to retrieve employee bonuses from BreatheHR with pagination support. Use when you need to list bonuses across the organization.
  - body: { page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/breathehr/list/change/requests` — Tool to list change requests from BreatheHR. Use when you need to retrieve change requests with optional pagination.
  - body: { page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/breathehr/list/company/documents` — Tool to retrieve a paginated list of company documents from BreatheHR. Use when you need to access or view company-wide documents stored in the BreatheHR system.
  - body: { page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/breathehr/list/company/projects` — Tool to list company projects from BreatheHR. Use when you need to retrieve all projects associated with the company. Supports pagination via page and per_page parameters.
  - body: { page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/breathehr/list/company/training/types` — Tool to list company training types. Use when you need to retrieve available training type categories. Returns paginated training type records including identifiers, names, and timestamps.
  - body: { page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/breathehr/list/department/absences` — Tool to list absences for a specific department. Use when you need to retrieve absence records for employees in a department. Supports pagination and filtering of cancelled absences.
  - body: { id: integer, page?: integer, per_page?: integer, exclude_cancelled_absences?: boolean }
- `POST https://api.mcp.ai/api/breathehr/list/department/benefits` — Tool to list all employee benefits for a specific department. Use when you need to retrieve benefit information including contributions, dates, and provider details for department members.
  - body: { id: string, page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/breathehr/list/department/bonuses` — Tool to list bonuses for a specific department. Use when you need to retrieve bonus information for employees within a department. Returns paginated bonus records including amounts, award dates, and d
  - body: { id: string, page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/breathehr/list/department/leave/requests` — Tool to list leave requests for a specific department. Use when you need to retrieve absence or time-off requests for employees within a particular department.
  - body: { id: integer, page?: integer, per_page?: integer, exclude_cancelled_requests?: boolean }
- `POST https://api.mcp.ai/api/breathehr/list/department/salaries` — Tool to list salaries for a specific department. Use when you need to retrieve salary information for employees within a department. Returns paginated salary records including amounts, dates, and basi
  - body: { id: string, page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/breathehr/list/departments` — Tool to list all company departments from BreatheHR. Use when you need to retrieve department information including IDs and names. Returns a paginated list of departments.
  - body: { page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/breathehr/list/divisions` — Tool to retrieve all company divisions. Use when you need to view organizational divisions or departments.
- `POST https://api.mcp.ai/api/breathehr/list/employee/absences` — Tool to list absences for a specific employee from BreatheHR. Use when you need to retrieve absence records for an employee with optional filtering and pagination.
  - body: { id: integer, page?: integer, per_page?: integer, exclude_cancelled_absences?: boolean }
- `POST https://api.mcp.ai/api/breathehr/list/employee/benefits` — Tool to list benefits for an employee. Use when you need to retrieve all benefits associated with a specific employee by their ID.
  - body: { id: string, page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/breathehr/list/employee/bonuses` — Tool to list bonuses for a specific employee. Use when you need to retrieve all bonus records associated with an employee.
  - body: { id: string, page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/breathehr/list/employee/change/requests` — Tool to list change requests for a specific employee. Use when you need to retrieve pending or historical change requests associated with an employee.
  - body: { id: string, page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/breathehr/list/employee/expense/claims` — Tool to list employee expense claims from BreatheHR. Use when you need to retrieve expense claims, optionally filtered by employee ID or claim state. Supports pagination for large result sets.
  - body: { page?: integer, per_page?: integer, employee_id?: integer, state_filter?: string }
- `POST https://api.mcp.ai/api/breathehr/list/employee/expenses` — Tool to list employee expenses from BreatheHR. Use when you need to retrieve expense records, optionally filtered by employee or claim status.
  - body: { page?: integer, per_page?: integer, employee_id?: integer, show_claimed?: boolean }
- `POST https://api.mcp.ai/api/breathehr/list/employee/holiday/years` — Tool to get holiday years for an employee. Use when you need to retrieve holiday allowance information for a specific employee, optionally filtered by date.
  - body: { id: integer, for_date?: string }
- `POST https://api.mcp.ai/api/breathehr/list/employee/jobs` — Tool to list employee jobs with optional employee filtering. Use when you need to retrieve job information for employees. Returns paginated job records including title, employment type, dates, and tim
  - body: { page?: integer, per_page?: integer, employee_id?: integer }
- `POST https://api.mcp.ai/api/breathehr/list/employee/leave/requests` — Tool to list leave requests for a specific employee. Use when you need to retrieve leave request history including vacation, sick leave, and other absence requests.
  - body: { id: integer, page?: integer, per_page?: integer, exclude_cancelled_requests?: boolean }
- `POST https://api.mcp.ai/api/breathehr/list/employee/salaries` — Tool to list salaries for a specific employee. Use when you need to retrieve salary history or current salary information for an employee.
  - body: { id: string, page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/breathehr/list/employee/training/courses` — Tool to list employee training courses with optional filtering by employee and pagination support. Use when you need to retrieve training course records for employees.
  - body: { page?: integer, per_page?: integer, employee_id?: integer }
- `POST https://api.mcp.ai/api/breathehr/list/employees` — Tool to list all employees in the BreatheHR account with pagination support. Use when you need to retrieve employee information from BreatheHR. Supports filtering by role type (HR, line manager) and R
  - body: { page?: integer, filter?: string, per_page?: integer, rotacloud?: boolean }
- `POST https://api.mcp.ai/api/breathehr/list/holiday/allowances` — Tool to list holiday allowances configured for the company. Returns tiered holiday allowances based on years of service (1-10 years). Use when you need to view or retrieve holiday entitlement configur
- `POST https://api.mcp.ai/api/breathehr/list/leave/requests` — Tool to list all leave requests with optional date and employee/department filtering. Use when you need to retrieve absence or time-off requests across the organization, optionally filtered by date ra
  - body: { page?: integer, end_date?: string, per_page?: integer, rotacloud?: boolean, start_date?: string, employee_id?: integer, department_id?: integer, exclude_cancelled_requests?: boolean }
- `POST https://api.mcp.ai/api/breathehr/list/locations` — Tool to list all company locations from BreatheHR. Use when you need to retrieve location information including IDs and names. Returns a paginated list of locations.
  - body: { page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/breathehr/list/other/leave/reasons` — Tool to list other leave reasons configured for the company in BreatheHR. Use when you need to retrieve available custom leave types beyond standard leave.
- `POST https://api.mcp.ai/api/breathehr/list/salaries` — Tool to list employee salaries with pagination support. Use when you need to retrieve salary information across the organization. Returns paginated salary records including amounts, dates, and basis i
  - body: { page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/breathehr/list/sicknesses` — Tool to list all sickness records from BreatheHR with optional date filtering. Use when you need to retrieve sickness absence records with support for filtering by employee, department, date range, an
  - body: { page?: integer, end_date?: string, per_page?: integer, rotacloud?: boolean, start_date?: string, employee_id?: integer, department_id?: integer }
- `POST https://api.mcp.ai/api/breathehr/list/working/patterns` — Tool to list all working patterns defined in the BreatheHR account with pagination support. Use when you need to retrieve working pattern information including weekly schedules, hours per day, and def
  - body: { page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/breathehr/reject/leave/request` — Tool to reject a leave request in BreatheHR. Use when an authorized user needs to decline an employee's time-off request with a provided reason.
  - body: { id: integer, rejection_reason: string }
- `POST https://api.mcp.ai/api/breathehr/update/employee/expense/claim` — Tool to approve or reject an employee expense claim. Use when you need to update the approval status of an expense claim by providing the claim ID and approver/rejector ID.
  - body: { id: integer, approve: boolean, rejection_reason?: string, approver_rejector_id: integer }
- `POST https://api.mcp.ai/api/breathehr/update/employee/training/course` — Tool to update an existing employee training course record in BreatheHR. Use when you need to modify training details such as status, dates, notes, outcome, or other training attributes.
  - body: { id: string, cost?: string, name?: string, notes?: string, end_on?: string, status?: string, outcome?: string, half_day?: boolean, start_on?: string, followup_date?: string, half_day_am_pm?: string, company_training_type_id?: integer, remuneration_currency_id?: integer, company_training_category_id?: integer, company_training_provider_id?: integer }
- `POST https://api.mcp.ai/api/breathehr/update/sickness` — Tool to update an existing sickness record in BreatheHR. Use when you need to modify sickness details such as status, dates, review notes, or other sickness attributes.
  - body: { id: integer, reason?: string, status?: string, end_date?: string, half_day?: boolean, half_end?: boolean, half_start?: boolean, start_date?: string, review_notes?: string, half_end_am_pm?: string, half_start_am_pm?: string, company_sicknesstype_id?: integer }

## Example prompts
- "What can I do in Breathe HR?"
- "Show me a summary of my Breathe HR account"

## More
- Page: https://mcp.ai/breathehr
- Agent spec (llms.txt): https://mcp.ai/breathehr/llms.txt
- Postman collection: https://mcp.ai/breathehr/postman.json
