humaans-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HUMAANS_API_TOKEN | Yes | API token for Humaans API, created in Humaans Settings → API tokens (read scopes only). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_meA | Return the authenticated user for the current API token. |
| get_token_infoA | Return metadata about the current API token (scopes, owner, etc.). |
| list_peopleA | List people (employees). Optional filters: email, locationId, status. Paginated via limit/skip (max 250). Note: Humaans has no manager-side filter on this endpoint — use get_direct_reports for that. |
| get_personA | Retrieve a single person by their Humaans id. Employee-scoped custom field values are merged onto the person object as top-level keys named after the field (e.g. "Level": "IC5", "Cost Center": ["R&D"]). Native attributes win on name collisions. |
| find_person_by_emailA | Find one person by exact email match. Returns the person object, or null if not found. |
| search_people_by_nameA | Case-insensitive substring search over firstName/lastName/preferredName across all people. Pulls the full people list then filters client-side. |
| get_direct_reportsA | List direct reports of the given person. Reads the |
| get_reporting_chain_upB | Walk the management chain upward from the given person. Returns an ordered list starting with the person and ending at the top of the chain (someone with no manager). |
| get_reporting_chain_downA | Build the subtree of reports under the given person, up to max_depth levels. Uses a single fetch of all people then walks |
| count_reportsA | Count reports for a person. recursive=False gives direct reports only; True gives the full subtree size. |
| list_companiesA | List all companies in the Humaans account. |
| get_companyC | Retrieve a company by id. |
| list_job_rolesC | List job roles (historical and current job assignments). Optionally filter by personId. |
| get_job_roleB | Retrieve a single job role by id. |
| list_locationsA | List all configured work locations (typically countries/regions for remote teams). |
| list_spacesB | List all physical office spaces. |
| list_compensationsC | List compensation records (salary, bonus, etc.). Optional filters: personId, typeId. |
| get_compensationA | Retrieve a single compensation record by id. |
| list_compensation_typesA | List all compensation types configured in the account (salary, bonus, commission, equity, etc.). |
| get_compensation_typeB | Retrieve a single compensation type by id. |
| list_time_awayC | List time-away records. Optional filters: personId, startDate, endDate (YYYY-MM-DD). |
| get_time_awayC | Retrieve a single time-away record by id. |
| list_time_away_typesA | List all time-away types (vacation, sick, parental, etc.). |
| list_time_away_allocationsC | List time-away allocations. Optionally filter by personId. |
| list_time_away_policiesB | List all time-away policies. |
| list_public_holidaysC | List public holidays. Optional filters: calendarId, year. |
| list_public_holiday_calendarsA | List all configured public holiday calendars. |
| list_bank_accountsB | List bank accounts. Optionally filter by personId. |
| list_emergency_contactsB | List emergency contacts. Optionally filter by personId. |
| list_equipmentA | List equipment assigned to people. Optionally filter by personId. |
| list_documentsB | List documents. Optionally filter by personId. |
| list_custom_fieldsA | List all configured custom fields. |
| list_custom_valuesB | List custom field values. Optionally filter by personId. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 33 tools
Tools are clearly separated by entity (people, compensation, time away, etc.) and operation (list, get, find, search, count). There is minimal overlap; get_direct_reports is distinct from list_people, and count_reports serves a different purpose from reporting chains.
All tool names follow a consistent verb_noun pattern using snake_case, with verbs like list, get, find, search, count applied uniformly. No mixing of styles or vague verbs.
33 tools is slightly high for typical MCP servers, but each tool covers a distinct entity or operation within the HR domain. A few could potentially be merged (e.g., count_reports and get_reporting_chain_down), but overall the count is justifiable.
The tool set is entirely read-only; there are no create, update, or delete tools for any HR entity. This is a major gap for a practical HR system, as agents cannot manage data. Additional entities like departments or teams are also missing.