# Breathe HR Muse connector

From musedirectory.ai, the independent directory of Meta Muse connectors. Not affiliated with Meta.

## Breathe HR

Read and manage employee leave requests, absences, sickness, salaries and benefits from Breathe HR.

- Record: https://musedirectory.ai/connector/breathe-hr
- Category: Productivity
- Developer: usefulapi (https://usefulapi.io/breathe-hr/)
- Muse status: Extra setup. Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
- Health: Working, 99ms, checked 2026-10-29T11:31:06Z
- Endpoint: https://breathe-hr.usefulapi.io/mcp
- Auth: No account needed; Pricing: unknown
- Screening: Screened, no issues found (2026-10-29T12:46:22Z)
- Source: Found in the official MCP Registry (io.usefulapi/breathe-hr) https://registry.modelcontextprotocol.io/v0/servers?search=io.usefulapi%2Fbreathe-hr

Connects to Breathe HR to let HR managers and business owners view employees, departments, leave requests, absences, sickness records, salaries, bonuses, benefits and expenses. Can create and approve leave requests.

Example request: "Show me all pending leave requests for my marketing department this month."

How to connect: Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use Breathe HR to help me. It is a free service with an MCP server at https://breathe-hr.usefulapi.io/mcp. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Tools:
- breathehr_get_account: The Breathe HR account (company) this API key belongs to: id, name, domain and enabled modules. GET /account.
- breathehr_list_departments: List the company's departments (id, name). Use the ids to filter absences, leave, sickness and pay. GET /departments.
- breathehr_list_divisions: List the company's divisions (id, name). All of them are returned in one reply. GET /divisions.
- breathehr_list_locations: List the company's work locations (id, name). All of them are returned in one reply. GET /locations.
- breathehr_list_working_patterns: List the working patterns (hours per weekday, total weekly hours, default flag). All of them are returned in one reply. GET /working_patterns.
- breathehr_list_holiday_allowances: List the holiday allowance schemes (id, default flag, year_1 to year_10 = the allowance for each year of service, created_at, updated_at). All of them are returned in one reply. GET /holiday_allowances.
- breathehr_list_other_leave_reasons: List the reasons for non-holiday leave (e.g. compassionate, jury service). Use the ids to filter absences. All of them are returned in one reply. GET /other_leave_reasons.
- breathehr_list_employees: List employees with job title, department, division, location, line manager, holiday approver, working pattern, join/leaving dates and status. Bank details and National Insurance numbers are never returned. GET /employees.
- breathehr_get_employee: One employee's record by id (personal and job details, contacts, manager, working pattern). Bank details and NI number are never returned. GET /employees/{id}.
- breathehr_get_holiday_years: An employee's holiday years: start/end, allowance, days or hours taken, booked and remaining. Pass for_date to get only the year that contains that date. GET /employees/{id}/employee_holiday_years.
- breathehr_list_absences: List approved absences (holiday and other leave) with employee, dates, half days, days deducted and cancelled flag. Filter by employee, department, type, other-leave reason and dates. GET /absences.
- breathehr_list_leave_requests: List leave requests (pending, approved, rejected and cancelling requests) with employee, dates, half days, type, status and notes. Filter by employee, department and start-date range. GET /leave_requests.
- breathehr_get_leave_request: One leave request by id, with its status. GET /leave_requests/{id}.
- breathehr_list_sicknesses: List sickness absence records (health data): employee, sickness type, dates, half days, days deducted, status (open, returned, closed…) and reason. Filter by employee, department and start-date range. GET /sicknesses.
- breathehr_list_salaries: List salary records (amount, basis, payment schedule, start date) for the whole company, one employee or one department. GET /salaries, /employees/{id}/salaries or /departments/{id}/salaries.
- breathehr_list_bonuses: List bonus records (amount, date, description) for the whole company, one employee or one department. GET /bonuses, /employees/{id}/bonuses or /departments/{id}/bonuses.
- breathehr_list_benefits: List employee benefits (type, value, start/end) for the whole company, one employee or one department. GET /benefits, /employees/{id}/benefits or /departments/{id}/benefits.
- breathehr_list_employee_jobs: List job history records (job title, start/end dates, department, location) for all employees or one employee. GET /employee_jobs.
- breathehr_list_training_courses: List employee training records (course name, type, status, dates, cost) for all employees or one employee. GET /employee_training_courses.
- breathehr_list_expense_claims: List expense claims (employee, total, state, approver) filtered by employee and state. GET /employee_expense_claims.
- breathehr_list_expenses: List individual expense items (date, description, type, amount, VAT, project). By default only unclaimed items; set include_claimed to see all. GET /employee_expenses.
- breathehr_list_change_requests: List employee self-service change requests (field, requested value, approval state) for all employees or one employee. Requested values of bank and NI fields are redacted. GET /change_requests or /employees/{id}/change_requests.
- breathehr_create_leave_request: WRITE: request leave for an employee (holiday by default, or other leave). It is created as a request, then follows the account's approval rules; the employee's approver is notified. Each call creates a new request. POST /employees/{id}/leave_requests.
- breathehr_approve_leave_request: WRITE: approve a pending leave request; it becomes an absence and is deducted from the allowance. Recorded as done by the "API Employee". POST /leave_requests/{id}/approve.
- breathehr_reject_leave_request: WRITE: reject a pending leave request with a reason the employee will see. Recorded as done by the "API Employee". POST /leave_requests/{id}/reject.

Screening checks:
- MCP handshake: pass (Answered in 1565ms)
- Domain against threat feeds (Cloudflare security DNS): pass (breathe-hr.usefulapi.io, usefulapi.io not flagged)
- Published packages against the OSV malicious-package database: n/a (No npm or PyPI package published)
- Hidden instructions or invisible characters in tool text: pass (25 tools read, nothing found)
- Inputs asking for passwords, card numbers or seed phrases: pass (None found)
- Domain and redirects: pass (No redirects off the domain)
- AI review of purpose and tool behavior: pass (No concerns)
