Skip to main content
Glama

intelliHR MCP by usefulapi

List people

intellihr_list_people
Read-only

List the people (employees) in intelliHR as at today: name, employee number, email, phone, addresses, emergency contact, employment status, their jobs (summary) and custom fields. Filter by name (matches any part of the name), email, employee number, job id, recently updated, or who is on extended leave. Health information is never returned. GET /people.

Input Schema

NameRequiredDescriptionDefault
nameNoMatch any part of a person's name (case-insensitive, any name order).
pageNoPage number, from 1 (default 1). Pass the previous reply's next_page.
emailNoExact primary email address.
limitNoResults per page, 1-100 (default 25).
job_idNoCurrent job id(s), comma separated: the people who hold them.
newest_firstNoSort by creation date, newest first (default: API order).
employee_numberNoExact employee number.
on_extended_leaveNotrue = only people on extended leave, false = only people not on extended leave.
updated_within_daysNoOnly people updated within this many days.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuinely new behavioral context: results are a point-in-time snapshot ('as at today'), health information is never returned (a data-privacy constraint an agent could not infer), and the underlying endpoint is GET /people.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and return contents are front-loaded in the first clause, followed by filters, then a short privacy constraint. It is dense but every element earns its place; the long enumeration of returned fields is slightly heavy but justified given there is no output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With nine optional parameters and no output schema, the description usefully compensates by spelling out the returned fields and the snapshot semantics. Pagination mechanics live in the schema (next_page), so the main remaining gap is nothing an agent needs before calling; it is close to complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all nine parameters (including pagination, sorting and the on_extended_leave boolean) are already self-documented with semantics. The description only restates the filter set at a high level without adding syntax or format detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb and resource ('List the people (employees) in intelliHR'), then enumerates exactly what comes back: name, employee number, email, phone, addresses, emergency contact, employment status, jobs summary and custom fields. It is clearly distinguishable from the sibling intellihr_get_person (single record) and intellihr_list_users.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when this is the right call: bulk enumeration with optional filtering by name, email, employee number, job id, recency or extended leave. It does not explicitly name alternatives (e.g. use intellihr_get_person for a single record), so no exclusion guidance is present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.