CharlieHR MCP by usefulapi

io.usefulapi/charliehr · v1.0.0 · productivity

CharlieHR MCP by usefulapi is healthy: it completed an MCP handshake in 1304 ms and exposes 27 tools.

Read CharlieHR team members, leave, allowances, offices, teams and salaries; add team member notes.

Endpoint: https://charliehr.usefulapi.io/mcp (streamable-http)

Repository · Website · JSON · Add to my inventory

Facts

Users (last 30 days)0
HandshakeHealthy
Auth neededNone
Tool count27
Latency1304 ms
Last checked (UTC)2026-10-23T11:05:21.356Z

Health history

Checked (UTC)StatusLatencyError
2026-10-23T11:05:21.356ZHealthy1304

Tools (27)

charliehr_get_companyThe Charlie company the API keys belong to: id, name, subdomain and logo. GET /company.
charliehr_list_officesList the company's offices: id, name, whether it is the head office, address, timezone, phone and email. GET /offices.
charliehr_get_officeOne office by id. GET /offices/{id}.
charliehr_list_teamsList the company's teams with the ids of their team members. GET /teams.
charliehr_get_teamOne team by id, with the ids of its team members. GET /teams/{id}.
charliehr_list_team_membersList the company's team members (employees): name, work and personal email, phone, address, office, manager, teams, job title, start date, employment status and leaving date. Sensitive fields included: date_of_birth, gender, married, personal email, phone and home address. National Insurance numbers
charliehr_get_team_memberOne team member by id with the full profile (contact details, address, office, manager, teams, dates, employment status, job title, notes). Sensitive fields included: date_of_birth, gender, married, personal email, phone, home address and notes. National Insurance numbers (also inside notes), payrol
charliehr_get_team_member_working_locationWhere one team member works on a date (custom overrides win over the default assignment). Defaults to today. GET /team_members/{id}/working_location.
charliehr_get_team_member_working_weeksThe working-week segments of one team member (which days are full_day/morning/afternoon, weekly hours, from/to dates), company defaults and custom overrides. Not paginated. GET /team_members/{id}/working_weeks.
charliehr_list_working_locationsList the active working locations (the catalog). With a date, instead returns where each active team member works on that date. GET /working_locations.
charliehr_list_leave_requestsList leave requests of the whole company (id, team member, approver, status, request type, start/end date, amount and units, duration, details). Optionally only those in a date window. GET /leave_requests.
charliehr_get_leave_requestOne leave request by id. GET /leave_requests/{id}.
charliehr_list_team_member_leave_requestsThe leave requests of one team member, optionally only those in a date window. GET /team_members/{id}/leave_requests.
charliehr_list_leave_allowancesThe current holiday allowance of every team member: allowance, used and remaining, in days and hours, with the leave period. GET /leave_allowances.
charliehr_get_team_member_leave_allowanceThe current holiday allowance of one team member (allowance, used, remaining, in days and hours, with the period). GET /team_members/{id}/leave_allowance.
charliehr_list_allowance_adjustmentsAll holiday allowance adjustments of one team member across every leave period (description, days/hours, carryover flag, creator, period). GET /team_members/{id}/allowance_adjustments.
charliehr_list_non_holiday_leave_allowancesDays taken and limit for each non-holiday leave type (sick, compassionate...) of one team member. GET /team_members/{id}/non_holiday_leave_allowances.
charliehr_list_leave_typesThe enabled leave types (Holiday, Sick...): id, name, deductible, default, auto-approved, sensitive. GET /leave_types.
charliehr_get_leave_typeOne leave type by id. GET /leave_types/{id}.
charliehr_list_company_holidaysThe company's holidays (bank holidays and closures): name, start/end date, duration, deductible. Optionally only those in a date window. GET /company_holidays.
charliehr_list_restricted_datesThe dates on which leave is restricted (e.g. a year-end freeze): name, start/end date, duration. Optionally only those in a date window. GET /restricted_dates.
charliehr_list_salariesSENSITIVE: the salary records of all team members (job title, pay rate, pay period, frequency, currency, effective date, employment type). Needs API keys with access to salary data. GET /salaries.
charliehr_list_team_member_salariesSENSITIVE: the salary history of one team member (job title, pay rate, currency, effective date). GET /team_members/{id}/salaries.
charliehr_list_team_member_note_typesThe custom note types (fields such as Employee No. or Laptop Serial Number) with who may see them. GET /team_member_note_types.
charliehr_get_team_member_note_typeOne note type by id. GET /team_member_note_types/{id}.
charliehr_list_team_member_notesThe custom notes (label and content) stored on one team member (the content of a note labelled as a National Insurance number, and NI-number-looking text, is redacted). GET /team_members/{id}/notes.
charliehr_create_team_member_noteWRITE: add a custom note (a value for one note type, e.g. an employee number) to a team member in Charlie. It is created immediately and visible to whoever the note type's permissions allow. Use charliehr_list_team_member_note_types for the note type id. POST /team_members/{id}/notes.