PapaHR
Server Details
Connects your PapaHR HR system to AI assistants. Ask about employees, time off, probation endings, hiring, surveys and eNPS, goals, pending approvals, and what turnover costs. OAuth sign-in; the AI connection is part of PapaHR Pro.
- Status
- Healthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 15 tools
Most tools target clearly distinct resources (people, hiring, goals, money, projects, surveys, time off, knowledge base). The only real overlap is the checklist cluster (my_checklists, checklist_questions, save_checklist_answers, finish_checklist), but the descriptions frame them as a coherent list→get→answer→finish flow rather than duplicates.
All names are snake_case and readable, but the convention is mixed: some are verb-led (find_people, finish_checklist, save_checklist_answers, checklist_questions) while others are bare nouns (goals, hiring, pending, surveys). Neither style is wrong, but there is no single predictable pattern.
Fifteen tools for an HR platform spanning people, hiring, OKRs, money, projects, surveys, time off and checklists is reasonable, and each appears to earn its place. It sits at the top of the comfortable range, with only mild pressure to merge some read-only analytics tools.
The surface is a strong read/analytics layer (overview, people, hiring, money, projects, surveys, absences) plus a full checklist lifecycle, but write operations are largely absent — no create/update for employees, goals or projects, and 'pending' exposes approvals with no tool to actually approve or sign.
Available Tools
15 toolschecklist_questionsChecklist questionsBRead-onlyInspect
The questions of a checklist by sections with the type, the options or the scale, a hint and the current answer. By default only the unanswered ones.
| Name | Required | Description | Default |
|---|---|---|---|
| all | No | Include the answered questions too | |
| section_id | No | ||
| checklist_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuinely non-obvious behavior: the default filters out already-answered questions, and the response includes type, options/scale, hint, and current answer. That default-filtering trait is exactly the kind of thing an agent would otherwise get wrong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very compact, with no wasted words; the default-filter behavior is placed at the end where it reads as a qualifier. The noun-phrase opening is slightly awkward for an action tool but the sentence is dense with relevant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does a reasonable job of enumerating returned fields (type, options/scale, hint, current answer), which is a genuine strength. What remains missing for a 3-parameter read tool is the meaning of checklist_id vs section_id and whether sections are grouped in the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% – just `all` is documented inline. The description partially compensates by explaining the unanswered-by-default behavior (clarifying `all`) and by referring to sections (hinting at section_id), but checklist_id and section_id remain semantically undefined in both places. Adequate but with a real gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the specific resource (the questions of a checklist, organized by sections) and enumerates the payload fields, which is more than a restatement of the name. However, it is a bare noun phrase with no verb, so an agent must infer that this is a read/list operation rather than something else involving questions. It does not distinguish itself from finish_checklist or save_checklist_answers, which operate on the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"By default only the unanswered ones" implies the retrieval scenario (finding outstanding items), but there is no explicit when-to-use guidance and no mention of alternatives such as save_checklist_answers or finish_checklist. An agent must infer from the tool name and sibling names which one to call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_overviewCompany overviewARead-onlyInspect
The company in PapaHR at a glance: headcount, departments, open vacancies, who is away today, pending approvals.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered by structured data. The description adds value by enumerating the five data categories returned, but says nothing about scope (whose company, permission requirements, whether figures are real-time or cached).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the concept ('the company at a glance') and then lists the concrete contents. No filler, no redundancy with the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing return content and does so by naming the five sections an agent will receive. The only gap is scope/freshness context, which matters little for a zero-parameter read-only snapshot.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case; there is nothing for the description to disambiguate. The empty schema is consistent with the description's framing as a parameterless snapshot call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (company overview in PapaHR) and enumerates exactly what it surfaces: headcount, departments, open vacancies, who is away today, pending approvals. That lets an agent distinguish it from point-lookup siblings like find_people or time_off, though it never explicitly frames itself as the aggregate/dashboard alternative to those tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the phrase 'at a glance' — an agent can infer this is the fast orientation call before drilling into siblings, but there is no explicit when-to-use, when-not-to-use, or named alternative (e.g. 'use pending for the full approval list').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_peopleFind employeesCRead-onlyInspect
Employees: name, position, department, manager, hire date, probation end, status. Filter by a name or position fragment, a department, a status.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | A part of the name or the position | |
| status | No | Default active | |
| department | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds value by enumerating the fields returned, which partly substitutes for the missing output schema, but says nothing about result limits, sorting, or match behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no padding. It is front-loaded, though the opening field list is less actionable up front than a plain statement of what the tool does would have been.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-optional-parameter lookup tool with annotations and no output schema, listing returned fields is a reasonable completeness move. However, missing mention of matching semantics and result-size behavior leaves gaps for an agent calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: `query` and `status` are documented in the schema, while `department` is only implied by the trailing sentence 'Filter by ... a department'. Baseline 3 applies; the description adds little beyond the schema and does not explain the `all` status option or the 'active' default's effect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never states a verb or explicitly says it searches/lists employees; it opens with a bare field list ('Employees: name, position, department...'). Combined with the name and title, the intent is inferable, but the description alone only hints at the purpose and does not distinguish it from siblings like `pending` or `probation_ending`.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description describes what can be filtered but gives no guidance on when to use this tool versus siblings such as `probation_ending` or `hiring`, nor any prerequisite or exclusion. An agent must guess the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finish_checklistFinish a checklistBIdempotentInspect
Complete the walkthrough and get the result by sections and the link to the report with recommendations.
| Name | Required | Description | Default |
|---|---|---|---|
| checklist_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description adds that the call completes the walkthrough and returns sectioned results plus a report link, which is useful given there is no output schema. However, it does not describe side effects such as whether the checklist locks, whether answers must already be saved, or what errors can occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single short sentence with no filler, and it front-loads the action before the outcome. The phrasing 'by sections and the link to the report' is slightly awkward but still compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one required parameter, no output schema, and no schema descriptions, the definition should clarify checklist_id sourcing, prerequisites, and what 'sections' means. It provides a useful outcome hint and report-link mention but leaves these operational details missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, checklist_id, is undocumented in both the schema (0% description coverage) and the tool description. The description never explains which checklist identifier to pass or where to obtain it, for example from my_checklists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the action ('Complete the walkthrough') and the outcome ('get the result by sections and the link to the report'), so the tool's purpose is clear. It does not explicitly distinguish finishing from sibling tools like save_checklist_answers or checklist_questions, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no mention of related siblings such as save_checklist_answers or my_checklists. The final-step intent is only implied by the word 'Complete'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
goalsGoals and OKRARead-onlyInspect
Objectives (OKR) of a period with the progress; default the current quarter.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | e.g. 2026-Q4 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description contributes the defaulting behavior (period falls back to the current quarter), which is genuinely useful context, but says nothing about return shape, ordering, or whether progress is a percentage or a raw value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence, front-loaded with the resource and ending with the actionable default. Slightly awkward phrasing ('of a period with the progress') but no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-optional-param read-only lookup with no output schema, the description covers what it returns at a high level (objectives plus progress) and the default behavior. A brief note on the return container or progress units would make it fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter already carries an example format. The description adds meaning the schema lacks — that omitting the period defaults to the current quarter — which is the key semantic for this optional param.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource precisely — Objectives (OKR) for a period, including progress — so an agent knows what it retrieves. It doesn't contrast with any sibling, but the sibling list contains no overlapping goal/OKR tool, so the ambiguity risk is low.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The default-to-current-quarter note implies the main calling scenario (omit the period for the current quarter), but there is no explicit when-to-use framing, no prerequisites, and no alternatives named. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hiringHiring pipelineBRead-onlyInspect
Open vacancies with the candidates by stage; with vacancy_id — the candidates of that vacancy with the stage, the source and the culture fit.
| Name | Required | Description | Default |
|---|---|---|---|
| vacancy_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false. The description adds useful content about returned pipeline data, includingstage, source, and culture fit, but does not mention pagination, sorting, freshness, or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a compact single sentence with no filler, and the two modes are front-loaded. The semicolon construction and the phrase 'Open vacancies' are slightly awkward, but the definition remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one optional parameter and no output schema, the description covers both modes and gives some information about returned fields. It still leaves gaps around output structure, pagination, and whether all vacancies or only open vacancies are returned when vacancy_id is omitted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only one optional integer parameter and 0% schema description coverage, the description adds meaning by explaining that vacancy_id narrows results to candidates for that vacancy. However, it does not explicitly state that the parameter is optional or clarify what vacancy IDs are valid.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource clearly: open vacancies with candidates by stage, and when vacancy_id is supplied, candidates for that vacancy with stage, source, and culture fit. It is specific enough to distinguish it from generic people search, though it does not explicitly name a sibling alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains the two parameter modes but gives no guidance on when to use this tool versus siblings such as find_people or pending. There are no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hr_moneyHR in moneyCRead-onlyInspect
HR in money: what leavers, burnout, meetings cost, the value of an employee, the return on pay, team stability. Without calc — the list of calculations.
| Name | Required | Description | Default |
|---|---|---|---|
| calc | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description does add one behavioral fact beyond annotations: omitting 'calc' returns the list of available calculations. It says nothing about the shape of results, units/currency, or whether figures are estimated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact at two clauses, but it is a noun-phrase list rather than a front-loaded statement of action, and the final clause 'Without calc — the list of calculations' is grammatically awkward and easy to misread. No sentence is pure filler, but the ordering buries the key default behavior at the end.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a nine-way enum at 0% schema coverage, no output schema, and no indication of what a result looks like or which enum value to pick, the description leaves material gaps. An agent can guess the domain but cannot confidently select a 'calc' value for save, early, or training.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter is a nine-value enum with no descriptions, so the description must carry the meaning. It does roughly map several values to concepts (leave→leavers, burn→burnout, meetings→meetings, value→employee value, roi→return on pay, stability→team stability) but leaves 'save', 'early', and 'training' entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the domain (HR costs expressed in money) and enumerates the kinds of calculations covered (leavers, burnout, meetings, employee value, pay ROI, team stability). However, it never says what the tool actually returns or does — is it a calculator, a lookup, or a catalogue? The trailing 'Without calc — the list of calculations' hints at a directory behavior but is cryptic rather than clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many siblings (company_overview, find_people, hr_projects, etc.), nor of prerequisites or exclusions. The only usage hint is implicit: a 'money' framing suggests cost analysis rather than headcount or project data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hr_projectsHR projectsBRead-onlyInspect
HR projects: goal, deadline, status (on time, at risk, overdue, done), tasks done and overdue, risks.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description usefully enumerates the data returned (status values on time/at risk/overdue/done, task counts, risks), which substitutes for the missing output schema; however it says nothing about scoping (all projects vs. user's projects) or whether results are limited/paginated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact line with zero filler, and the resource name is front-loaded. It is arguably too compressed (a bare noun phrase rather than a sentence), but nothing in it is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description is the only place return fields are described, and it does list them — a real contribution. But for a zero-parameter read tool it leaves open the key question of scope (which projects, whose HR projects) and gives no hint about result size or aggregation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so there is no parameter semantics burden — baseline 4 applies. The description's field list is orthogonal to parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The fragment 'HR projects' plus a field list conveys that the tool returns HR project data (goal, deadline, status, tasks, risks), but there is no verb — it never says 'list' or 'retrieve'. An agent can infer the resource but gets no explicit statement of what action is performed, and nothing distinguishes it from siblings like 'goals' or 'pending'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given. It never says whether this is the right tool when an agent wants project status versus goals or pending items, nor are any exclusions or alternatives named. The agent must guess from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
knowledge_baseSearch the knowledge baseARead-onlyInspect
Search the company's knowledge base (policies, how things work) and return the matching articles.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety and scope are covered externally. The description adds only that matching articles are returned; it says nothing about ranking, result limits, or coverage boundaries within the company corpus.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the verb and resource, with the content scope in a parenthetical. No filler and nothing redundant with the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only, single-parameter search tool this covers the essentials: what it searches and what it returns. It stops short of describing result shape (snippets, titles, links) or limits, and there is no output schema to fill that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate but barely does. The single 'query' parameter is largely self-documenting by name, and '(policies, how things work)' hints that free-text topical queries are expected, but nothing is said about keyword vs natural-language syntax.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Search the company's knowledge base') and clarifies the content domain with '(policies, how things work)'. That is enough to separate it from topical siblings like hr_money or hr_projects, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the parenthetical content scope — an agent can infer 'use this for policy/how-to questions'. There is no explicit when-to-use framing and no routing away from overlapping siblings such as hr_money or hr_projects, which could also cover policy topics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_checklistsMy HR checklistsARead-onlyInspect
The owner's PapaHR checklists (HR audits): walkthroughs in progress and completed with the progress, and the catalog of checklists to start.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds value by disclosing what content is returned (progress values, catalog), but says nothing about ordering, volume, or how the three groups are combined in the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no filler; the subject (owner's checklists) comes first followed by the three content groups. Phrasing is slightly dense with parentheticals but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list tool with no output schema and full annotation coverage, the description is largely self-sufficient. The one gap is that it does not describe the shape of the returned collection, but the content groups it names give an agent enough to act.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The description correctly implies a parameterless, fixed-scope listing of the owner's own checklists, and nothing is missing on the input side.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (the owner's PapaHR checklists / HR audits) and enumerates the three content groups returned: in-progress walkthroughs, completed ones with progress, and the startable catalog. It implicitly separates it from action siblings like finish_checklist or save_checklist_answers, though it never names them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the fact that it returns lists; there is no explicit 'use this when...' or exclusion pointing to checklist_questions, finish_checklist, or save_checklist_answers. An agent can infer this is the read/list endpoint but must reason about it from the sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pendingWaiting for a decisionARead-onlyInspect
What waits for a decision: requests at the approval step and documents not signed yet.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful scope information — the two categories of items returned — but says nothing about volume, ordering, or whether results are truncated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, and the core definition comes first. The phrasing 'documents not signed yet' is slightly awkward where 'unsigned documents' would read cleaner.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description is the only place the return shape could be explained. It names the categories of returned items but not their structure, count, or ordering, leaving an agent to guess at the response format for a simple read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline is 4. The description correctly does not waste words on inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description concretely enumerates what the tool returns: items at an approval step plus unsigned documents. That rescues the vague name 'pending' and makes the resource unambiguous. It does not, however, differentiate itself from siblings like time_off or my_checklists, which also surface outstanding items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer it should call this when a user asks 'what's waiting on me?'. There is no explicit when-to-use, no exclusions, and no pointer to sibling tools that might cover adjacent pending concepts (e.g., time_off requests).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
probation_endingProbation endingARead-onlyInspect
Employees whose probation ends between two dates (default the next 60 days), with the onboarding plan progress and the 1:1 meetings held.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | YYYY-MM-DD | |
| from | No | YYYY-MM-DD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds real behavioral context beyond that: the default window is the next 60 days when dates are omitted, and the payload enriches each employee with onboarding progress and held 1:1s. It omits pagination/result-size behavior, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence identifies the population, the range, and the returned context, with the default window given parenthetically where it is most useful. No filler sentences or restated title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-required-parameter read tool with no output schema, the description covers the meaningful unknowns: what population is selected, what the default window is, and what enrichment fields come back. Only the shape/size of the returned list is left unstated, a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are documented as YYYY-MM-DD in the schema, so the baseline is 3. The description adds semantics the schema does not carry: the two dates form an inclusive range and omitting them defaults to the next 60 days, which materially changes how an agent calls it with no arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific population (employees whose probation ends) scoped by a date range and states what accompanying data comes back (onboarding plan progress, 1:1 meetings). It is clearly a read/report tool rather than a mutation. It does not explicitly distinguish itself from the overlapping sibling find_people, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the resource and the '(default the next 60 days)' hint, which tells an agent the tool is useful for upcoming-probation checks. There is no explicit when-to-use/when-not or pointer to alternatives such as find_people or pending when the agent wants a broader or narrower employee list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_checklist_answersSave checklist answersAIdempotentInspect
Save answers to a checklist (starts the walkthrough if needed). answer: for yes_no — "yes" or "no"; for variants — the option number (1-based) or a list of numbers; for rating — a number on the scale; for text — the text. comment: optional, like «Describe the reality» on the site.
| Name | Required | Description | Default |
|---|---|---|---|
| by_ai | No | true when the answers were not given by the user in the conversation; PapaHR marks them «🤖 Your AI answered» for the owner to check | |
| answers | Yes | ||
| checklist_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds one real behavioral fact beyond that — the checklist/walkthrough is created if it doesn't exist — but says nothing about overwrite semantics for previously saved answers, permission requirements, or what the caller gets back.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action and side effect, then a compact per-field gloss. Dense but every clause about answer formats earns its place given the polymorphic answer type; only the «Describe the reality» phrasing is slightly site-specific noise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, the description covers the hardest part (polymorphic answer values) but omits what happens to answers not included in the payload, whether repeated calls merge or replace, and what a successful response contains. Adequate to call correctly, incomplete for predicting effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% and the `answer` property is an untyped empty schema, so the description carries real weight here: it enumerates the expected value shape per question type (yes/no string, 1-based option numbers or list, rating number, free text). `comment` is also explained with a concrete example. `by_ai` and `checklist_id` are left to the schema, which does document `by_ai` adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Save answers to a checklist") and immediately discloses the side effect of starting the walkthrough. It does not distinguish itself from the sibling finish_checklist, so an agent must infer the boundary between saving answers and completing a checklist.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by "starts the walkthrough if needed," which tells the agent this can be the first call in a flow. However, there is no explicit when-to-use/when-not guidance relative to siblings like checklist_questions or finish_checklist, and no statement about whether this can be called repeatedly as answers accumulate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
surveysSurveys and eNPSARead-onlyInspect
The latest surveys with the number of answers and eNPS.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds that the result includes answer counts and eNPS, which is useful return-value context, but it does not clarify what 'latest' means (how many surveys, what time window) or whether pagination applies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every element — 'latest surveys,' 'number of answers,' and 'eNPS' — contributes to understanding what the tool returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool, the description adequately states the returned fields. Without an output schema the description carries more burden, and while it does not define 'latest' or describe response shape, the essential content is present for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and a fully empty schema, so there are no parameter semantics to document. The baseline for zero-parameter tools is 4, and the description does not need to compensate for any schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (surveys) and the specific data returned (number of answers and eNPS), which is enough for an agent to know what it fetches. It lacks an explicit verb like 'list' or 'get' and does not differentiate from any sibling tool, but no sibling is a close survey alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, no prerequisites, and no exclusions. The phrase 'The latest surveys' only implies that it retrieves survey data, leaving the agent to infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
time_offWho is awayARead-onlyInspect
Who is away (vacations, sick leave and other absences) between two dates; default the next 14 days.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | YYYY-MM-DD | |
| from | No | YYYY-MM-DD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful context about the default 14-day window and the categories of absence included, but it doesn't describe output shape, ordering, or whether it includes people on partial-day leave.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that states the resource, scope, and default behavior with zero wasted words. The semicolon cleanly separates the default-window detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with two optional date parameters and no output schema, the description provides enough context to call it correctly. The only minor gap is not describing the output format, but the tool's simplicity makes that acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are documented as YYYY-MM-DD strings. The description adds meaning beyond the schema by stating that omitting the dates defaults to the next 14 days, which is not captured in the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (who is away) and scopes it to vacations, sick leave, and other absences between two dates. This clearly distinguishes it from siblings like find_people or hr_money, though it doesn't explicitly contrast with an alternative tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage by defining the date range and stating the default window of the next 14 days. However, there is no explicit 'when to use this vs. something else' guidance or exclusions, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
15 tool updates
- First observed
checklist_questions - First observed
company_overview - First observed
find_people - First observed
finish_checklist - First observed
goals - First observed
hiring - First observed
hr_money - First observed
hr_projects - First observed
knowledge_base - First observed
my_checklists - First observed
pending - First observed
probation_ending - First observed
save_checklist_answers - First observed
surveys - First observed
time_off
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1618 npm1MIT
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs113 npm55 PyPIMIT
- AlicenseAqualityCmaintenanceRevnuvo Company Intelligence tells AI agents what changed at a company, with evidence. It observes company websites, technologies, and DNS over time and returns timestamped, confidence-aware changes, signals, and monitoring.9MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.