Skip to main content
Glama

HR: List submissions

hr_list_submissions
Read-only

The filled-in ANSWERS themselves, newest first. Read-only. Filter by 'person_id' (who answered) or 'form_id'. Each row carries the answers keyed by the question's stable 'key', the form name at the version that was actually answered, and when. An EXIT-survey row is listed but its answers are withheld ('answers_withheld': true) from a caller whose HR role may not read exit surveys — the same boundary hr_get_form_response and the person's timeline apply, so no door gives a different answer.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "hr_list_submissions"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNo
offsetNo
form_idNo
person_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior5/5

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

Beyond the readOnlyHint/destructiveHint annotations, the description discloses ordering (newest first), the row shape (answers keyed by the question's stable key, form name at the answered version, timestamp), and a non-obvious permission behavior: EXIT-survey rows are listed but their answers are withheld via 'answers_withheld': true. It also asserts consistency of that boundary across hr_get_form_response and the person's timeline, which is exactly the kind of cross-cutting behavior an agent cannot infer from annotations.

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?

The lead sentence front-loads what is returned and the ordering, and the second sentence packs return-shape and permission details with little filler. The exit-survey clause is dense and multi-clause, slightly taxing on first read, but every sentence contributes information.

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 no output schema, the description usefully describes the row contents and the withheld-answers flag, which an agent needs to interpret results correctly. The remaining gaps are pagination semantics and whether a total count is returned — meaningful but not disqualifying for a filtered list tool.

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 description coverage is 0%, so the description must carry parameter meaning. It explains person_id ('who answered') and form_id as filters, but says nothing about limit or offset — pagination behavior, defaults, and maximum of 100 are left to the bare schema. Half the parameters gain meaning, so this is adequate-but-incomplete rather than strong.

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

Purpose4/5

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

The description states the resource concretely: 'The filled-in ANSWERS themselves, newest first,' which tells an agent this is a listing of submission answers rather than forms or people. It is distinguishable from hr_get_form_response because it refers to that tool as a related boundary rather than as the same operation. It never uses a clean list verb with scope ('list all submissions'), so it falls just short of 5.

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

Usage Guidelines3/5

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

It gives concrete filtering guidance ('Filter by person_id (who answered) or form_id') and notes that the same role boundary applies as with hr_get_form_response and the person's timeline. What is missing is an explicit statement of when to pick this over hr_get_form_response — e.g., 'use this to scan many submissions; use hr_get_form_response for one'. Usage is implied rather than spelled out.

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.

Resources