oracle-hcm-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@oracle-hcm-mcpSearch for active workers with last name Smith"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
oracle-hcm-mcp
Unofficial Model Context Protocol (MCP) server for Oracle Fusion Cloud HCM REST APIs.
Not an Oracle product. Not affiliated with, endorsed by, or supported by Oracle Corporation. Provided as-is under the MIT License. You are responsible for compliance with your Oracle licenses, HCM security roles, privacy/PII rules, and any damage caused by write operations. This project does not claim to be an official Oracle integration, SDK, or partner solution. Oracle® and Java® are trademarks of Oracle Corporation. Use of these names does not imply endorsement.
Status
v0.4 — Atom CDC (poll/consume + checkpoints), HMAC webhook signing, file/sqlite multi-node approvals,
curated ADF finders (hcm_lov_find / hcm_describe_finder), richer payslip fields, heavier HTTP/gRPC e2e.
Builds on v0.3 curated domains. 110+ tools. Perfect ADF coverage is not a goal.
See docs/ROADMAP.md.
Honest coverage
Domain | Curated tools | Fusion roots |
Workers + assignments | search/get/create/update + assignments deep-read |
|
Absences | CRUD |
|
Plan balances | search + get ( |
|
AOR | CRUD |
|
Checklists / tasks | list/get + status update |
|
BP notifications | list/get + performAction |
|
Org LOVs | orgs, locations, jobs, grades |
|
Time | search/get (read) |
|
Talent | search/get + light update |
|
Payroll | search/get (read-only) |
|
Generic | allowlisted get/mutate | see allowlist; CE / generative AI blocked |
Related MCP server: HR System MCP Server
Safety modes
Mode | Behavior |
Default | Mutating tools return |
| Mutations run immediately. Approval tools remain registered so sensitive tools can still require approval unless |
Unknown / future hcm_* tools are classified as write (safe default).
Transports
stdio (default) — for Claude Desktop / Cursor / MCP clients
Streamable HTTP —
POST /mcp(plusGET /health)gRPC — custom bridge wrapping MCP JSON-RPC (
proto/mcp_bridge.proto)
Setup UI (local wizard)
Interactive setup at http://127.0.0.1:8790 (localhost only):
npm run setup-ui
# open http://127.0.0.1:8790 (falls back to 8792+ if 8790 is busy)Walks through Dummy vs Real Fusion → base URL / API version → auth (basic / bearer / oauth) →
approval vs --write → test connection → copy Cursor mcp.json fragments for oracle-hcm and
oracle-hcm-write → a short how-to cheat sheet.
Secrets stay in the browser for generating config. Optional write to .env.local (gitignored).
The setup server can proxy a health/test-connection probe and never logs or returns passwords,
bearer tokens, or client secrets.
Unofficial wizard for an unofficial MCP — not an Oracle product.
Quick start
npm install
npm run build
npm test
# Local mock HCM (basic auth demo/demo) on :9090
npm run dummy-hcm
# MCP over stdio against the mock (approval mode)
ORACLE_HCM_BASE_URL=http://127.0.0.1:9090/hcmRestApi \
ORACLE_HCM_USERNAME=demo ORACLE_HCM_PASSWORD=demo \
npx oracle-hcm-mcp
# Unrestricted writes (trusted only)
npx oracle-hcm-mcp --write --base-url http://127.0.0.1:9090/hcmRestApi
# Streamable HTTP
npx oracle-hcm-mcp --http 8788 --base-url http://127.0.0.1:9090/hcmRestApi
# gRPC bridge
npx oracle-hcm-mcp --grpc 8789 --base-url http://127.0.0.1:9090/hcmRestApiCLI
oracle-hcm-mcp # stdio, approval required for writes
oracle-hcm-mcp --write # stdio, unrestricted writes
oracle-hcm-mcp --http 8788
oracle-hcm-mcp --grpc 8789
oracle-hcm-mcp --base-url http://127.0.0.1:9090/hcmRestApiEnvironment
Variable | Meaning |
| e.g. |
| default |
|
|
| Basic auth |
| Bearer token |
| OAuth client-credentials (IDCS) |
| Same as |
| Pending intent TTL (default 15 min) |
| Enable payslip / bank / national-ID tools |
| Allow sensitive tools to skip approval when combined with |
| Optional multi-env profile label |
|
|
| Path for file/sqlite approval store |
| HMAC-SHA256 secret for webhook receiver ( |
| Atom CDC checkpoint JSON path |
Auth note: credentials open the HTTP door; HCM RBAC still decides what the user/app can do.
Tools (v0.4)
Meta / setup: hcm_health, hcm_whoami, hcm_list_resources, hcm_describe_resource, hcm_setup_status, hcm_test_connection, hcm_emit_mcp_config, hcm_export_config
Workers: hcm_search_workers, hcm_get_worker, hcm_get_worker_assignments, hcm_create_worker, hcm_update_worker
Absences / balances: hcm_search_absences, hcm_get_absence, hcm_create_absence, hcm_update_absence, hcm_delete_absence, hcm_absence_balance → planBalances, hcm_get_plan_balance
AOR: hcm_search_aor, hcm_get_aor, hcm_create_aor, hcm_update_aor, hcm_delete_aor
Checklists: hcm_list_checklists, hcm_get_checklist, hcm_update_task_status → child/allocatedTasks/…/action/updateTaskStatus
BP / notifications: hcm_list_notifications, hcm_get_notification, hcm_perform_bp_action → businessProcessNotifications/action/performAction
Org LOVs: hcm_search_organizations, hcm_get_organization, hcm_search_locations, hcm_get_location, hcm_search_jobs, hcm_get_job, hcm_search_grades, hcm_get_grade
Time: hcm_search_time_records, hcm_get_time_record
Talent: hcm_search_talent_profiles, hcm_get_talent_profile, hcm_update_talent_profile
Payroll (read-only): hcm_search_payroll_relationships, hcm_get_payroll_relationship
Generic (allowlisted): hcm_rest_get, hcm_rest_mutate
Atom CDC: hcm_list_atom_feeds, hcm_get_atom_feed, hcm_list_atom_entries, hcm_get_atom_entry,
hcm_detect_changes, hcm_atom_poll, hcm_atom_consume, hcm_atom_get_checkpoint, hcm_atom_reset_checkpoint
Finders: hcm_lov_finder, hcm_lov_find, hcm_describe_finder, hcm_resolve_uniq_key
Approval: hcm_list_pending_approvals, hcm_approve_write, hcm_deny_write
(always registered; file/sqlite store optional for multi-node)
CE / generative-AI / Oracle-internal style paths are blocklisted for generic REST.
Docs
Reference
HCM REST base pattern:
/hcmRestApi/resources/11.13.18.05/Oracle docs: https://docs.oracle.com/en/cloud/saas/human-resources/farws/rest-endpoints.html
License
MIT — see LICENSE. No warranty. No liability. Not an Oracle product.
Available Tools
119 toolshcm_absence_balanceCRead-only
Search absence plan balances via Fusion planBalances.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| personNumber | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already communicates that this is a safe read operation, and the description aligns with that by saying 'Search.' It adds the small detail that it targets Fusion planBalances, but it does not disclose what happens when no filters are provided, whether personNumber or finder is required, or how limit affects pagination.
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 sentence with no filler and the core action is front-loaded. However, it is so terse that it veers toward under-specification, offering little more than the tool name already implies.
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 search tool with four unannotated parameters and no output schema, the description is not complete enough for an agent to call it correctly. It leaves unanswered how to filter, what the response contains, and which parameters are actually needed.
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% and the description provides no meaning for q, limit, finder, or personNumber. With four undocumented parameters, the description was obligated to compensate but instead says nothing about how to construct a valid search or how the parameters relate.
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 action ('Search') and a resource ('absence plan balances'), and identifies the underlying Fusion planBalances source. It is not a tautology and an agent can tell the general operation, but it does not explicitly distinguish this from siblings like hcm_get_plan_balance or hcm_get_absence_type_balance.
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 guidance on when to use this tool versus alternatives such as hcm_get_plan_balance or hcm_search_absence_plans. No prerequisites, filters, or exclusion criteria are mentioned, so the agent must infer usage 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.
hcm_allocate_checklistB
Allocate a checklist to a person (approval unless --write).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Allocate payload (PersonNumber, ChecklistName, …) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false, so the description adds value by noting that allocation defaults to an approval flow and only becomes a direct write with --write. However, it does not explain how --write is expressed in the JSON request, what happens to existing checklist state, or what permissions are required.
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 compact sentence with the core action front-loaded and no filler. The parenthetical is slightly cryptic but does not add unnecessary length.
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 nested body schema, additionalProperties allowed, no output schema, and minimal annotations, the agent is left without the payload requirements, approval/write signaling details, or expected response behavior. The description covers the basic intent but not enough to reliably invoke the tool correctly.
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 input schema already describes body as 'Allocate payload (PersonNumber, ChecklistName, …)' with 100% coverage, and the description adds no further detail about required fields, value formats, or how to signal the write vs. approval mode. This meets the baseline but does not improve parameter understanding.
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?
Description states a specific verb ('Allocate'), a resource ('a checklist'), and a recipient ('to a person'), making the tool's function immediately clear. It is distinct from sibling tools like hcm_get_checklist, hcm_update_task_status, and hcm_force_close_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?
No guidance is given on when to use this tool versus related checklist tools, nor are prerequisites or alternatives mentioned. The parenthetical 'approval unless --write' describes a mode of operation, not a selection criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_approve_writeA
Approve and execute a pending write by approval_id.
| Name | Required | Description | Default |
|---|---|---|---|
| approval_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide readOnlyHint=false, which already signals this is a write operation. The description adds that it 'executes' the write, implying the write is actually performed upon approval, which is useful. However, it doesn't disclose side effects, reversibility, or whether approval is final. No contradiction with annotations.
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. Every word earns its place: verb, action, resource, and parameter are all present.
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 single-parameter tool with no output schema, the description is mostly adequate. It tells the agent what to do and with what. However, it doesn't explain what the response looks like, whether the approval can be undone, or how to obtain approval_id (e.g., via hcm_list_pending_approvals). These are gaps, but the tool is simple enough that the description is minimally viable.
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 must compensate. It mentions 'by approval_id' and the schema defines approval_id as a required string. The description adds minimal meaning beyond the schema—it tells you the parameter identifies the pending write to approve, but doesn't explain where to find it or its format. Baseline 3 is appropriate.
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 ('Approve and execute') and a specific resource ('a pending write by approval_id'). It clearly distinguishes this from sibling tools like hcm_deny_write and hcm_list_pending_approvals, though it doesn't explicitly name 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?
The description implies usage: call this when you have an approval_id for a pending write and want to approve it. It doesn't explicitly state when not to use it or mention alternatives like hcm_deny_write, but the verb 'approve' and the sibling context make the intended use reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_atom_consumeB
Consume (poll + advance checkpoint) Atom entries after cursor. Persists checkpoint to file store.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| dryRun | No | If true, do not advance checkpoint | |
| collection | No | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint=false annotation, the description discloses that it persists a checkpoint to file store and that dryRun prevents advancement. This gives the agent meaningful insight into side effects, though it omits potential error or concurrency 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?
The description is two tight sentences with no filler. Core behavior and the key side effect are front-loaded, making it easy to scan.
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 mutating consume-style tool with no output schema and low parameter coverage, the description leaves gaps around cursor semantics, limit defaults, collection filtering, and when to prefer this over atom_poll. It captures the essence but not enough for confident 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?
Schema description coverage is only 33% and the description adds no explanation for limit or collection. The mention of 'after cursor' references a concept not present in the parameters, and the effect of limit and collection scope remains undocumented.
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 clearly identifies the action (consume/poll + advance checkpoint) and resource (Atom entries), which differentiates it from list/poll siblings. However, it does not explicitly name an alternative or define where the cursor comes from, leaving minor ambiguity.
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 phrase 'poll + advance checkpoint' implies this tool is used when the caller wants to both read and persist progress, with dryRun as an opt-out. Yet there is no explicit when-to-use versus hcm_atom_poll or hcm_atom_get_checkpoint, nor any exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_atom_get_checkpointCRead-only
Get Atom CDC checkpoint(s) from local store.
| Name | Required | Description | Default |
|---|---|---|---|
| collection | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already declares this a safe read, and the description adds one genuinely useful behavioral detail beyond it: the operation reads a local store rather than a remote CDC source. It does not disclose what happens when no checkpoint exists, whether the local store is auto-initialized, or how checkpoints relate to consumed entries, but the annotation lowers the bar and the local-store context earns some credit.
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?
At eight words the description is tightly written and front-loads the verb and resource. However, the brevity comes at the expense of the parameter and usage context, so it reads as under-specification rather than effective conciseness — appropriate in size but incomplete in 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?
Despite the tool's low structural complexity (one optional parameter, no output schema), essential context is missing: the meaning of `collection`, the semantics of a CDC 'checkpoint,' and how this tool fits with hcm_atom_reset_checkpoint and the poll/consume flow. An agent without prior domain knowledge cannot reliably invoke it correctly from this definition alone.
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 sole parameter `collection` has zero schema description coverage (0%) and is never mentioned in the tool description, so nothing compensates for the schema's silence. The agent cannot determine whether `collection` is a feed name, a checkpoint key, or an optional filter, nor what omitting this non-required parameter yields. This is a blocking gap for correct invocation.
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 ('Get') and resource ('Atom CDC checkpoint(s)') with a location qualifier ('from local store'), so the core operation is understandable. However, the plural '(s)' and the unexpanded 'CDC' leave ambiguity about exactly what is returned, and it does not differentiate this read tool from its many atom siblings like hcm_atom_poll, hcm_atom_consume, or hcm_atom_reset_checkpoint.
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 guidance is given on when to call this tool versus the closely related atom tools — hcm_atom_poll, hcm_atom_consume, hcm_atom_reset_checkpoint, hcm_list_atom_feeds — which the extensive sibling list makes highly relevant. There is no stated use case, prerequisite, or when-not-to-use advice, so an agent must infer the checkpoint's role in the CDC flow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_atom_pollARead-only
Poll Atom feed for entries after the stored checkpoint cursor (or since). Does not advance cursor.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| since | No | Override cursor with ISO timestamp | |
| collection | No | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true already declaring the operation safe, the description adds meaningful behavioral detail beyond the annotation: it explicitly states that the cursor is not advanced and that polling is relative to a stored checkpoint. This addresses the most important behavioral concern for an agent choosing between poll and consume.
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 communicates the core behavior and the critical non-mutating guarantee. There is no filler or redundant restatement of the tool name.
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?
The description conveys the essential polling semantics and the read-only nature, but with no output schema it does not describe the return format or content. Combined with the undocumented limit and collection parameters, the definition is adequate for a basic call but incomplete for confident autonomous 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?
Schema description coverage is only 33%, with limit and collection left undescribed, and the description does not compensate for these gaps. The 'since' phrase mirrors the schema's own description rather than adding meaning. The agent is left guessing about limit semantics and what 'collection: all' refers to.
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 ('poll'), a precise resource ('Atom feed'), and the key mechanism ('after the stored checkpoint cursor or since'). It also explicitly distinguishes itself from sibling tools by noting it does not advance the cursor, making its purpose unmistakable.
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 provides clear context: this is a read-style polling operation that does not mutate cursor state. It does not explicitly name alternatives or state when-not-to-use, but the non-advancing-cursor behavior strongly implies the contrast with consuming tools like hcm_atom_consume, so the guidance is clear enough without being fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_atom_reset_checkpointA
Clear Atom CDC checkpoint for a collection (or all). Local store only.
| Name | Required | Description | Default |
|---|---|---|---|
| collection | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the constraint 'Local store only,' which clarifies that the reset does not affect remote sources—a useful behavioral detail beyond the readOnlyHint=false annotation. However, it does not disclose potential side effects, such as whether clearing the checkpoint causes reprocessing of all entries or if it is irreversible. Given the annotation only marks it as a write operation, the description adds some value but leaves out important consequences.
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 extremely concise—two short sentences with no filler. The action and scope are front-loaded, and every word earns its place. This is an example of efficient, high-density documentation.
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 tool with one optional parameter and no output schema, the description covers the basic mechanics (clears a checkpoint, local-only, optional scope). However, it omits any guidance on when to use it or what happens to in-flight consumers, which might be critical for an agent deciding whether to invoke this destructive operation. Given the low complexity, a score of 3 seems fair—adequate but with a noticeable 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 must compensate. It does clarify that the 'collection' parameter is optional by saying '(or all)', implying that omitting it clears all checkpoints. However, it does not specify the expected format (e.g., name vs. ID) or how a single collection is identified. This is minimal but useful semantics.
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 clearly states the action ('Clear'), the resource ('Atom CDC checkpoint'), and the scope ('for a collection (or all)'). This is a specific and unambiguous verb-resource pairing that distinguishes it from sibling tools like hcm_atom_get_checkpoint (which retrieves) and hcm_atom_poll/consume (which process entries).
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 guidance is provided on when to use this tool versus alternatives. It does not mention scenarios where resetting a checkpoint is appropriate, nor does it reference sibling tools like hcm_atom_get_checkpoint for comparison. The only contextual hint is 'Local store only,' which is behavioral rather than usage-oriented.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_bulk_approve_notificationsB
Bulk approve BP notifications (approval unless --write). Prefer dry-run first.
| Name | Required | Description | Default |
|---|---|---|---|
| notificationIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal readOnlyHint=false, indicating this is a mutating operation. The description adds a dry-run preference and a cryptic '--write' flag, which hints at behavior but does not clearly explain the mutation's effect, reversibility, or the exact meaning of the flag.
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 very short and front-loaded with the main action. The second sentence 'Prefer dry-run first' is useful, but the parenthetical 'approval unless --write' is ambiguous and would benefit from clearer phrasing.
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 and a mutating tool, the description omits important context: what the tool returns, how it reports successes/failures, and how it relates to the explicit hcm_bulk_bp_dry_run sibling. The dry-run guidance is not enough to fully understand invocation and expected behavior.
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 schema has 0% description coverage, so the description must compensate, but it provides no parameter details. The single parameter notificationIds is self-explanatory from its name, yet the description does not clarify whether these are BP notification IDs, whether array order matters, or what happens to invalid IDs.
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 clearly identifies the action ('Bulk approve') and the resource ('BP notifications'), making the core purpose evident. It is distinguishable from sibling tools like hcm_bulk_deny_notifications by the word 'approve', but the phrase 'approval unless --write' is confusing and detracts from clarity.
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 instruction 'Prefer dry-run first' provides some usage guidance, implying a safe preliminary step before this approval tool. However, it never names the dry-run sibling tool (hcm_bulk_bp_dry_run) or explains when to choose this over hcm_perform_bp_action, hcm_approve_write, or hcm_bulk_deny_notifications.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_bulk_bp_dry_runARead-only
Dry-run bulk approve/deny for notification ids — returns planned actions without executing.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| notificationIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly discloses that no execution occurs and that planned actions are returned, which adds meaningful behavioral context beyond the readOnlyHint annotation. It does not detail the structure of the planned actions, but the core no-side-effect behavior is clearly communicated.
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 conveys the operation, target resource, and key behavioral promise without filler. Every part of the description earns its place.
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?
The tool is simple and the schema covers the required parameters, but with no output schema the description only vaguely says 'planned actions' without indicating what the response looks like. It is adequate for making a basic call but leaves some uncertainty about the return format.
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 description maps 'notification ids' to notificationIds and 'approve/deny' to action, but it omits the REJECT enum value and does not explain the distinction between REJECT and DENY. With 0% schema description coverage, more parameter clarification would be needed to fully compensate.
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 clearly states a dry-run bulk approve/deny operation on notification IDs and explicitly says it returns planned actions without executing. This differentiates it from executing siblings like hcm_bulk_approve_notifications and hcm_bulk_deny_notifications.
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 word 'dry-run' and 'without executing' imply a preview use case, but the description does not explicitly say when to use this tool versus the executing bulk-action siblings, nor does it name alternatives. Usage guidance is present only by implication.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_bulk_deny_notificationsC
Bulk reject/deny BP notifications (approval unless --write).
| Name | Required | Description | Default |
|---|---|---|---|
| notificationIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The only annotation is readOnlyHint: false, so the description carries the full burden of behavioral disclosure. It adds a hint about an approval-vs-write dual mode, but this is terse and ambiguous, and nothing explains side effects of a bulk deny, reversibility, or prerequisites. For a mutation tool, this is a significant transparency gap.
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 14-word sentence with the core action front-loaded and zero wasted words. The parenthetical compresses behavioral nuance into a compact clause. Appropriately sized for what it conveys.
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 bulk write operation with no output schema, a single undocumented parameter, and only readOnlyHint: false in annotations, the description is far too thin. An agent needs to understand the approval-vs-write modes, where notification IDs come from, and the consequences of bulk denial to invoke this safely — none of that is provided.
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 must compensate. It confirms that notificationIds refers to BP notifications, but it gives no guidance on ID format, where to source them (e.g., hcm_list_notifications), batch-size limits, or empty-array behavior. This is minimal compensation for an undocumented parameter.
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 action ('reject/deny') applied to a specific resource ('BP notifications') at bulk scope, which semantically differentiates it from hcm_bulk_approve_notifications and from single-item tools like hcm_get_notification. The parenthetical '(approval unless --write)' is cryptic and slightly muddies the clarity, but the core purpose is unambiguous.
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 guidance is given on when to use this tool versus hcm_perform_bp_action, hcm_deny_write, hcm_bulk_bp_dry_run, or hcm_bulk_approve_notifications. No alternatives, exclusions, or selection conditions are named; the agent must infer intent purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_create_absenceC
Create an absence entry (approval unless --write).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint: false already declares this is a write operation, and the description's 'Create' aligns with that — no contradiction. The description adds a behavioral trait beyond the annotation by hinting at an approval workflow ('approval unless --write'), which is useful context, but it's vague and unexplained — the agent doesn't know what --write means or how approval is triggered.
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 short sentence with the core purpose front-loaded, which is efficient. However, the parenthetical 'approval unless --write' wastes its space on an unexplained flag rather than conveying actionable information — it's cryptic, not informative.
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 create operation with a free-form nested object body and no output schema, this definition is incomplete. The agent has no information about required body fields, the approval workflow's implications, or return values. With no schema constraints and 0% description coverage, there is nothing to guide a correct call.
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 carries the full burden of explaining the `body` parameter, but it says nothing about it. The body is an unconstrained object (additionalProperties: {}) with no field documentation, and the description doesn't mention what fields an absence entry needs (e.g., worker, absence type, dates). The agent cannot construct a valid request from this definition.
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 ('Create an absence entry'), which clearly distinguishes it from the many absence siblings like hcm_search_absences, hcm_get_absence, hcm_update_absence, and hcm_delete_absence based on the action verb. However, it doesn't name any sibling explicitly, and the parenthetical 'approval unless --write' is cryptic and detracts from clarity.
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 guidance is given on when to use this tool versus alternatives. There is no mention of related tools such as hcm_update_absence, hcm_delete_absence, or the approval-flow siblings (hcm_list_pending_approvals, hcm_approve_write, hcm_deny_write). The 'approval unless --write' hint gestures at a workflow but doesn't explain the conditions for using this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_create_aorC
Create AOR (approval unless --write).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only readOnlyHint=false, the annotation already tells the agent this is a mutation; the description adds little beyond a cryptic approval/write caveat. It does not disclose side effects, approval semantics, required permissions, or what happens to the created AOR.
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 extremely short, but brevity here is under-specification rather than useful conciseness. It contains no structured guidance and front-loads an unresolved, ambiguous parenthetical.
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 write operation with an opaque body and no output schema, this description is far from complete. It omits the meaning of AOR, the approval workflow, the body structure, and any indication of the result or next steps.
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 single required 'body' parameter has 0% schema description coverage and is a free-form object with no properties documented. The description gives no hint about required fields, structure, or expected content, so the agent cannot construct a valid body.
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 and resource ('Create AOR'), but the acronym AOR is never expanded and the parenthetical '(approval unless --write)' muddies whether the tool creates an approval, an AOR, or a direct write. It does not differentiate this create tool from the many sibling create 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?
No when-to-use or when-not-to-use context is given relative to hcm_get_aor, hcm_update_aor, hcm_delete_aor, or hcm_approve_write. The only conditional cue, 'unless --write', refers to a flag that does not appear in the input schema, so it cannot guide invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_create_workerA
Create a worker (requires approval unless --write). Example body: { "DisplayName": "New Hire", "PersonNumber": "P9" }
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Worker JSON payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate readOnlyHint=false, so the mutation is already clear. The description adds value by disclosing the approval requirement and providing an example body, which gives insight into expected input. It does not mention side effects or failure modes, but for a simple create operation this is reasonable.
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 two sentences with no fluff. The purpose is front-loaded, and the example is directly useful. Every element earns its place.
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?
This is a create operation with a single object parameter, but the description does not specify required fields (the example may not be exhaustive), what the response contains, or any validation rules. Without an output schema, the agent lacks information about the result or potential errors. This is a significant gap for a mutation 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 schema describes 'body' as 'Worker JSON payload' with additionalProperties allowed, which is vague. The description supplements this with a concrete example containing 'DisplayName' and 'PersonNumber', giving agents a practical starting point for constructing the payload. This goes beyond the 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 clearly states the action 'Create a worker' with a specific resource. It is unambiguous and distinct from sibling tools like hcm_update_worker or hcm_get_worker by its verb and noun.
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 notes 'requires approval unless --write', which is a usage constraint, but it does not explicitly contrast this tool with alternatives or state when to use it versus other create tools (e.g., hcm_create_absence). The naming convention helps, but explicit guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_create_worker_assignmentB
Create nested worker assignment under workRelationships/.../assignments (approval unless --write).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| workerId | Yes | ||
| periodOfServiceId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation only indicates readOnlyHint: false. The description adds valuable behavioral context by stating that the operation requires approval unless the --write flag is used, and that it creates a nested resource. This goes beyond the minimal annotation and helps the agent understand the mutation's approval flow.
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 sentence with the key action front-loaded. It is efficient, but the ellipsis in 'workRelationships/.../assignments' introduces ambiguity and reduces clarity. Overall, it is appropriately concise.
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?
Given the tool has three parameters (including a complex body object), no output schema, and no parameter documentation, the description is far from complete. It omits the body schema, workerId semantics, and response expectations. The approval nuance is helpful but does not fill the gaps.
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%, and the description does not explain any of the three parameters (workerId, body, periodOfServiceId). It hints at periodOfServiceId via the path 'workRelationships/.../assignments' but provides no details on body structure or required fields. The description fails to compensate for the lack of schema documentation.
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 clearly states the action ('Create nested worker assignment') and the resource location ('under workRelationships/.../assignments'), distinguishing it from sibling tools like hcm_get_worker_assignments (read) and hcm_update_worker_assignment (update). It is specific and not a tautology, though it could be more explicit about the resource semantics.
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 includes an approval condition ('approval unless --write') but does not explain when to use this tool versus alternatives, nor does it mention prerequisites or scenarios where a different tool (e.g., update) would be appropriate. No explicit when/when-not guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_delete_absenceCDestructive
Delete an absence (approval unless --write).
| Name | Required | Description | Default |
|---|---|---|---|
| absenceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the destructive nature is covered. The description adds a cryptic 'approval unless --write' note but fails to explain what --write does, how the approval process works, or the consequences of deletion. This adds confusion rather than clarity.
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 very short, but the parenthetical structure is poorly formed and ambiguous. It is not verbose, but the lack of clear sentence structure and the cryptic note make it less effective than a straightforward single clause.
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 destructive tool with one parameter and no output schema, the description is incomplete. It does not explain the approval flow, the meaning of --write, success/failure behavior, or how it relates to other tools like hcm_get_absence or hcm_approve_write. An agent would be uncertain about the actual effects and required steps.
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% and the description provides no explanation of absenceId. It does not specify the format, how to obtain a valid ID, or any validation requirements. With zero coverage, the description should have compensated but did not.
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 clear action ('Delete an absence'), but the parenthetical '(approval unless --write)' introduces ambiguity about whether the tool deletes directly or via an approval workflow. This muddles the primary purpose and does not clearly distinguish it from hcm_approve_write or hcm_update_absence.
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 guidance is provided on when to use this tool versus alternatives like hcm_update_absence or hcm_approve_write. The description does not mention any prerequisites, conditions for direct deletion vs approval, or when the --write flag should be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_delete_aorCDestructive
Delete AOR (approval unless --write).
| Name | Required | Description | Default |
|---|---|---|---|
| aorId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare destructiveHint=true and readOnlyHint=false, so the description correctly implies a destructive operation, but it adds confusion with 'unless --write'. It does not explain what happens to related data, whether the deletion is reversible, or whether approval is required. The description partially contradicts the annotations by suggesting a non-destructive '--write' mode.
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 extremely short, which is concise, but the parenthetical 'unless --write' is cryptic and wastes the only sentence. It is front-loaded with the verb 'Delete' but the ambiguity undermines its efficiency.
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 destructive tool with no output schema and minimal parameter documentation, the description is inadequate. It does not explain the deletion scope, side effects, or how the '--write' flag relates to the operation. An agent cannot confidently invoke this tool correctly based on the description alone.
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%, and the description only mentions 'AOR' without explaining the aorId parameter. The description does not clarify what an AOR is, how to obtain a valid aorId, or any constraints on the ID format. With a single required parameter and no schema description, the description should compensate but fails to do so.
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 'Delete AOR (approval unless --write)' states a verb and resource, but the parenthetical is confusing and ambiguous. It suggests the tool deletes an AOR unless a '--write' flag is present, which contradicts the tool name and the destructiveHint annotation. It does not clearly distinguish from sibling tools like hcm_delete_absence or hcm_update_aor.
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 guidance is provided on when to use this tool versus alternatives. The parenthetical 'unless --write' is unclear and could mislead an agent about when deletion actually occurs. There is no mention of prerequisites, such as needing an existing AOR ID or approval workflow context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_deny_writeB
Deny a pending write by approval_id.
| Name | Required | Description | Default |
|---|---|---|---|
| approval_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=false already signals mutation; the description only repeats that by saying 'Deny'. It does not disclose consequences, reversibility, permission requirements, or what happens to the pending write after denial. With no annotations beyond readOnlyHint=false, the description carries the full burden and falls short.
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 short sentence with the action and parameter front-loaded. No wasted words; perfectly scoped for a single-parameter tool.
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 with no output schema and minimal annotations, the description is underspecified. An agent is not told what response to expect, whether denial is reversible, or how this fits into the pending-approval workflow with hcm_list_pending_approvals and hcm_approve_write.
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%, but the description at least says the approval_id identifies the pending write to deny, going beyond the bare 'string' type. It lacks details about where the ID comes from or what format it is expected to be in.
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 uses a specific verb ('Deny') and a specific resource ('a pending write'), and identifies the key (approval_id). It is immediately distinguishable from the sibling hcm_approve_write and from read-only 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?
The description gives no guidance on when to choose this tool over hcm_approve_write or how to obtain a valid approval_id (e.g., via hcm_list_pending_approvals). It states the action but no workflow context, prerequisites, or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_describe_finderARead-only
Describe curated ADF finder parameters for a resource (or list all finders). Unofficial catalog — not full Fusion metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| finder | No | ||
| resource | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already declares this is a read-only operation, and the description does not contradict that. It adds a useful behavioral caveat that the catalog is curated and not full Fusion metadata, but it does not go deeper into return format, completeness guarantees, or other operational behavior. This is decent but not rich behavioral context.
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 two short sentences with no filler. The primary action is front-loaded, and the 'not full Fusion metadata' caveat is placed prominently in the second sentence. Every word earns its place.
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 two-parameter, read-only tool, the description covers the general purpose and an important caveat. However, it leaves the list-all-finders trigger ambiguous and provides no output-shape guidance, which matters more here because there is no output schema. A little more detail about how to invoke each mode would make it complete.
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 schema has 0% description coverage, so the description must carry parameter meaning on its own. It only loosely implies that 'resource' scopes the finder and that a finder may be omitted to list all finders, but it never explains valid values, requiredness, or how the two parameters interact. This is insufficient compensation for the total lack of schema-level parameter documentation.
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 clearly states the verb ('Describe'), the resource type ('curated ADF finder parameters'), and an alternate mode ('list all finders'). This distinguishes it from related siblings like hcm_describe_resource or hcm_lov_finder. The 'Unofficial catalog' qualifier further narrows its scope.
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 implies a lightweight, unofficial use case and hints that omitting a finder may list all finders, but it never explicitly states when to use this tool versus alternatives. It also does not warn against using it when full Fusion metadata is required, even though that is the main value of the 'unofficial' caveat.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_describe_resourceBRead-only
Describe a curated resource by name (workers, planBalances, …).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Resource name, e.g. workers |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already indicates this is a safe read operation. The description adds minimal behavioral context beyond that—it implies the tool returns a description or schema, but the exact return format is not disclosed. This is acceptable but not rich.
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, compact sentence that is front-loaded with the core action ('Describe a curated resource by name') and gives examples. It is appropriately sized with no wasted words.
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?
Given the tool is a simple metadata/descriptor with one parameter and no output schema, the description is mostly adequate. However, it doesn't mention what 'describe' returns (e.g., a schema, a list of fields, etc.), which could leave the agent uncertain about the output format. Since the output schema is absent, a little more detail would be beneficial.
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 schema covers 100% of the parameter 'name' with a clear description and example. The description repeats the example, providing little additional value. However, it does reinforce that the name should be a curated resource name, which is slightly more specific.
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 clearly states the tool's purpose: to describe a curated resource by name. It gives examples like 'workers' and 'planBalances', making it specific. However, it doesn't explicitly differentiate from hcm_describe_finder or hcm_list_resources, though the intent is inferable.
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 explicit guidance on when to use this tool versus alternatives. It doesn't mention that it's for metadata/introspection versus actual data retrieval, nor does it list any exclusions or conditions. The agent must infer from the name and examples.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_detect_changesCRead-only
Summarize recent Atom/change entries since an optional ISO timestamp (client-side filter on feed).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| since | No | ISO timestamp | |
| collection | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint=true annotation aligns with the read-only nature of 'summarize'. The description adds useful context about client-side filtering and the optional timestamp, but it does not disclose pagination behavior, output shape, or how 'recent' is determined.
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, compact sentence with no filler, and it front-loads the core action. The phrasing 'Atom/change entries' and 'client-side filter on feed' is somewhat jargon-heavy but still concise.
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 and three parameters, the description does not explain what the summarized result looks like, what 'collection' refers to, or how 'limit' behaves. The lack of sibling differentiation and parameter context leaves an agent with an incomplete picture for calling the tool correctly.
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%, with solely 'since' described. The description reinforces that 'since' is an optional ISO timestamp, but it adds no meaning for 'limit' or 'collection', leaving those parameters effectively undocumented in both the schema and the description.
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 clear action ('summarize') and resource ('recent Atom/change entries'), and mentions the optional 'since' timestamp. However, it does not explicitly differentiate this tool from closely related siblings like hcm_list_atom_entries or hcm_atom_poll.
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 guidance on when to use this tool versus alternatives. The phrase 'client-side filter on feed' implies it reads feeds, but it never contrasts with hcm_list_atom_entries or hcm_atom_poll, so an agent cannot decide confidently between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_dry_run_mutateARead-only
Dry-run an allowlisted mutate: validates path/method/body shape; does not call Fusion.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | ||
| path | Yes | ||
| method | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds meaningful context: it validates path/method/body shape and explicitly states 'does not call Fusion'. This goes beyond the annotation by clarifying the tool's non-execution behavior and validation scope, providing useful additional transparency without contradicting annotations.
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, concise sentence that front-loads the core action ('Dry-run an allowlisted mutate') and then efficiently states what it validates and what it does not do. There is zero redundant phrasing, making it highly economical and easy to parse.
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?
The tool has only three parameters and no output schema, and the annotations cover safety (readOnlyHint). The description explains the validation scope and the non-call behavior, but it does not specify what the tool returns (e.g., validation errors, success status) or clarify what 'allowlisted' means in practice. For a dry-run tool, understanding the output format is important, and this is absent.
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%, yet the description only mentions 'path/method/body shape' without elaborating on each parameter's meaning, format, or constraints. It does not compensate for the schema's lack of descriptions; the enum for method and type for path are provided only in the schema, not clarified in the description. The description adds minimal semantic value beyond what the schema already exposes.
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 clearly states the tool's function: to dry-run an allowlisted mutate operation, validating path/method/body shape without actually calling Fusion. This distinguishes it from actual mutation tools like hcm_rest_mutate and hcm_rest_get, and the specific verb 'dry-run' plus resource 'allowlisted mutate' makes the purpose unambiguous.
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 implies when to use it (for validation without side effects) by stating 'does not call Fusion', but it does not explicitly reference sibling tools or state when NOT to use it. There is no direct comparison to hcm_rest_mutate, so the guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_emit_mcp_configBRead-only
Emit a redacted Cursor mcp.json fragment for oracle-hcm / oracle-hcm-write (secrets as placeholders).
| Name | Required | Description | Default |
|---|---|---|---|
| includeWriteServer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description does not need to restate safety. It adds useful context that the output is redacted and secrets are placeholders, but it does not describe the fragment structure, defaults, or any side effects. This is a modest value-add beyond the annotation.
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 with no filler, front-loading the action and artifact. Every word contributes meaning.
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?
The tool is simple, with one optional boolean and read-only annotations, so the description covers the core purpose. However, it omits includeWriteServer semantics and any routing guidance, making it adequate but incomplete for a fully confident call.
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%, and the description never mentions includeWriteServer. An agent must infer from the parameter name and the 'oracle-hcm / oracle-hcm-write' pairing that it controls inclusion of the write server, which is not reliable.
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 uses a specific verb ('Emit') and names the exact artifact ('redacted Cursor mcp.json fragment') plus the target integrations ('oracle-hcm / oracle-hcm-write'). This makes it distinguishable from data-access siblings like hcm_export_config even without opening the schema.
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 guidance is given on when to use this tool versus alternatives, and no exclusions or conditions are stated. The intended usage is only implied by the tool name and the Cursor-specific wording.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_explain_toolBRead-only
Explain a curated MCP tool: class (read/write/sensitive), related resource, usage hints.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, and the description adds that the tool returns classification and usage hints without indicating side effects. It does not describe output format or behavior for unknown tool names, but for a read-only metadata tool the disclosure is adequate.
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 front-loads the core action and then lists the returned dimensions. There is no filler, repetition, or unnecessary 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 meta-tool meant to aid tool selection, the description does not state when to use it, what 'curated' means, or how the name parameter maps to sibling tools. With no output schema and no parameter documentation, the description leaves important context 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?
Schema description coverage is 0%, and the description does not explicitly explain that the 'name' parameter should be the exact identifier of the MCP tool to explain. The tool name and phrasing imply it, but no valid values, format, or relationship to the sibling list is provided.
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 action (explain) and target (a curated MCP tool), then enumerates the output facets: class, related resource, and usage hints. This distinguishes it from hcm_describe_resource, which is likely about resources rather than MCP tools, though the description does not explicitly name that sibling.
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 gives no guidance on when to use this tool versus alternatives like hcm_describe_resource, hcm_probe_capabilities, or hcm_rbac_hint. It does not provide context for choosing it or exclude any sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_export_configARead-only
Export public (non-secret) config JSON for multi-env profiles / backup.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals safety, and the description adds meaningful context by emphasizing that only public, non-secret config is exported and that the output is JSON. This clarifies the tool's behavioral boundary without contradicting the annotation.
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, well-structured sentence that front-loads the verb and resource before stating the intended use cases. Every phrase contributes meaning, and there is no redundant or filler 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?
For a zero-parameter, read-only export tool, the description provides sufficient context: what is exported, its non-secret nature, and typical use cases. While no output schema is present, the simple nature of the operation does not demand extensive additional detail.
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 zero parameters, the schema leaves nothing undocumented, and the description need not elaborate on parameter meaning. The description appropriately focuses on the tool's purpose and output rather than fabricating parameter guidance.
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 ('Export'), a concrete resource ('public (non-secret) config JSON'), and an intended purpose ('multi-env profiles / backup'). This clearly distinguishes it from sibling tools like hcm_emit_mcp_config, which likely generates rather than exports configuration.
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 communicates the appropriate context: exporting non-secret configuration for multi-environment profiles or backup purposes. It does not explicitly name alternative tools or state when not to use it, but the use case is clear enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_find_locationsCRead-only
Location finder helper (finder + country filter).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| country | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already tells the agent this is a safe read operation, so the description does not need to restate safety. It adds a small behavioral clue about finder and country filtering, but it does not explain what the finder returns, whether results are paged, or how the filter behaves.
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 extremely concise with no filler, and the key idea is front-loaded. However, it is so terse that it sacrifices the explanatory value needed for a tool with no parameter descriptions.
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, zero parameter description coverage, and no differentiation from similar location tools, the description is not sufficient for an agent to select and call the tool correctly. The brief parenthetical leaves too much to inference.
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 must compensate for the undocumented parameters. It only explains 'finder' and 'country' at a high level, leaving 'q' and 'limit' completely 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 identifies a location finder helper with a country filter, so it names a resource and a filtering behavior. However, 'helper' is vague, and it does not explain how this tool differs from the sibling hcm_search_locations or hcm_get_location.
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 guidance about when to use this tool instead of hcm_search_locations, hcm_lov_finder, or hcm_describe_finder. The parenthetical '(finder + country filter)' hints at a mechanism but does not state the intended use case or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_force_close_checklistCDestructive
Force-close an allocated checklist (approval unless --write).
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | ||
| checklistId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal readOnlyHint=false and destructiveHint=true, and the description adds the notion of approval via 'approval unless --write'. However, --write has no corresponding parameter in the schema, so the disclosure is confusing and incomplete. The description also says nothing about consequences, reversibility, or the meaning of 'approval' in this flow.
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 short sentence with the core action front-loaded and no wasted words. The parenthetical is cryptic and arguably adds confusion, which keeps it from being perfect.
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 destructive tool with no output schema, an undocumented nested body object, and no parameter descriptions, one sentence is insufficient. The agent is left without information about what body should contain, when approval is required, what side effects force-closing has, or how this relates to the write-approval workflow suggested by sibling tools.
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% and the description does not explain checklistId or body. The required checklistId is inferable from the tool's name and action, but body is completely opaque, and the --write mention muddles rather than clarifies parameter or behavioral semantics.
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 verb ('Force-close') and resource ('allocated checklist'), which clearly distinguishes it from siblings like hcm_allocate_checklist and hcm_get_checklist. The parenthetical 'approval unless --write' introduces ambiguity, but the core action is clear enough for an agent to know what the tool does.
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 gives no guidance on when to use force-close versus alternatives such as hcm_update_task_status, hcm_list_pending_approvals, or hcm_approve_write/hcm_deny_write. The phrase 'allocated checklist' implies a precondition, but it is never explicitly stated, and no when-not-to-use or alternative routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_absenceBRead-only
Get absence by id.
| Name | Required | Description | Default |
|---|---|---|---|
| absenceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes that this is a safe read operation, and the description's 'Get' wording is consistent with that. No additional behavioral context is added, such as behavior for unknown IDs or whether all absence fields are returned, but the annotation meaningfully lightens the burden for this simple read.
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 words. It earns its place by naming the resource and the lookup key, though its brevity leaves the burden of context to other dimensions.
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-parameter read-only getter with no output schema, the description is minimally adequate: it communicates the operation and the key. It is not fully complete because it omits what an absence record contains, how to obtain a valid absenceId, and when to prefer search_absences over this direct lookup.
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 schema description coverage at 0%, the description needed to compensate for the undocumented absenceId parameter, but it only restates that the lookup is by ID. It does not explain the ID format, source, uniqueness, or how to obtain a valid absenceId from a search.
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 uses a specific verb-resource pair — 'Get absence' — and adds the retrieval key 'by id', which clearly communicates this is a single-record lookup rather than a search, create, update, or delete operation. It does not explicitly contrast itself with hcm_search_absences, so it stops short of full sibling differentiation.
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 provides no guidance on when to use this tool instead of hcm_search_absences, hcm_absence_balance, or hcm_get_absence_type_balance. An agent must infer that a direct ID lookup is intended, but no context, prerequisites, or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_absence_type_balanceDRead-only
getAbsenceTypeBalance-style helper via planBalances finder.
| Name | Required | Description | Default |
|---|---|---|---|
| absenceType | No | ||
| personNumber | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is known. The description adds no real behavioral context: it doesn't explain how absenceType filters the balance, what the finder returns, whether it aggregates plans, or how a person is identified beyond the schema property.
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 short, but the single sentence is mostly a restatement of the tool name and an internal implementation reference. It is under-specified rather than efficiently informative, and no useful structure is present.
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, zero parameter descriptions, and a vague one-line description, an agent cannot confidently invoke this tool or interpret its result. The required parameter and read-only annotation are the only reliable signals, which is far from 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 description coverage is 0%, so the description carries the burden of explaining personNumber and absenceType. It does neither. The agent only learns from the schema that personNumber is required and absenceType is optional, but not their semantic meaning or format.
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 restates the tool name in camelCase ('getAbsenceTypeBalance-style helper') and adds only an opaque implementation detail ('via planBalances finder'). It does not plainly state that this tool returns an absence type balance for a person, nor does it distinguish the behavior from similar tools like hcm_get_plan_balance or hcm_absence_balance.
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 guidance on when to use this tool versus alternatives. The phrase 'style helper' is ambiguous, and the description never mentions conditions, exclusions, or related tools that should be considered instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_aorBRead-only
Get AOR by id.
| Name | Required | Description | Default |
|---|---|---|---|
| aorId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already declares this as a read-only operation, so the description adds little beyond that. It does not disclose behavior such as error handling on non-existent IDs, response format, or pagination (irrelevant here). The description is consistent with the annotation and provides minimal extra context.
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 four words and directly states the core action. There is zero fluff or repetition, making it exceptionally concise and easy to scan. For a simple get-by-id tool, this level of brevity is appropriate.
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?
Given the low complexity (one parameter, no output schema) and the read-only annotation, the description covers the essential action but omits context like what an AOR is, what the response looks like, and any error behavior. With many sibling tools, it could benefit from a sentence clarifying its role, but it is minimally adequate for an agent that understands the domain.
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 is the only source of parameter meaning. It says 'by id' but does not explain what an AOR ID is, its format, or how to obtain it. This adds only slightly more than the schema's bare 'aorId' field, which is insufficient for a complete understanding.
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 ('Get') and resource ('AOR') and specifies retrieval by id, which distinguishes it from the search tool hcm_search_aor. However, it does not define the acronym 'AOR' or the exact scope of the resource, leaving some ambiguity for agents unfamiliar with the domain.
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 explicit guidance on when to use this tool versus alternatives. The presence of hcm_search_aor implies that hcm_get_aor is for fetching a single known AOR, but the description does not state this distinction or mention any prerequisites like needing the ID beforehand.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_atom_entryARead-only
Get a single Atom entry by EntryId.
| Name | Required | Description | Default |
|---|---|---|---|
| entryId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, matching the read-only 'Get' verb; there is no contradiction. The description adds little beyond what the annotation conveys, however—it does not disclose what an Atom entry is, how it relates to Atom feeds and checkpoints, what happens on a miss (e.g., null vs error), or whether pagination/replay behaviors apply. With the safety profile carried by annotations, a 3 baseline is appropriate.
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 verb and resource, with zero filler or repetition of the tool name. Every word contributes meaning.
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?
The tool has no output schema and sits inside a dense Atom-related sibling cluster (feeds, poll, consume, checkpoints, list_entries). The description does not suffice for an agent to understand how this single-entry fetch relates to those flows or what the returned entry contains. For such a simple call shape it is acceptable, but the missing ecosystem context and absence of any return-value hint keep it below complete.
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 carries the full burden for the single entryId parameter. It does tell the agent that the ID is an EntryId that identifiers the Atom entry, which adds meaning beyond the raw schema type. However, it does not specify the value format, whether the ID is globally unique or feed-scoped, or how to obtain a valid EntryId (e.g., via hcm_list_atom_entries), leaving a gap the schema cannot fill.
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 ('Get'), a distinct resource ('a single Atom entry'), and the identifying mechanism ('by EntryId'). This clearly differentiates it from the sibling hcm_list_atom_entries (plural listing) and hcm_atom_poll/consume (processing flows), which is exactly what a retrieval-by-ID tool should convey.
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 guidance is given on when to use this tool versus its many Atom-related siblings (hcm_list_atom_entries, hcm_atom_poll, hcm_atom_consume). The description does not say it's the right choice when you already know a specific entry ID, nor does it clarify how it fits into the feed/checkpoint workflow. An agent must infer all usage context 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.
hcm_get_atom_feedBRead-only
Get an Atom feed as JSON entries (or request format=atom for XML via dummy). Supports since ISO filter.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| since | No | ||
| format | No | ||
| collection | No | workers | absences | omit for all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation covers the safety profile, so the description only needs to add behavioral context. It does mention the format switch to XML and the 'dummy' mechanism, but both are vague. The description does not disclose pagination, how 'since' affects results, or whether the feed is a live or stubbed source.
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 short and front-loaded with the core action, which is good. However, 'via dummy' is an unclear and potentially misleading phrase that adds confusion without earning its place.
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 should explain return shape and behavior more thoroughly, but it only says 'as JSON entries.' It also fails to address the 'limit' and 'collection' parameters and does not orient the agent among the many atom-related sibling tools, leaving important context 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?
Schema description coverage is low (only 'collection' is described in the schema), so the description must compensate. It does add meaning for 'since' as an ISO filter and for 'format' as controlling JSON vs XML, but it says nothing about 'limit' or the 'collection' filtering behavior beyond the schema's terse enum values.
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 clearly states the tool retrieves an Atom feed, with JSON as the default and optional XML format. However, the phrase 'via dummy' is confusing and not explained, which slightly muddies what the tool actually does. It does not explicitly differentiate this tool from sibling Atom-related tools like hcm_list_atom_entries or hcm_detect_changes.
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 guidance is given about when to use this tool versus the many closely related Atom feed tools such as hcm_atom_poll, hcm_atom_consume, hcm_list_atom_entries, or hcm_detect_changes. The description implies a basic retrieval use case but provides no exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_bank_accountBRead-only
Get bank account. SENSITIVE gate.
| Name | Required | Description | Default |
|---|---|---|---|
| bankAccountId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already establishes that this is a safe read operation, and the description adds no contradiction. 'SENSITIVE gate' contributes useful context that the data may require elevated permissions or special handling, but it is vague and does not explain what the gate entails or what happens if access is denied.
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 extremely short and front-loaded with the core operation, and every word is purposeful. The 'SENSITIVE gate' label is cryptic and could have been phrased more clearly, but the overall structure has no unnecessary filler.
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 single-parameter read-only getter, the basic shape of the call is clear, and the schema covers the required input. However, the description does not explain the return value (there is no output schema), the meaning of 'SENSITIVE gate,' or how this tool differs from hcm_search_bank_accounts, leaving an agent without enough context for confident 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?
With schema description coverage at 0%, the description needed to compensate for the undocumented bankAccountId parameter but did not. The parameter name is somewhat self-explanatory, but the description adds no meaning about the ID format, where to obtain it, or how it is used to select the bank account.
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 clear verb and resource: 'Get bank account.' It identifies the tool as a single-record retrieval operation, and the 'get' versus 'search' naming in the sibling list helps distinguish it from hcm_search_bank_accounts. However, it does not explicitly say it fetches one account by ID, leaving some detail to the schema and tool name.
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 guidance about when to use this tool versus hcm_search_bank_accounts or other bank-related tools. 'SENSITIVE gate' hints at access restrictions but does not explain when the tool is appropriate or what preconditions apply. The agent is left to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_benefit_enrollmentBRead-only
Get benefits enrollment by id.
| Name | Required | Description | Default |
|---|---|---|---|
| enrollmentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already communicates that this is a safe read operation, but the description adds no behavioral details beyond that. It does not mention what happens when the id is not found, what data is returned, or any edge cases. With no extra behavioral context from the description, the transparency is limited.
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 appropriately short and front-loads the verb and resource. There is no filler or redundant information. It is slightly terse, but every word earns its place for such a simple lookup tool.
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-parameter read-only lookup, the description is adequate but sparse. An agent with an enrollmentId can invoke the tool, but the description does not explain how to obtain the ID, what the response contains, or how not-found cases are handled. Since there is no output schema, some of this missing context is a real 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?
The schema provides no description for enrollmentId, only that it is a required string. The description's 'by id' confirms that the parameter is the lookup key, but it adds no detail about the ID format, source, or uniqueness. The compensation for the schema coverage gap is minimal.
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 ('Get'), a clear resource ('benefits enrollment'), and the lookup method ('by id'). This distinguishes it from the sibling tool hcm_search_benefit_enrollments, which searches rather than fetches a single record. The purpose is immediately 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?
The phrase 'by id' implies this tool should be used when an enrollment ID is already known, and that it retrieves a specific record. However, there is no explicit guidance about when to use it versus hcm_search_benefit_enrollments, nor any mention of prerequisites or alternatives. The usage context is only minimally implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_candidateARead-only
Get recruiting candidate by id.
| Name | Required | Description | Default |
|---|---|---|---|
| candidateId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, and the description's 'Get' aligns with a read-only operation. The description adds no further behavioral detail beyond the id-based lookup, but the annotation covers the most important safety trait.
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, concise, front-loaded sentence with no wasted words. It communicates the core operation and key parameter role efficiently.
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 single-parameter read operation with readOnlyHint=true, the description provides enough to invoke the tool correctly: it names the resource, the lookup key, and the operation. It does not describe return format or not-found behavior, but those are not critical to selecting and calling such a simple get-by-id 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?
With schema description coverage at 0%, the description's 'by id' does clarify that candidateId is the identifier for the candidate being retrieved. However, it provides no additional detail about id format, origin, or constraints beyond what the schema already states with the property name and type.
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 uses a specific verb ('Get'), a clear resource ('recruiting candidate'), and identifies the lookup key ('by id'). It clearly differentiates from the sibling hcm_search_candidates by implying a single-record fetch by identifier, though it does not explicitly name that sibling.
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: use this tool when you have a candidate ID and need the corresponding candidate record. However, there is no explicit guidance about when not to use it or which alternative tool to choose, such as hcm_search_candidates for search scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_checklistARead-only
Get allocated checklist by id (expand allocatedTasks when supported).
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | e.g. allocatedTasks | |
| checklistId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already establishes the operation is safe; the description adds a modest behavioral note that expand=allocatedTasks may not be supported in all environments. No contradictions. However, it does not disclose error behavior, not-found handling, or response structure.
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 states the core action immediately and appends a useful caveat about expand support. No unnecessary words.
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 get-by-id with an optional expand parameter, the description covers the essential call semantics. The main gap is unspecified return behavior for missing IDs and the meaning of 'allocated checklist', but annotations and schema cover the rest.
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 50% schema coverage, the description partially compensates by naming 'id' and 'allocatedTasks', but the guidance is thin: it does not clarify the format of checklistId or fully explain expand values. Adds some meaning beyond the raw schema but leaves details to inference.
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 clearly specifies a verb ('Get'), a resource ('allocated checklist'), and a selector ('by id'). This distinguishes it from list/allocate/force-close siblings, making the operation identifiable at a glance.
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 implies the tool should be used when you have a checklist ID, but it does not explicitly contrast with hcm_list_checklists or other checklist-related tools. No exclusions or alternative-router guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_compensationCRead-only
Get compensation row. SENSITIVE gate.
| Name | Required | Description | Default |
|---|---|---|---|
| compensationId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers the read-only nature. The description adds 'SENSITIVE gate', which signals access sensitivity, but gives no detail about what the gate entails or what behavior the agent should expect beyond the annotation.
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 extremely short and front-loaded, but it is terse to the point of under-specification. 'SENSITIVE gate' is attention-grabbing but adds a warning without explanation, so the brevity does not fully earn its place.
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 sensitive compensation-data tool with no output schema and minimal description, an agent is left without important context such as what the response contains, what 'SENSITIVE gate' means operationally, or how compensationId should be obtained. The annotations cover read-only safety but not the gating behavior.
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%, and the description does not explain the meaning or format of compensationId beyond the schema's field name. The phrase 'compensation row' loosely implies the id identifies a row, but that adds little semantic value.
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 clear verb and resource: 'Get compensation row' indicates a fetch-by-identifier operation. It is broadly distinguishable from a search tool like hcm_search_compensation, though it does not explicitly contrast itself with that sibling.
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 guidance is given about when to use this tool versus alternatives such as hcm_search_compensation. The 'SENSITIVE gate' phrase hints at caution but does not explain when this tool should or should not be invoked.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_contactCRead-only
Get contact by id.
| Name | Required | Description | Default |
|---|---|---|---|
| contactId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds no extra behavioral context such as error behavior, required permissions, or exact payload returned. It merely restates the operation without adding transparency beyond annotations.
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 fluff. It is concise, though arguably under-specified for a tool in a large API surface.
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 and no parameter descriptions, the one-sentence description leaves the agent without knowledge of the return shape, potential workspaces, or error semantics. It is sufficient only for a trivially obvious GET, which is not the case given the broad sibling set.
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?
Input schema has contactId as an untyped string with no description; schema coverage is 0%. Description says 'by id' which adds little beyond the parameter name. It does not clarify ID format, source, or distinguish it from other IDs in the system.
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 the specific verb 'Get' and resource 'contact', with retrieval by ID. This distinguishes it from hcm_search_contacts (search vs direct id lookup) and other get_* tools, though it doesn't elaborate on the contact type.
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 guidance on when to use this tool versus hcm_search_contacts or other lookup tools. It does not state prerequisites, alternative tools, or conditions that would select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_goalCRead-only
Get goal by id.
| Name | Required | Description | Default |
|---|---|---|---|
| goalId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, and the description's 'Get' phrasing is consistent with a read operation. However, the description adds no behavioral context beyond the annotation—it does not state what the response contains, whether it can return null, or any error behavior. With annotations present, the description contributes little additional transparency.
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 extremely concise—a single sentence with no wasted words. However, it is under-specified; it carries no information beyond the tool name and parameter, so the brevity reflects a lack of content rather than efficient structure. It is not structured to lead with important clarifications.
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 one-parameter tool, the description is not complete. It does not describe the return value, which is critical given there is no output schema. It also fails to note error conditions or related context. The annotations only cover read-only safety, leaving the agent without enough detail to correctly interpret the tool's results.
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 schema has one required parameter goalId (string) with no description coverage. The description's phrase 'by id' adds no semantic value beyond the parameter name itself; it does not explain the format of goalId, how to obtain it, or any constraints. Since schema coverage is 0%, the description fails to compensate for the missing parameter documentation.
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 ('Get goal') and indicates the access method ('by id'), making it clear this tool retrieves a single goal by its identifier. It does not explicitly contrast with sibling hcm_search_goals, but the 'by id' phrasing distinguishes it from search-oriented 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?
The description provides no guidance on when to use this tool versus alternatives such as hcm_search_goals or hcm_get_performance_document. It does not mention prerequisites like needing a valid goalId or that search should be used when the ID is unknown.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_gradeCRead-only
Get grade by id.
| Name | Required | Description | Default |
|---|---|---|---|
| gradeId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already indicates a safe read operation, and the description's word 'Get' is consistent. However, the description adds no additional behavioral context beyond what the annotation provides—no mention of response structure, error behavior, rate limits, or any side effects. With the annotation carrying the main safety signal, the description does not enhance transparency further.
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 extremely succinct—just three words—with no redundancy or filler. It front-loads the essential action and resource. While it is terse, it is appropriately concise for a simple lookup tool; there is no unnecessary detail that would impede comprehension.
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?
In the context of a large API surface with many related tools (e.g., hcm_search_grades, hcm_get_worker), this one-liner lacks essential context. It does not explain what a 'grade' represents in this system, how to locate the correct id, or what fields will be returned. Without an output schema and with zero parameter descriptions, the description falls short of providing a complete contract for an agent to call it correctly with confidence.
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 gradeId is briefly implied by the phrase 'by id', but the description does not elaborate on what a gradeId is, how to obtain it, or any constraints (format, length, etc.). The schema only defines it as a string, so the description adds minimal semantic value beyond the parameter name itself.
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 clearly states the action (get), the resource (grade), and the access method (by id). It is specific enough to distinguish from the sibling hcm_search_grades, which implies a search over grades rather than a direct lookup. However, it does not explicitly name that alternative, so it earns a 4 rather than 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?
The description provides no guidance on when to use this tool versus the many siblings, particularly hcm_search_grades. There is no mention of prerequisites, typical scenarios, or exclusions. An agent would have to infer that 'get by id' is for single-record retrieval, but no explicit usage context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_jobBRead-only
Get job by id.
| Name | Required | Description | Default |
|---|---|---|---|
| jobId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already communicates that this is a read operation, but the description adds no behavioral detail beyond that, such as what happens when the job ID doesn't exist or what the response contains. It does not contradict the annotation.
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?
Four words with no filler, front-loaded with the verb and resource. Every word earns its place for such a simple getter.
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?
Given the single required parameter and read-only annotation, the description is sufficient to invoke the tool correctly. It lacks return-format details, but for a simple get-by-id operation this is not a critical 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 must compensate for explaining the jobId parameter. 'By id' only weakly maps to the jobId field and adds no detail about format, source, or examples.
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 clear verb and resource: 'Get job by id.' It conveys a get-by-id operation and distinguishes itself from search-style siblings by requiring a specific identifier, though it doesn't explicitly name the alternative search_jobs 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?
Provides no explicit guidance on when to use this tool versus alternatives such as hcm_search_jobs. There is no mention of prerequisites, when to prefer search over get-by-id, or what to do when the ID is unknown.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_learning_enrollmentBRead-only
Get learning enrollment by id.
| Name | Required | Description | Default |
|---|---|---|---|
| enrollmentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers the safe read-only nature of the tool, and the description does not contradict it. However, the description adds no behavioral context beyond the verb 'Get'—no mention of not-found behavior, authentication needs, or response characteristics.
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 concise sentence with the verb and resource front-loaded. There is no filler or redundant wording, making it highly scannable for an agent.
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 one-parameter getter with a readOnlyHint, the description is minimally adequate. However, with no output schema and no documentation of the enrollmentId format, plus no mention of the sibling search tool for obtaining IDs, an agent is left with some gaps 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?
Schema description coverage is 0%, and the description only says 'by id,' which adds no meaning beyond the parameter name enrollmentId. It does not specify the ID format, where to obtain it, or any constraints, so the description fails to compensate for the missing schema documentation.
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?
Description states a specific verb ('Get'), a specific resource ('learning enrollment'), and the access method ('by id'). It clearly distinguishes itself from sibling hcm_search_learning_enrollments, which is for searching rather than direct retrieval.
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 implies that this tool is used when you already have a learning enrollment ID, but it does not explicitly say when to use this versus hcm_search_learning_enrollments. No exclusions or alternative conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_locationBRead-only
Get location by id.
| Name | Required | Description | Default |
|---|---|---|---|
| locationId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, so the description does not need to restate safety. The description adds no behavioral context beyond the annotation, such as return format or error behavior, but for a simple read-by-id tool the annotation covers the main safety profile.
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 short sentence with no wasted words. It is appropriately sized for a simple get-by-id tool.
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 lookup with one parameter and no output schema, the description is nearly complete. However, it does not mention what the response contains or whether the location is a physical address, organizational unit, or other entity, which could matter for an agent deciding between this and hcm_find_locations.
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%, but there is only one parameter, locationId, whose meaning is self-evident from the tool name and description. The description adds minimal semantic value beyond the schema, but the parameter is simple enough that the baseline is acceptable.
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 'Get location by id' clearly states the verb (get) and resource (location) and identifies the key parameter (id). It is distinguishable from siblings like hcm_search_locations and hcm_find_locations, though it does not explicitly name 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?
No guidance is provided on when to use this tool versus alternatives such as hcm_search_locations or hcm_find_locations. The context implies a direct lookup by ID, but there is no explicit when-to-use or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_national_identifierBRead-only
Get national identifier. SENSITIVE gate.
| Name | Required | Description | Default |
|---|---|---|---|
| nationalIdentifierId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals a read operation. The 'SENSITIVE gate' warning adds useful context about restricted access, but it does not explain what the gate entails, such as permissions, denial behavior, or payload restrictions.
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 extremely short and front-loaded with no filler. However, 'SENSITIVE gate.' is a fragment, and the brevity leaves important context underspecified rather than being a clean, complete summary.
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 one-parameter getter, the description is minimal but incomplete. It omits the relationship to hcm_search_national_identifiers, the meaning of the sensitive gate, and what happens on unauthorized or missing-identifier requests.
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%, and the description adds no parameter-specific meaning. The parameter name nationalIdentifierId is self-explanatory as an identifier, but there is no guidance on format, how to obtain it, or how it maps to search results.
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 clear verb and resource ('Get national identifier') and the schema confirms a fetch-by-ID operation. It is distinguishable from hcm_search_national_identifiers by singular 'get' wording, though it does not explicitly name that distinction.
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: the caller must already have a nationalIdentifierId. It gives no explicit alternative or condition, even though hcm_search_national_identifiers is the obvious sibling for finding identifiers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_notificationARead-only
Get a business process notification by task/notification id.
| Name | Required | Description | Default |
|---|---|---|---|
| notificationId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description matches the readOnlyHint annotation, so there is no contradiction. However, it adds no behavioral details beyond what the annotation already conveys, such as not-found behavior, response format, or any additional context about the operation.
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, focused sentence with no filler. The key action and target are presented immediately, making it easy for an agent to parse and act on.
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, single-parameter, read-only get operation, the description combined with the schema and readOnlyHint is sufficiently complete for basic invocation. It could optionally mention how to discover notification IDs via hcm_list_notifications or describe the return shape, but the low complexity and lack of an output schema make those omissions 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 description coverage is 0%, so the description must compensate. It does clarify that notificationId can refer to a task/notification id, which adds some meaning beyond the bare schema. However, it does not explain the expected format, source, or possible difference between task and notification IDs.
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 clearly states the verb 'Get' and a specific resource ('business process notification') identified by ID. It naturally distinguishes this tool from hcm_list_notifications by focusing on a single record fetch rather than a list operation.
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 implies the tool should be used when a specific notification ID is available, but it does not explicitly state when to use it versus alternatives like hcm_list_notifications. No exclusions or pitfalls are mentioned, but the guidance is largely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_organizationCRead-only
Get organization by id.
| Name | Required | Description | Default |
|---|---|---|---|
| organizationId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, so the agent knows this is a read-only operation. However, the description adds no additional behavioral context—it does not mention what the tool returns, how errors are handled (e.g., 404 if ID not found), or any permissions needed. Since annotations already cover safety, the description's lack of added context lowers the score, though it does not contradict the annotation.
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, concise sentence: 'Get organization by id.' It is front-loaded with the action and resource, contains zero filler, and is appropriately sized for a simple get-by-id operation. Every word earns its place.
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?
Given the simplicity (one parameter, no output schema, no nested objects), the description is somewhat complete but lacks explicit mention of the return behavior or error cases (e.g., what happens if the ID is not found). Since there is no output schema, the description could have clarified the expected response, but it does not. It is adequate for a basic operation but leaves minor gaps.
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% and the schema only defines organizationId (string, required). The description's phrase 'by id' gives some semantic meaning, indicating that the parameter is an ID, which is helpful. However, it does not specify the ID format (e.g., UUID vs numeric) or provide additional interpretation. Given the very low coverage, the description partially compensates but does not fully clarify parameter semantics.
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 'Get organization by id' clearly states the action (get), resource (organization), and identification method (by id). It distinguishes from search tools like hcm_search_organizations, but does not explicitly differentiate from close siblings such as hcm_get_org_hierarchy, which may also involve fetching organization-related data. Thus, it is clear but not fully differentiated.
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 provides no usage guidance whatsoever. It does not indicate when to prefer this tool over alternatives like hcm_search_organizations (for searching) or hcm_get_org_hierarchy (for hierarchy). No exclusions or context are given, leaving the agent to infer the appropriate usage 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.
hcm_get_org_hierarchyARead-only
Return a simple org hierarchy tree rooted at organizationId (dummy parent/child).
| Name | Required | Description | Default |
|---|---|---|---|
| organizationId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint: true already discloses that this is a read-only operation, so the description's burden is lighter. The description adds the behavioral trait that the tree is 'simple' and includes 'dummy parent/child' nodes, suggesting the result is a simplified or placeholder-augmented structure. However, it does not disclose error conditions, depth limits, data freshness, or whether the tree includes all descendants or only immediate children, leaving notable gaps.
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, tightly worded sentence of 12 words. It front-loads the action and resource, then adds a clarifying parenthetical. Every word earns its place; there is no fluff, and the structure is ideal for quick parsing.
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 single parameter, a read-only annotation, and low complexity, the description is adequate but not complete. It tells the agent what the tool returns (an org hierarchy tree) but does not describe the shape of the tree—fields, depth, whether it is recursive, or how 'dummy' nodes appear. Since there is no output schema, the agent must guess the response structure. This is a clear gap, though the simplicity of the tool keeps the score at a moderate level.
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 must compensate for the lack of parameter documentation. It does so by stating that organizationId is the root of the hierarchy, giving semantic meaning beyond the raw 'string' type in the schema. This helps an agent understand the role of the parameter. It does not explain the expected ID format or that it is required, but the schema already lists it as required, so this is acceptable.
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 clearly states the tool returns an org hierarchy tree rooted at the given organizationId. It specifies the verb 'Return', the resource 'org hierarchy tree', and the root parameter, which distinguishes it from siblings like hcm_get_organization (single entity) and hcm_list_direct_reports (direct reports only). The parenthetical 'dummy parent/child' further characterizes the simplified tree shape, making the purpose unambiguous.
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 provides no guidance on when to use this tool versus alternatives such as hcm_get_organization, hcm_search_organizations, or hcm_list_direct_reports. It does not mention use cases, nor does it explain when one would prefer this over fetching a single org or direct reports. An agent must infer the usage from the name alone, which is not reliable given the rich sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_payroll_relationshipARead-only
Get payroll relationship by id (read-only).
| Name | Required | Description | Default |
|---|---|---|---|
| payrollRelationshipId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The only behavioral trait mentioned, 'read-only', duplicates the existing readOnlyHint annotation and adds no new context. No information is provided about return behavior, missing IDs, errors, permissions, or response shape, so the description carries little weight beyond the annotation.
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 concise sentence with no filler; 'read-only' is somewhat redundant with the annotation but does not harm clarity. It is appropriately sized and front-loaded for a simple getter.
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-parameter read-only getter, the description covers the core facts an agent needs: the operation, target resource, lookup key, and read-only nature. It could mention the response shape or explicitly compare with the search variant, but these are not critical 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 single parameter, payrollRelationshipId, is self-descriptive, and the phrase 'by id' confirms it is the lookup key. However, the description does not add substantive guidance beyond the schema property name—no format, source, or example—and with 0% schema description coverage it only minimally compensates.
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 'Get' and resource 'payroll relationship', with the qualifier 'by id' that clearly differentiates from the sibling hcm_search_payroll_relationships: this tool fetches a single entity by identifier rather than searching. The read-only note also signals intent.
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 rather than explicit: 'by id' indicates the tool is appropriate when a payrollRelationshipId is already known, but the description does not call out alternatives or state when to prefer hcm_search_payroll_relationships. There is no when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_payslipCRead-only
Get payslip by id. SENSITIVE gate.
| Name | Required | Description | Default |
|---|---|---|---|
| payslipId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds 'SENSITIVE gate,' which hints that this operation may trigger additional access controls or approval steps, but it does not explain what the gate entails, leaving the behavioral context vague.
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 extremely short and front-loaded: 'Get payslip by id' says the core action, and 'SENSITIVE gate' adds a relevant caution. No words are wasted, though the terseness leaves room for more useful 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 tool with no output schema and a sensitive-data annotation, the description is too sparse. It does not clarify what the sensitive gate does, what authorization is required, or how the returned payslip data is structured, so an agent may not know the implications of 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 description coverage is 0%, so the description must compensate for the undocumented payslipId parameter. It only restates 'by id' without clarifying the ID format, source, or whether this is an Oracle HCM payslip ID versus another identifier, so it adds little beyond the property name.
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 clearly states a specific verb ('Get') and resource ('payslip by id'), so an agent can tell this is a direct fetch operation. However, it does not explicitly distinguish itself from the sibling hcm_search_payslips, so it misses the full differentiation expected for 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 guidance on when to use this tool versus hcm_search_payslips or other related getters. The phrase 'by id' implies direct lookup, but it never states that search should be used when the payslip ID is not already known, nor does it mention any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_performance_documentCRead-only
Get performance document by id.
| Name | Required | Description | Default |
|---|---|---|---|
| documentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral detail beyond what the readOnlyHint annotation already conveys. It does not contradict the annotation, but it also does not disclose any additional context such as error handling, response format, or required permissions, which is expected when annotations only cover safety.
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, terse sentence with no unnecessary words. It is appropriately sized for the tool's simplicity and front-loads the core action without padding.
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 get-by-ID tool with one parameter and a read-only annotation, the description is minimally viable. It does not describe the return value or failure behavior, but these are less critical given the simplicity and the readOnlyHint. However, it could be more complete by mentioning what the document contains or how to interpret the ID.
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%, and the description provides no explanation of the documentId parameter. The parameter name is self-explanatory, but the description fails to compensate for the lack of schema coverage by clarifying format, source, or any special constraints.
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 clearly states a specific verb ('Get'), resource ('performance document'), and access method ('by id'). It is unambiguous about the tool's function, though it does not explicitly contrast with the sibling hcm_search_performance_documents, which would earn 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?
No guidance is given on when to use this tool versus alternatives. The presence of hcm_search_performance_documents suggests a distinction, but the description does not state when a direct get is appropriate (e.g., when an ID is already known).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_plan_balanceBRead-only
Get a single plan balance by id (Fusion planBalances/{id}).
| Name | Required | Description | Default |
|---|---|---|---|
| balanceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not contradict the readOnlyHint annotation. It adds a small amount of behavioral context by naming the exact Fusion endpoint and indicating single-resource retrieval. However, it does not mention error behavior, authorization needs, or response characteristics. Since the annotation already covers the safety profile, a 3 is appropriate.
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. It states the action, the resource, the lookup key, and the endpoint efficiently. Every word earns its place.
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 one-parameter read-only tool, the description is nearly sufficient to invoke the tool. However, with no output schema and no clarification of how this relates to other balance-oriented siblings, an agent may lack enough context to fully interpret the result or choose correctly among nearby tools.
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%, and the description only repeats that retrieval is 'by id', adding no meaningful semantics for balanceId. It does not clarify what a plan balance is, where the ID comes from, or any expected format. The description fails to compensate for the schema's lack of parameter documentation.
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 clearly states the verb 'Get', the resource 'single plan balance', and the lookup mechanism 'by id'. The parenthetical 'Fusion planBalances/{id}' helps identify the underlying endpoint. It doesn't explicitly distinguish itself from related balance tools like hcm_get_absence_type_balance, but the resource is reasonably unambiguous.
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 guidance is given about when to use this tool versus sibling tools such as hcm_absence_balance or hcm_get_absence_type_balance. There are no conditions, prerequisites, or alternatives described, so an agent must infer usage solely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_positionBRead-only
Get position by id.
| Name | Required | Description | Default |
|---|---|---|---|
| positionId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already communicates that this is a safe read operation, and the description does not contradict it. However, the description adds no extra behavioral context, such as return shape, error behavior, or scope of the returned position, so it contributes minimal transparency beyond the annotation.
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 five words with no filler and front-loads the core operation. For a simple get-by-id tool with a single parameter, this is appropriately sized and every word earns its place.
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?
Given the single required parameter and the readOnly annotation, the description is nearly sufficient. However, since there is no output schema, it omits any indication of what the returned position contains or how failures like not-found are handled, leaving a small but real gap for an agent invoking the 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?
Schema coverage is 0%, and the description only echoes the notion of 'id' without explaining what positionId represents, where it comes from, or whether alternate identifiers are accepted. The parameter name is self-explanatory, but the description adds little beyond the schema itself.
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 clear verb and resource: 'Get position by id.' The 'by id' qualifier broadly distinguishes it from hcm_search_positions, but it does not explicitly name the sibling or describe scope, so it stops short of full differentiation.
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 guidance about when to use this tool versus alternatives such as hcm_search_positions. The only hint is that an id is needed, which is already obvious from the required positionId parameter; no exclusions or sibling routing are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_public_workerCRead-only
Get publicWorker by id.
| Name | Required | Description | Default |
|---|---|---|---|
| publicWorkerId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already declares the operation is read-only, and the description adds no additional behavioral details such as response format, error handling, or permission requirements. The description carries minimal burden beyond what annotations already provide, offering no extra transparency.
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 extremely concise—one sentence with no waste. However, it is under-specified to the point of being terse rather than effectively structured. It front-loads the key action but lacks supporting context that could be included without bloat.
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 tool with a single parameter and read-only annotation, the description is minimal. It does not explain what a 'publicWorker' is, what data is returned, or how it differs from a regular worker. Given the large sibling list with similar get/search tools, this lack of context makes it incomplete for an agent to correctly choose and use 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?
With schema description coverage at 0%, the description must compensate. It only mentions 'by id', which merely restates the parameter name 'publicWorkerId'. No format, constraints, or meaning beyond the name is given, offering negligible value over the 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 clearly states the verb 'Get' and the resource 'publicWorker' identified by id. It is specific enough to know it retrieves a single public worker by ID, but it does not differentiate from sibling tools like hcm_get_worker or hcm_search_public_workers, which weakens clarity slightly.
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 guidance on when to use this tool versus alternatives such as hcm_search_public_workers (when ID is unknown) or hcm_get_worker (for full worker data). No context on prerequisites, exclusions, or conditions for selection is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_requisitionCRead-only
Get recruiting job requisition by id.
| Name | Required | Description | Default |
|---|---|---|---|
| requisitionId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already communicates that this is a safe read operation; the description simply repeats 'Get' without adding behavioral context such as response shape, null behavior, required permissions, or rate limits. It adds no information beyond what the annotation and name already convey.
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. It conveys the essential operation efficiently and is easy for an agent to scan.
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 getter with one required parameter, this is minimally adequate. However, there is no output schema and no description of what is returned, nor any mention of alternates like hcm_search_requisitions, leaving clear but minor gaps.
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 for the undocumented parameter. It does not: 'by id' merely restates the requisitionId parameter name and gives no format, source, or examples. The parameter name is self-explanatory, but the description adds no meaningful semantic detail.
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 uses a specific verb ('Get') and identifies a clear resource ('recruiting job requisition') with a lookup key ('by id'). It is understandable on its own, though it does not explicitly contrast with sibling tools like hcm_search_requisitions or hcm_get_job.
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 guidance on when to use this tool versus alternatives such as hcm_search_requisitions or hcm_get_job. The 'by id' phrasing implies a single-record lookup, but no explicit context, prerequisites, or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_scheduleBRead-only
Get work schedule by id.
| Name | Required | Description | Default |
|---|---|---|---|
| scheduleId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safe-read behavior is covered. The description adds no further behavioral context, such as what happens for invalid IDs, what fields are returned, or any error 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?
The description is a single, front-loaded sentence with no filler or redundant content. It is appropriately short for a simple get-by-id tool.
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 low-complexity tool with one parameter and a readOnly annotation, the description is adequate but minimal. It omits any indication of what the returned schedule contains and does not mention the likely relationship to hcm_search_schedules.
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 must compensate. The phrase 'by id' minimally ties scheduleId to the operation, and the single parameter is self-describing, but no guidance is given on how to obtain the ID or what format to use.
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: 'Get work schedule by id.' It distinguishes itself from hcm_search_schedules by making clear this is a direct ID-based lookup rather than a search, though it does not explicitly name that sibling.
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 phrase 'by id' implies the tool is used when a schedule ID is already known, likely after using hcm_search_schedules. However, it does not explicitly say when to use this tool versus alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_talent_profileARead-only
Get talent person profile by id.
| Name | Required | Description | Default |
|---|---|---|---|
| profileId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers the safe read profile, and the description's 'Get' aligns with that. It adds no extra behavioral context like error behavior, authorization needs, or payload scope, but for a simple read-only getter the risk is modest.
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 six-wored sentence with no filler, front-loading the action and target. Every word earns its place.
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?
Adequate for a one-parameter read-only getter: an agent knows to pass profileId and can expect a profile in return. But there is no output schema and no mention of return shape, nor guidance to search_talent_profiles when the ID is unknown, so it is only minimally complete.
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 has zero descriptions for the profileId parameter, so the description must compensate. 'by id' clearly indicates that profileId is the identifier used to fetch the profile; the parameter name itself reinforces this. It lacks format or example, but is sufficient for a single string ID.
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 clear verb (Get), resource (talent person profile), and method (by id). It does not explicitly distinguish itself from hcm_search_talent_profiles or hcm_get_worker, so it misses top sibling-diferentiation.
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?
Implies use when a known profileId is available, which is the natural context for a get-by-id tool. However, it gives no explicit when/when-not guidance, no pointer to the corresponding search tool for finding IDs, and no contrast with similar worker/profile getters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_time_recordARead-only
Get a time record by id.
| Name | Required | Description | Default |
|---|---|---|---|
| timeRecordId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description's 'Get' is consistent with that. The description adds no additional behavioral context such as error behavior, auth requirements, or what a successful response contains, but the read-only nature is already covered by annotations.
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 six-word sentence with no filler. It is front-loaded with the action and resource, and every word earns its place.
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-parameter read-only getter, the description is nearly complete: an agent knows the operation and the parameter role. It loses one point for not naming the search sibling as the way to locate an id and for omitting any note about response shape, though no output schema exists.
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 must compensate for the undocumented timeRecordId parameter. It adds only 'by id', which mostly restates the parameter name; it does not explain the id format, source, or relation to search results.
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 ('Get') and resource ('time record') with a qualifier ('by id'), which clearly differentiates it from sibling hcm_search_time_records. An agent can tell this is a direct fetch-by-ID tool without opening the schema.
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 implies usage when the caller has a timeRecordId, but it does not explicitly state when to prefer this over hcm_search_time_records or any other alternative. There is no when-not guidance, so the agent must infer the choice from the sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_workerARead-only
Get a worker by WorkerId. Example: { "workerId": "1001" }
| Name | Required | Description | Default |
|---|---|---|---|
| workerId | Yes | Worker primary key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already declares this is a safe read operation, and the description aligns with that by using 'Get'. The description does not add behavioral context beyond the annotation, such as response shape, error behavior, or permissions, but for a simple get operation the annotation covers the safety profile. No contradiction exists.
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 one short sentence plus a compact example, with no filler or repetition. The key lookup mechanism is front-loaded and the example reinforces the parameter shape efficiently. This is appropriately sized for a one-parameter get tool.
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 low-complexity read-only lookup with a single required parameter and a fully documented schema, the description plus annotation is sufficient for an agent to invoke the tool correctly. The lack of an output schema is not a gap here because the return value is implied by 'Get a worker'. Nothing essential is 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?
Schema description coverage is 100% and the workerId parameter is already documented as the 'Worker primary key'. The description's example provides a concrete value format, which is mildly helpful, but it does not add significant meaning beyond what the schema already states. Baseline 3 is appropriate given the high schema coverage.
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: 'Get a worker by WorkerId'. It is clear that this is a direct-fetch operation keyed on the worker's primary key. However, it does not explicitly differentiate itself from siblings like hcm_search_workers or hcm_get_public_worker, so it earns 4 rather than 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?
The phrase 'by WorkerId' implies the tool is intended for direct lookup when a worker ID is already known, which is useful guidance. It does not explicitly state when to prefer hcm_search_workers or hcm_get_public_worker, nor does it mention exclusions. Usage conditions remain implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_worker_assignmentsCRead-only
Deep-read worker assignments. Prefers workers/{id} expand; falls back to workerAssignments.
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | ADF expand, default workRelationships.assignments | |
| workerId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description correctly implies a read operation. However, it adds little beyond the annotation: the 'prefers/falls back' detail is about endpoint selection, not user-visible behavior. It doesn't disclose response format, pagination, or error conditions, which would be useful given no output schema exists. It does not contradict the annotation.
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 extremely concise—two short sentences—and avoids fluff. It leads with the primary purpose. However, the brevity comes at the cost of missing critical details, so while it's efficient, it's under-specified. Structurally it's acceptable but not exemplary.
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 tool with no output schema, the description should explain what the returned data looks like, but it does not. It also doesn't address pagination, filtering, or the meaning of 'deep-read'. Given the tool's simplicity (two params, one required), the description leaves significant gaps that an agent would need to infer or test.
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 50% (expand has a description, workerId does not). The description does not mention either parameter, so it adds no meaning beyond the schema. For workerId, which is required and undocumented, the description provides zero clarification. It fails to compensate for the coverage 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 states the tool reads worker assignments, which is a specific resource, but 'deep-read' is vague jargon that isn't explained. It also references an implementation detail (preferring workers/{id} expand over workerAssignments) without clarifying what the returned data actually contains. While it's distinguishable from siblings by name, the description itself doesn't explicitly differentiate it from hcm_get_worker or hcm_get_work_relationship.
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 guidance is provided on when to use this tool versus alternatives. It mentions a fallback path, but that's an internal routing detail, not usage context. There are no stated exclusions or conditions for selection, leaving the agent to infer when to call this tool over hcm_get_worker or others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_get_work_relationshipCRead-only
Get nested work relationship for a worker.
| Name | Required | Description | Default |
|---|---|---|---|
| workerId | Yes | ||
| periodOfServiceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already communicates that this is a read-only operation, and the description adds that the result is a 'nested' work relationship. However, it does not explain what nesting means, whether related objects are embedded, or what the response shape is, so behavioral transparency beyond the annotation remains limited.
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 concise sentence with the verb and resource front-loaded, so it is efficient and free of filler. It could be expanded with parameter or usage context without becoming bloated, but as written it is faithful to the principle of conciseness.
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 two required parameters, no output schema, and a large sibling tool set, the description is too sparse for reliable invocation. An agent cannot determine what 'nested work relationship' returns, how periodOfServiceId is obtained, or how this tool differs from related worker or relationship getters.
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 must clarify the parameters, but it only partially explains workerId via 'for a worker'. The required periodOfServiceId parameter is completely unexplained, leaving the agent without enough information to know how to construct a valid request.
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 ('Get') and a resource ('nested work relationship') for a worker, so the general purpose is clear. However, 'nested' is ambiguous and the description does not distinguish this from related sibling getters such as hcm_get_worker_assignments or hcm_get_payroll_relationship.
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 gives no guidance about when to use this tool instead of alternatives, no prerequisites beyond the required parameters, and no indication of what kind of work relationship scenarios it covers. An agent would have to infer usage from the tool name and sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_healthARead-only
Check connectivity to the configured HCM REST base (unofficial MCP).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=truehol, and the description is consistent with that. It adds that the tool targets the configured HCM REST base and is an unofficial MCP wrapper, but it does not disclose response format, timeout behavior, or whether it merely pings the base URL. Given the annotation coverage, this is adequate but not rich.
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 terse, front-loaded sentence contains the essential scope ('configured HCM REST base') and a relevant caveat ('unofficial MCP'). There is no filler or redundant 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?
For a parameterless, read-only health check, the description covers the core purpose and target sufficiently. It does not specify what result the agent should expect, and there is no output schema, but the tool's semantics are predictable from its name and description.
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 input schema has zero parametersahan, so there is no parameter documentation burden for the description to carry. The baseline of 4 for a parameterless tool applies.
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 ('Check connectivity to the configured HCM REST base'), making the tool's purpose clear. However, it does not distinguish this tool from the sibling hcm_test_connection, which appears to perform a similar connectivity check.
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 provides no guidance on when to use this tool compared with hcm_test_connection, hcm_setup_status, hcm_probe_capabilities, or related diagnostic tools. There is no mention of prerequisites, alternatives, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_list_atom_entriesCRead-only
List Atom feed / change-detection entries (Fusion atomfeeds). Dummy returns mock change events.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No | ||
| collection | No | e.g. workers |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already communicates safety, so the description only needs to add value beyond that. It does add one meaningful behavioral trait: 'Dummy returns mock change events,' which warns that the tool may return synthetic data. It does not disclose pagination behavior, return format, or the meaning of the finder/q parameters, so the behavioral picture is only partially complete.
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 very short and front-loads the core purpose: 'List Atom feed / change-detection entries.' The second sentence about dummy/mock behavior is useful and earns its place. It is not bloated, though the term 'Dummy' itself is slightly unclear.
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 tool with 5 parameters, no output schema, and only a readOnly hint, this description is too sparse. It does not explain the meaning of the filtering/search parameters, how pagination works, or what shape the mock change events take. The 'Dummy returns mock change events' note is helpful but insufficient for an agent to confidently invoke the tool correctly.
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 only 20%, with only 'collection' having a description ('e.g. workers'). The description adds no parameter semantics at all: q, limit, finder, and offset remain unexplained in both the schema and description. With low schema coverage, the description was expected to compensate, but it does not.
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 clear verb and resource: 'List Atom feed / change-detection entries (Fusion atomfeeds).' This distinguishes it from sibling tools like hcm_list_atom_feeds and hcm_get_atom_entry by focusing on entries rather than feeds or individual entry retrieval. However, it does not explicitly differentiate itself by naming an alternative or scope, 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?
There is no guidance on when to use this tool versus related tools such as hcm_get_atom_entry, hcm_atom_poll, hcm_detect_changes, or hcm_atom_consume. The phrase 'Dummy returns mock change events' hints that the output may be non-production data, but it does not explain the intended use case or when an alternative should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_list_atom_feedsBRead-only
List known Atom / change-detection feeds (collection-oriented). Dummy exposes workers/absences/all.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is consistent with the readOnlyHint=true annotation — 'List' is a read operation, so no contradiction exists. It adds modest value beyond the annotation by clarifying the feeds are change-detection oriented and by revealing that this environment exposes workers/absences/all. However, it does not disclose the return format or behavior when no feeds exist, and with the safety profile already covered by annotations, the extra disclosure is limited.
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 two short sentences with the core action front-loaded in the first sentence ('List known Atom / change-detection feeds'). The second sentence about the dummy environment is useful context, though the phrase 'Dummy exposes' is slightly cryptic and could confuse an agent about whether this is a production or test listing. Overall it is efficiently sized with minimal waste.
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, no-parameter, read-only listing tool, the description covers the purpose and even hints at available feed types. However, it does not describe the output structure (e.g., what a feed entry looks like or how IDs map to hcm_get_atom_feed), and since there is no output schema, an agent has no structured fallback for that information. This is adequate but leaves a meaningful gap for downstream feed consumption.
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 the schema coverage is vacuously 100%. Per the rubric, a no-parameter tool starts at a baseline of 4. The description adds contextual value by naming the actual feed types available (workers/absences/all), even though no parameter semantics are needed here.
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 ('List') and resource ('known Atom / change-detection feeds'). The qualifier 'collection-oriented' implicitly distinguishes it from the sibling hcm_get_atom_feed, which would target a single feed. The note 'Dummy exposes workers/absences/all' adds concrete detail about what feeds exist, making the purpose tangible. It falls short of a 5 only because it doesn't explicitly name the sibling it contrasts with.
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 gives no explicit when-to-use guidance or exclusions. 'Collection-oriented' only implies that this is for enumerating feeds rather than retrieving a single one (hcm_get_atom_feed), and it doesn't differentiate from related siblings like hcm_atom_poll, hcm_atom_consume, or hcm_detect_changes. An agent must infer the intended use case from the name and the qualifier rather than from explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_list_audit_trailARead-only
List in-process MCP audit trail (tool invocations; not Fusion transaction history).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already signals a read operation. The description adds value by clarifying the exact content (MCP audit trail, not Fusion transaction history) and implies no side effects. It does not describe pagination or response format, but for a simple read-only list tool, the provided context is adequate and consistent with the annotation.
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. It efficiently conveys the core function and the key distinction from Fusion history. Every word earns its place.
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 list tool with one parameter and no output schema, the description covers the main purpose but leaves the 'limit' parameter unexplained. The agent also receives no guidance on the return format. While the tool is straightforward, the lack of parameter documentation makes it incomplete for optimal usage.
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% and the description does not mention the 'limit' parameter at all. An agent must infer that 'limit' caps the number of results, which is a common convention but not explicitly documented. Since the description does not compensate for the missing schema description, this is a notable 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 states a specific verb ('List') and a resource ('in-process MCP audit trail') and clarifies the scope ('tool invocations; not Fusion transaction history'). This clearly distinguishes it from other list tools and any Fusion-related sibling, leaving no ambiguity about the tool's purpose.
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 gives clear context about what the tool lists and explicitly excludes Fusion transaction history, which helps an agent decide when to use it. It does not name alternative tools, but the distinction is sufficient to prevent confusion with transaction history tools, and the sibling list contains no obvious competitor for this specific function.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_list_checklistsCRead-only
List allocated checklists.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already signals a read operation, and the description's 'List' is consistent with that, so there is no contradiction. However, the description adds no behavioral detail beyond the annotation—it does not mention pagination, filtering, or the structure of the returned list, which would be valuable context for a tool with minimal annotations.
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 sentence with no wasted words, which is efficient. However, it is under-specified to the point of being nearly tautological—it restates the tool's name without adding operational substance. True conciseness would preserve brevity while conveying necessary details.
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?
Given that there is no output schema, no parameter descriptions, and only a one-line description, the tool is seriously incomplete. An agent would not know what to pass for q, how to handle pagination, what fields the response contains, or what distinguishes allocated checklists from others. The definition is inadequate 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?
Schema description coverage is 0%, meaning none of the three parameters (q, limit, offset) are documented in the schema. The description does not explain any of them, leaving the agent to guess that q might be a query filter and limit/offset are pagination controls. This is a critical gap that the description fails to compensate for.
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 uses the specific verb 'List' with a clear resource 'allocated checklists,' which distinguishes it from sibling tools like hcm_get_checklist (singular retrieval) and hcm_allocate_checklist (creation). However, it does not clarify what 'allocated' means or define the scope, leaving some ambiguity.
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 guidance is provided on when to use this tool versus alternatives such as hcm_get_checklist for retrieving a single checklist or hcm_allocate_checklist for creating one. The description offers no context for selection, so an agent has no basis to choose it over related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_list_direct_reportsARead-only
List direct reports for a manager person number (dummy: filters workers by ManagerPersonNumber).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| managerPersonNumber | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as readOnly, lowering the burden on the description. The description adds valuable behavioral context by stating that this is a 'dummy' and that it simply filters workers by ManagerPersonNumber, clarifying that it does not perform true org-chart traversal.
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 one short sentence with no filler. The core purpose is front-loaded, and the caveat about the dummy filtering behavior is included compactly in a parenthetical.
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 list tool with two parameters, the description covers the main purpose, the key parameter, and the behavioral nuance. It could additionally clarify the limit parameter or response shape, but the low complexity keeps this from being a significant 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 must compensate. It explains managerPersonNumber's role, but the optional 'limit' parameter is not described at all. With two parameters and only one given semantic meaning, the compensation is partial.
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 action ('List'), a clear resource ('direct reports'), and the identifying input ('manager person number'). It also clarifies the implementation ('dummy: filters workers by ManagerPersonNumber'), which distinguishes it from related worker lookup 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?
The description implies when to use the tool: when you need direct reports for a manager person number. However, it does not explicitly name alternatives or state when not to use it, so usage guidance is mostly inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_list_notificationsCRead-only
List business process notifications. Optional status/assignee filters (richer BP filters).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| offset | No | ||
| status | No | e.g. OPEN | |
| assignee | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals a safe read operation, and the description's 'List' wording is consistent. It adds modest context by scoping the list to business process notifications, but does not describe ordering, pagination, or whether status/assignee values are exact or partial.
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 short and front-loaded with the verb+resource in the first sentence. The parenthetical 'richer BP filters' is slightly ambiguous, but the overall length is appropriate.
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 does not explain what returned notifications look like, what filtering semantics are, or how pagination works. Given the noisy sibling list, more explicit differentiation and return context would be needed for reliable tool selection.
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 20% schema description coverage and five parameters, the description needed to compensate but only names status and assignee as optional filters. It never clarifies q, limit, offset, valid status values, or assignee syntax, and 'richer BP filters' is vague.
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 concrete action ('List') and resource ('business process notifications'), so the core purpose is clear. It doesn't explicitly differentiate itself from siblings like hcm_get_notification or hcm_list_pending_approvals, which keeps it 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 guidance on when to choose this tool over hcm_get_notification, hcm_list_pending_approvals, or hcm_bulk_approve_notifications. The only usage hint is 'optional status/assignee filters,' which addresses parameter filtering rather than tool-selection context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_list_pending_approvalsARead-only
List pending write intents awaiting human approval.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the call as read-only, and the description reinforces that this only lists pending items and does not approve, deny, or execute anything. It adds a useful selection-state detail ('pending ... awaiting human approval'), but it does not mention pagination, ordering, or response shape. No contradiction with annotations exists.
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 seven-word clause that front-loads the action and resource and contains no filler. 'Pending' and 'awaiting human approval' are mildly redundant, but the phrase still earns its place by clarifying the workflow state.
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, this description is sufficient to invoke correctly: it identifies the resource and the state filter. It does not mention return shape or the link to the approval mutations, but those omissions are minor given the tool's trivial complexity and the readOnlyHint annotation.
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, so schema coverage is effectively complete and there is no parameterization burden for the description. The zero-parameter baseline of 4 applies because no semantic augmentation is needed.
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 begins with the specific action verb 'List' and names a precise resource: 'pending write intents awaiting human approval.' This clearly distinguishes the tool from mutation/approval siblings like hcm_approve_write and hcm_deny_write, as well as from generic list tools like hcm_list_resources.
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 makes the tool's role clear: it is the read-only discovery step in the approval workflow, surfacing write intents that require human approval before approve/deny actions are relevant. It does not explicitly state when not to use it, but the context is unambiguous and no plausible alternative listing tool is suggested.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_list_resourcesARead-only
List curated HCM resource roots supported by this unofficial MCP.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description does not contradict it. It adds a small behavioral/scope cue ('curated') indicating this is not an exhaustive listing, but it does not disclose response shape, ordering, or any operational behavior. With annotations covering the read-only safety, this is acceptable but minimal.
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. Every word contributes meaning.
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-input list operation with a readOnly annotation, the description is nearly complete. It could improve by noting what the output contains (e.g., resource names usable with hcm_describe_resource), but as-is it gives enough for selection and 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?
There are no parameters; schema coverage is 100%, so the description accurately has nothing to explain. The 0-parameter baseline of 4 applies.
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 uses a specific verb ('List'), names the resource ('curated HCM resource roots'), and adds context ('supported by this unofficial MCP'). It is distinguishable from siblings like hcm_describe_resource and hcm_search_* because it enumerates available roots rather than operating on a specific record, though it does not explicitly name alternatives.
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 explicit guidance about when to use this tool versus siblings such as hcm_describe_resource or hcm_probe_capabilities. The intended discovery-for-later-use is only implied; an agent gets no instruction on whether to call this before other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_list_webhook_eventsBRead-only
List events received by the local webhook stub.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, covering the read-only safety profile. The description adds the 'local webhook stub' scope, but does not disclose whether events are ephemeral, ordered, cleared on read, or tied to receiver lifecycle. No contradiction with annotations.
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 concise sentence with no filler, and the core object and action are front-loaded. It is appropriately minimal for a simple tool, though the brevity partly reflects missing behavioral and usage details.
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 low-complexity read-only list, the overall intent is clear, but there is no output schema, no description of the returned events, and no mention of limit semantics or the dependency on starting/using the webhook stub. The sibling hcm_start_webhook_receiver suggests a lifecycle context that the description fails to address.
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, limit, has 0% schema description coverage and is not mentioned in the tool description. The schema only provides type and exclusiveMinimum, so the description offers no added meaning about what limit controls, default behavior, or pagination.
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 uses a specific verb ('List') and a specific resource ('events received by the local webhook stub'), so an agent can clearly identify the tool's scope. It is also sufficiently distinct from sibling listing tools like hcm_list_notifications and hcm_list_atom_entries.
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 gives no guidance on when to use this tool versus alternatives. It does not mention the relationship to hcm_start_webhook_receiver, nor does it clarify when webhook events would exist, so the agent must infer usage from the name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_lov_findARead-only
Structured ADF finder call: resource + finder name + params object (builds finder=name;k=v,…). Prefer over raw finder strings.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | Yes | Finder name, e.g. findByCountry | |
| params | No | ||
| resource | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint=true annotation already establishes this as a safe read operation, and the description adds context about how the tool constructs the finder string ('builds finder=name;k=v,…'). It doesn't mention return format, error behavior, or requirements like valid ADF resources, but the annotation lowers the burden; the added construction detail earns a mid-score.
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, dense sentence plus a preference directive. It front-loads the core call pattern and attaches the constraint in the second sentence. Every word contributes useful information with no filler.
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?
The description is complete enough to invoke the tool, but it omits how valid finder names can be discovered (e.g., via hcm_describe_finder) and what the response looks like. Given the presence of closely related sibling tools and no output schema, a reference to discovery would greatly improve completeness. This is a reasonable but not fully self-sufficient definition.
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 only 20% (finder is the only described parameter), so the description carries most of the semantic weight. It adds meaning by explaining that the params object is serialized into key=value pairs for the finder string, which clarifies the most ambiguous parameter. It leaves q, limit, and resource undocumented, but their names and types are reasonably self-explanatory.
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: 'Structured ADF finder call: resource + finder name + params object'. It clearly communicates the core operation of building a finder query from structured components. It distinguishes itself from 'raw finder strings' but doesn't explicitly differentiate from closely related siblings like hcm_lov_finder or hcm_describe_finder, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Prefer over raw finder strings' provides explicit usage guidance, steering agents toward this structured approach when they have discrete parameters. It gives a clear when-to-use signal but does not name alternatives or state when not to use it, so it isn't fully explicit but is still actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_lov_finderBRead-only
LOV finder helper — runs finder= on an allowlisted LOV root (organizations, locations, jobs, grades, positions, absenceTypes, workers, absences, …).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | Yes | Fusion finder name / expression | |
| resource | Yes | e.g. locations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers the read-only safety profile. The description adds useful context about the allowlisted LOV roots, which helps the agent understand scope, but it does not disclose behavior for disallowed roots or describe the return shape.
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 efficient sentence with the core purpose front-loaded and a useful example list. It is concise and readable, though the phrase 'runs finder=' is slightly awkward and could be clearer.
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?
The description covers the main inputs and the allowlist constraint, which is helpful. But with no output schema, no explanation of q/limit, and no pointer to hcm_describe_finder for discovering valid finders, an agent is left with some gaps when invoking this tool correctly.
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 schema documents resource and finder with descriptions, and the description reinforces their roles. However, q and limit have no schema descriptions and are not mentioned in the description, leaving half the parameters underdocumented.
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 action — runs finder= on an allowlisted LOV root — and lists concrete example roots like organizations, locations, and jobs. It is clearly distinguishable from general search tools, though it does not explicitly contrast itself with the closely named sibling hcm_lov_find.
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 guidance on when to use this tool versus the many sibling search tools or hcm_lov_find. The allowlist note implies constraints, but no explicit when-to-use, when-not-to-use, or alternative routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_perform_bp_actionD
Perform BP action via businessProcessNotifications/action/performAction.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | ||
| action | Yes | e.g. APPROVE, REJECT | |
| comment | No | ||
| notificationId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only state readOnlyHint=false, which implies mutation but nothing about side effects, permissions, or reversibility. The description adds no behavioral context; an agent cannot infer that performing an action likely changes the notification's state or triggers downstream workflow effects.
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 vague sentence. While short, it is under-specified rather than correctly concise; essential qualifications are missing, and there is no front-loaded information about purpose or key differentiators.
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?
Given the tool's moderate complexity (4 parameters, nested body, no output schema) and lack of sibling differentiation, this description is far too sparse for correct invocation. The absence of valid action values, body format, or return behavior makes it incomplete.
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 25% (only 'action' has a description), and the tool description does not compensate. It leaves notificationId, comment, and body (a free-form nested object) 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 is a near-verbatim restatement of the tool name ('Perform BP action') plus a technical endpoint reference. It does not define what a BP action is or what effect it has, nor does it distinguish from sibling tools such as hcm_approve_write or hcm_bulk_approve_notifications.
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 guidance is provided on when to use this tool versus alternatives. It gives no context for selecting it over the many sibling notification/approval tools)Skip_tools and fails to mention that the 'action' parameter expects values like APPROVE or REJECT.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_probe_capabilitiesBRead-only
Tenant capability probe — lists curated resources and whether dummy/seed responds.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation is consistent with the description's 'lists' action, so no contradiction. However, the description adds minimal behavioral context beyond the annotation—only that it checks dummy/seed responses. It doesn't disclose whether it makes external calls, latency, or side effects, but the annotation covers the read-only nature, so a 3 is reasonable.
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 sentence, front-loaded with the core action. It is appropriately concise but leaves key terms ('curated resources', 'dummy/seed') undefined, which slightly reduces clarity. Still, it's efficient with no wasted words.
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 must explain what the tool returns. It does mention the output ('lists curated resources and whether dummy/seed responds') but fails to define what those terms mean. For an agent, this ambiguity could lead to incorrect expectations. Given the simplicity of the tool, it's adequate but not complete.
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, so the baseline is 4. The description doesn't need to add parameter info, and the schema trivially covers all parameters. There is nothing to improve here.
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 action ('lists curated resources') and a specific outcome ('whether dummy/seed responds'), giving a clear purpose. It distinguishes from typical CRUD tools but is somewhat ambiguous about what 'curated resources' and 'dummy/seed' mean, so it's not 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 guidance on when to use this tool versus alternatives. It doesn't mention any context, prerequisites, or exclusions. The agent is left to infer when a capability probe is appropriate, and it doesn't reference sibling tools like hcm_health or hcm_test_connection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_rbac_hintARead-only
RBAC hint: reminds that HTTP auth ≠ HCM privileges; returns whoami + sensitive/write flags.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description adds the key conceptual warning that HTTP auth differs from HCM privileges and discloses the tool's output content. It does not detail the exact meaning of the flags, but the read-only behavior is already annotated.
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 compact sentence with the main caveat front-loaded. The only minor redundancy is 'RBAC hint' restating the tool name, but overall it is 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 zero-parameter informational tool, the description adequately conveys what the tool returns and why it matters. Since there is no output schema, more detail about the shape of 'sensitive/write flags' would improve completeness, but the current level is sufficient for 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, so the schema fully covers the input side and the description needs no parameter clarification. The baseline of 4 applies.
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 tool returns whoami plus sensitive/write flags and frames the operation as an RBAC hint, so the agent understands the deliverable. It is not a tautology, though it does not explicitly differentiate itself from hcm_whoami.
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 conveys a clear usage context: the agent should not assume HTTP authentication implies HCM privileges and can use this tool to get privilege-related flags. It does not explicitly name alternatives or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_resolve_uniq_keyBRead-only
Resolve a Fusion-style uniq key / business key to a primary id via q= on an allowlisted resource.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Field name, e.g. PersonNumber | |
| value | Yes | ||
| idField | No | Primary key field hint | |
| resource | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is known. The description adds the 'allowlisted resource' constraint, which is useful context. However, it does not disclose behavior when the key is not found or when multiple matches occur. With annotations covering the read-only nature, a 3 is appropriate.
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 with no wasted words, front-loaded with the operation. Some jargon ('Fusion-style', 'allowlisted', 'q=') is compact but understandable for the domain.
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?
No output schema exists, so the description carries the return-value burden; it does state the output is 'a primary id'. But for a 4-parameter tool with 50% schema coverage, it leaves resource/value semantics and error behavior unexplained, so it is adequate but not complete.
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 50% — key and idField have descriptions, but resource and value are undocumented. The description does not clarify what values resource accepts or the format of value, so it fails to compensate for the uncovered half of the 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?
States a specific operation (resolve a business/uniq key to a primary id) via a specific mechanism (q= query on an allowlisted resource). The verb+resource is clear and the key-to-id purpose distinguishes it from the many search_* siblings, though it doesn't name an alternative 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?
No explicit when-to-use or when-not-to-use guidance, and no alternative tools are named. The purpose implies it is for resolving keys before other lookups, but the conditions that would select this tool over search_* tools or hcm_rest_get are left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_rest_getBRead-only
Allowlisted generic GET under HCM resources. Blocked for CE/generative-AI/internal paths.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Relative path, e.g. workers?limit=5 or workers/123 | |
| query | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry readOnlyHint=true; the description adds that access is allowlisted and that CE/generative-AI/internal paths will be blocked, which is useful operational context. It does not describe errors, pagination, or response shape, but those are not required for a simple read-only pass-through given the annotation.
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, no filler, and the core operation is stated first. The second sentence earns its place by giving a hard constraint.
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 generic pass-through tool with no output schema and an opaque allowlist, the description is too thin: it does not say when to prefer hcm_rest_get over the many dedicated getters, what the allowed path prefix is, or how responses are returned. An agent would need extra exploration to call it confidently.
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 schema documents 'path' with an example but leaves 'query' essentially undescribed; the description adds no parameter-level information. With only 50% schema description coverage, the missing query semantics are not compensated.
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 operation (GET) and target (HCM resources) and adds a concrete boundary via the blocklist for CE/generative-AI/internal paths. It does not enumerate the allowed resource set, but it is distinguishable from the custom getters like hcm_get_worker because it is explicitly generic.
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 phrase 'generic GET' and 'Blocked for...' imply this is a fallback raw REST read and gives an explicit when-not-to-use for certain path categories. It never mentions alternatives such as specialized getter tools or hcm_rest_mutate, so the routing decision is left largely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_rest_mutateC
Allowlisted generic mutate (POST/PATCH/PUT/DELETE). Requires approval unless --write.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | ||
| path | Yes | ||
| method | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint=false annotation already communicates that this is a mutating operation. The description adds useful behavioral context beyond that: it discloses the allowed HTTP verbs, the allowlisting constraint, and the approval requirement unless --write is used. It does not detail the approval flow or failure behavior, but it does meaningfully extend the annotation.
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 compact and front-loaded, with the core mutation behavior stated first and the approval condition second. It contains no filler, though the terseness leaves some important concepts like 'allowlisted' and '--write' unexplained.
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 generic mutation tool with no output schema, no parameter explanations, and no allowed-endpoint list, the description is insufficient for an agent to safely invoke it. It does not explain how to discover allowable paths, how approval is granted, what --write means in practice, or how this tool relates to dry-run and approval siblings.
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 must compensate, but it provides no explanation of path, body, or method semantics. The mention of POST/PATCH/PUT/DELETE only restates the method enum and adds nothing about path format, body requirements, or how --write relates to the 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 description identifies the tool as a generic mutation operation covering POST/PATCH/PUT/DELETE, which makes its core purpose clear. However, 'allowlisted' and 'generic' do not specify which resources or endpoints are affected, and the description does not explicitly differentiate it from sibling mutation tools like hcm_dry_run_mutate or resource-specific create/update/delete 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?
There is no guidance on when to use this tool versus alternatives such as hcm_rest_get, hcm_dry_run_mutate, or the resource-specific CRUD tools. The only usage-related note is the approval requirement, which is about authorization rather than tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_absence_plansCRead-only
Search absence plans LOV.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already declares this a safe read operation, and the word 'Search' is consistent with it. But the description adds no behavioral detail beyond that — it discloses nothing about the return format, pagination behavior (despite limit/offset parameters), or what the finder parameter changes in the result set.
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?
At six words the text is short, but this is under-specification rather than conciseness. The single sentence names the resource and stops; it lacks any operational context and there is no structure to front-load because there is essentially nothing there.
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 four undocumented optional parameters, no output schema, and no enums, the description carries the full burden of explaining the tool, and it does not. An agent cannot confidently infer input semantics or expected return values from 'Search absence plans LOV.'
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 must compensate, and it fails entirely. None of the four parameters (q, limit, finder, offset) are mentioned; an agent gets no hint about what q matches against, what finder controls, or how pagination works.
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 ('Search') and a resource ('absence plans LOV'), giving an agent the basic operation. However, 'LOV' is unexplained Oracle jargon that the description assumes the reader knows, and the phrasing nearly restates the tool name, adding little differentiation from siblings like hcm_search_absences or hcm_search_absence_types.
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 guidance is given on when to use this tool versus alternatives. The sibling set includes hcm_lov_finder, hcm_lov_find, and hcm_describe_finder, which are all LOV-related, plus the similar hcm_search_absences, yet the description mentions none of them and provides no exclusions or selection context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_absencesCRead-only
Search absences.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already conveys that this is a safe read operation, and the description's 'Search' wording is consistent with that. However, the description adds no behavioral detail beyond the annotation: it does not say whether results are paginated, what fields are returned, or how the query string behaves.
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 short and has no redundant words, but it is under-specified to the point of essentially restating the tool name. It is concise without being informative, so it does not meet the bar for an appropriately sized tool description.
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?
The tool has three parameters with no schema descriptions, no output schema, and a large sibling toolset, yet the description provides none of the context needed to call it correctly. An agent cannot tell what a valid q looks like, what the result set contains, or how absences relate to the other absence-related sibling tools.
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 must compensate for the undocumented q, limit, and offset parameters. It does not: 'Search absences' gives no meaning for q, no indication of pagination semantics, and no hint about what absence fields or values the parameters accept.
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 provides a specific action ('Search') and a resource ('absences'), so the agent can tell this is a read-oriented discovery operation over absence records. It does not elaborate on how it differs from hcm_get_absence or hcm_search_absence_plans, but the core purpose is 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 guidance about when to use this tool versus alternatives. It does not mention that hcm_get_absence is for retrieving a single known absence, nor does it explain when searching is appropriate or how limit/offset relate to result pagination. The agent is left to infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_absence_typesCRead-only
Search absence types LOV.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, covering the safety profile. The description adds the 'LOV' qualifier, implying a bounded list-of-values response rather than full entity records, but it does not disclose pagination behavior or other operational characteristics.
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 extremely concise and front-loaded with the core action. However, it is so terse that it sacrifices essential context and reads more as under-specification than disciplined brevity.
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 and no parameter explanation, a four-word description is insufficient for reliable invocation. The agent is not told how the finder parameter works, how results are structured, or how this tool relates to the LOV-related sibling tools.
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%, and the description names none of the four parameters (q, limit, finder, offset). It does not explain how these parameters should be used or what values they accept, leaving the agent with no semantic help.
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 uses a specific verb ('Search') and identifies a concrete resource ('absence types'), with 'LOV' indicating a list-of-values result. It clearly states the tool's basic function, though it does not explicitly distinguish it from sibling tools like hcm_search_absence_plans or hcm_lov_find.
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 guidance on when to use this tool versus its many search/lookup siblings. No alternatives, exclusions, or contextual conditions are mentioned, so an agent must infer usage solely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_aorCRead-only
Search areas of responsibility.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation is true and the description's 'Search' is consistent with a read-only operation, so there is no contradiction. However, the description adds no behavioral context beyond the annotation, such as pagination behavior, result format, or that multiple results are returned.
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 extremely concise and front-loaded with no filler. It is not a tautology, but it may be too terse to carry the operational detail an agent needs.
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 search tool with no output schema and no parameter descriptions, the description is incomplete: an agent cannot determine what q accepts, how limit/offset work, or when to choose this over hcm_get_aor.
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%, and the description does not explain the q, limit, or offset parameters. The word 'Search' weakly implies q is a query term, but the description does not compensate for the schema's lack of semantic detail.
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 clear verb ('Search') and resource ('areas of responsibility'), aligning with the tool name. It is not a tautology and is broadly distinguishable from the sibling hcm_get_aor, though it does not define the search scope or result shape.
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 guidance on when to use this tool versus alternatives like hcm_get_aor or other search tools. No mention of filters, prerequisites, or exclusions; the only usage signal is the implicit convention that 'search' means query-based lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_bank_accountsCRead-only
Search bank accounts. SENSITIVE: requires ORACLE_HCM_SENSITIVE=1 + approval (unless SENSITIVE_WRITE).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's main additional value is the sensitive-data access requirement and approval process. It does not describe pagination, result shape, or what happens when sensitive access is missing. The added context is meaningful but incomplete, and the SENSITIVE_WRITE exception is unclear.
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 short and front-loaded with the core operation. Both sentences carry useful information: what the tool does and what access is required. It is concise, though the phrasing of the SENSITIVE_WRITE exception could be clearer.
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 search tool with no output schema and no parameter descriptions, the description leaves too much unspecified: parameter meanings, result format, pagination behavior, and how this differs from get_bank_account. The sensitive-access warning is helpful, but it does not make the tool safely callable by an agent without additional assumptions.
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 input schema has 0% description coverage for four parameters (q, limit, finder, offset), and the description adds no parameter guidance. In particular, 'finder' is non-obvious and undocumented. Since the schema does not explain any parameter semantics and the description does not compensate, this is a major 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 states a specific verb and resource: 'Search bank accounts.' This clearly identifies the operation. However, it does not distinguish this tool from sibling tools like hcm_get_bank_account or hcm_search_payment_methods, so it is clear but not fully differentiating.
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 provides an explicit access prerequisite: requires ORACLE_HCM_SENSITIVE=1 and approval, unless SENSITIVE_WRITE. This is useful gating context. However, it gives no guidance on when to use this search tool versus alternatives such as hcm_get_bank_account, and the 'unless SENSITIVE_WRITE' clause is ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_benefit_enrollmentsCRead-only
Search benefits enrollments.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint: true, but the description adds no behavioral context beyond that. It does not disclose pagination behavior, query syntax, finder semantics, or result-shape expectations.
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 concise and contains no filler, but it is under-specified rather than well-structured. A single generic sentence does not provide enough useful content to earn a higher score.
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 search tool with four undocumented parameters and no output schema, this description is incomplete. An agent cannot determine what queries are possible, what finder values look like, what pagination limits apply, or what the response will contain.
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 0% schema description coverage and four parameters (q, limit, finder, offset), the description must compensate but does not. None of the parameters are explained, so an agent cannot infer their meaning or valid values.
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 benefits enrollments.' It is clear what the tool does at a basic level, though it does not differentiate itself from the many sibling search tools beyond the resource name.
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 guidance about when to use this tool versus alternatives such as hcm_get_benefit_enrollment or other search endpoints. No exclusions or conditions are provided, leaving tool selection entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_calculation_cardsCRead-only
Search calculation cards (read-only specialist).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes that this is read-only, and the description mostly restates that with 'read-only'. It adds 'specialist' but provides no additional behavioral context such as pagination behavior, finder semantics, or result shape.
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, but the parenthetical 'read-only specialist' mostly repeats the annotation rather than adding value. It is concise to the point of being under-specified.
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?
Given four undocumented parameters and no output schema, the description is not complete enough for an agent to invoke the tool correctly. It does not explain what a calculation card is, how 'q' or 'finder' should be used, or what the response contains.
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 input schema has four parameters (q, limit, finder, offset) with zero descriptions, and the tool description does not explain any of them. With schema description coverage at 0%, the description was expected to compensate but does not.
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 and action: 'Search calculation cards'. The parenthetical 'read-only specialist' hints at its scope, though it does not define what a calculation card is or differentiate it from the many other hcm_search_* siblings.
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 guidance on when to use this tool versus the many sibling search tools such as hcm_search_workers or hcm_search_absences. The phrase 'read-only specialist' is too vague to serve as routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_candidatesCRead-only
Search recruiting candidates.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers the safety profile, but the description adds no behavioral context beyond the annotation. It does not mention pagination behavior, how results are ordered, whether the finder parameter changes behavior, or anything about the returned data.
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 only three words, which is extremely concise, but this is under-specification rather than effective conciseness. Important usage details and parameter meanings are entirely absent, so the brevity does not earn credit as appropriate structure.
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, no parameter descriptions, and a large family of search tools as siblings, this description is far too incomplete for an agent to invoke the tool correctly. It does not explain how to construct a query, what limit/offset/finder do, or how this search differs from other search tools.
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%, and the description provides no explanation for any of the four parameters (q, limit, finder, offset). The 'finder' parameter in particular is opaque and would likely be central to how the search behaves, but the description gives no hint.
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 verb ('Search') and a specific resource ('recruiting candidates'), which is enough to identify the tool's domain and distinguishes it from searches over workers, absences, or other resources. However, it does not explicitly differentiate from closely related tools like hcm_get_candidate or hcm_search_requisitions.
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 gives no guidance on when to use this tool versus alternatives such as hcm_search_workers, hcm_search_requisitions, or hcm_get_candidate. There is no mention of prerequisites, typical use cases, or conditions that would point an agent away from this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_compensationCRead-only
Search compensation history. SENSITIVE: requires ORACLE_HCM_SENSITIVE=1 + approval (unless SENSITIVE_WRITE).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds a meaningful behavioral constraint: the tool is sensitive and requires ORACLE_HCM_SENSITIVE=1 plus approval unless SENSITIVE_WRITE is set. This goes beyond the structured annotation and helps the agent anticipate authorization failures.
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 one concise sentence plus a security caveat, with no filler or redundancy. It is front-loaded with the tool's core action, and the sensitive warning is placed directly after. It could be longer to add parameter context, but as written it earns its place.
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?
Given four undocumented parameters, no output schema, and sensitive access requirements, this description is not complete enough. It explains what the tool searches but not how to construct a query, what results look like, or how it differs from nearby search/get tools. The agent would need external knowledge or would likely guess.
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 schema has 0% parameter description coverage, and the description adds no meaning for q, limit, finder, or offset. An agent cannot tell what q searches across, how finder interacts with q, or whether limit/offset are pagination controls. With four undocumented optional parameters, the description fails to compensate.
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 clear verb and resource: 'Search compensation history.' This disambiguates it from hcm_get_compensation at a basic level, though it does not explicitly contrast with that sibling or with hcm_search_element_entries. The purpose is understandable without opening the schema.
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 provides no guidance about when to use this tool versus alternatives like hcm_get_compensation or other search tools. It only mentions an access prerequisite ('requires ORACLE_HCM_SENSITIVE=1 + approval'), which is a condition for use, not a usage strategy or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_contactsDRead-only
Search hcmContacts.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already tells the agent this is a read operation. The description adds no extra behavioral context such as query matching semantics, pagination behavior, optionality of q/finder, or result shape. There is no contradiction, but the description contributes nothing beyond the annotation.
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 short but not efficiently informative. It is under-specification rather than deliberate conciseness: no parameters, no alternatives, no behavior, and no return information are mentioned.
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 tool with four undocumented parameters, no output schema, and a large sibling family, this description is far too sparse. An agent cannot determine how to invoke it correctly, what the response contains, or how it relates to hcm_get_contact.
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%, and the description says nothing about q, limit, finder, or offset. The 'finder' and 'q' parameters are especially under-specified, leaving the agent to guess valid values and combinations.
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 is essentially the tool name restated ('Search hcmContacts.' vs hcm_search_contacts). It names a verb and a resource but does not define what hcmContacts are, what search criteria apply, or how this differs from hcm_get_contact and the many other search_* sibling 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?
There is no guidance about when to use this tool instead of hcm_get_contact, hcm_search_workers, hcm_search_public_workers, or other search variants. An agent receives no selection criteria or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_element_entriesCRead-only
Search payroll element entries (read-only specialist; not sensitive-gated).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description does not need to restate that. The addition 'not sensitive-gated' provides a useful access-control detail beyond annotations, but other behavioral aspects such as pagination behavior, search semantics, and result shape are left undisclosed.
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 efficient sentence with no filler or redundant restatement of the schema. It front-loads the core purpose, though the parenthetical is somewhat jargon-heavy and could have been used to convey more high-value parameter or usage context.
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 search tool with four undocumented optional parameters and no output schema, one sentence is far too little. The description does not explain how finder works, what data is returned, how pagination behaves, or how payroll element entries relate to other payroll resources.
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% and the tool description adds no parameter-level meaning. q, limit, and offset are mildly inferable from their names, but 'finder' is opaque and the description does nothing to explain how it interacts with q or what values are expected.
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 action (Search) and a concrete resource (payroll element entries), which is clear and distinguishes it from related search tools like search_payslips or search_payroll_relationships. The 'read-only specialist' phrasing reinforces the lookup nature, though it partially restates the tool name.
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 guidance is provided about when to choose this tool over other payroll/search tools, and no exclusions or alternatives are named. The read-only hint and 'specialist' label imply a narrow query tool, but the description never states the conditions under which this tool should or should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_emailsCRead-only
Search worker emails.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already indicates a safe read operation, and the description is consistent with that. However, the description adds no behavioral context beyond the annotation: it does not describe pagination behavior, result ordering, whether searches are partial/fuzzy, or what data is returned. Since annotations carry the full safety signal and the description adds no extra transparency, the score is low.
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 extremely short and front-loaded, but it is under-specified rather than appropriately concise. A single vague sentence does not earn its place for a tool with four parameters and no schema-level parameter descriptions. It provides only the most basic purpose and omits essential operational details.
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 tool with four parameters, no output schema, and 0% schema description coverage, the description is far too thin. It fails to explain parameter semantics, result format, search behavior, or any constraints. An agent cannot reliably invoke this tool correctly based solely on the provided definition.
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%, and the description mentions none of the four parameters: q, limit, finder, offset. It does not explain what 'q' means, how 'finder' is used, or how limit/offset control results. With zero compensation for missing schema descriptions, the agent has no semantic guidance for the 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 description states a specific verb and resource: 'Search worker emails.' It is not a tautology and clearly indicates the tool searches email data associated with workers. It does not, however, differentiate itself from sibling search tools like hcm_search_contacts or hcm_search_phones, 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?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or why an agent should prefer hcm_search_emails over hcm_search_contacts or hcm_search_workers. The only usage signal is the tool's name and minimal phrase, which is not enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_goalsCRead-only
Search talent goals.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already tells the agent this is a safe read operation, but the description adds no behavioral context beyond that. It does not disclose pagination behavior, result scope, or any other operational details an agent might need to anticipate.
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 very short and contains no filler, but it is too sparse to be considered well-structured. A single clause with no parameter or scoping information is concise without being adequately informative.
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 four undocumented parameters, no output schema, and numerous related search/get sibling tools, this one-phrase description is insufficient. The agent still needs to know what q and finder do, what the result shape looks like, and how this search relates to hcm_get_goal.
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 q, limit, finder, and offset are entirely undocumented, and the description does not compensate by explaining any of them. An agent cannot infer the query syntax, the role of finder, or how the pagination parameters interact.
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 action ('Search') and a specific resource ('talent goals'), which makes the basic purpose clear and distinguishes it from hcm_get_goal's single-record retrieval. It is not detailed enough to earn a 5, since it never defines what 'talent goals' are or what scope the search covers.
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 guidance about when to use this tool versus hcm_get_goal or any of the many search_* siblings. The verb implies 'use when you want to search,' but the description provides no alternatives, exclusions, or contextual decision cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_gradesCRead-only
Search grades LOV (optional).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals safety, so the description need not restate that. But it adds almost no behavioral context: it does not disclose pagination behavior, whether q filters by name/code, whether finder is required for LOV lookups, or what the response shape is.
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 brief to the point of under-specification. There is no waste, but the single phrase 'Search grades LOV (optional)' does not earn its place by providing enough operational meaning; this is under-specification rather than disciplined conciseness.
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 tool with four parameters, 0% schema description coverage, and no output schema, this description is severely incomplete. An agent cannot determine how to construct a valid call, what the LOV search returns, or how this relates to the broader LOV utility tools.
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 carries the burden of explaining q, limit, finder, and offset. It only says 'optional', which is minimally useful since no parameters are required. The meaning of 'finder' especially remains unexplained, and the description does not map any parameter to its intended use.
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 clear verb and resource ('Search grades'), so an agent can infer this tool lists or searches grade values. However, 'LOV (optional)' is ambiguous — it is unclear whether the LOV itself is optional or whether search parameters are optional, and it does not explicitly differentiate this from the generic hcm_lov_finder/hcm_lov_find siblings.
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 guidance is given about when to use this tool versus alternatives such as hcm_get_grade, hcm_lov_finder, or hcm_lov_find. The description implies a search use case but provides no exclusions, prerequisites, or preferred scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_jobsCRead-only
Search jobs LOV.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation covers the safety profile, and the description does not contradict it. However, the description adds no behavioral context beyond 'Search' — no mention of pagination, matching behavior, result scope, or what 'LOV' implies about 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?
The text is extremely short, which is concise in word count, but it is under-specified rather than efficiently informative. 'Search jobs LOV' leaves out essential semantics and reads as a fragment.
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 tool with 4 undocumented parameters, no output schema, and many related siblings, the description is far from complete. It provides no information about query syntax, required vs optional inputs, return shape, or when to choose this search over other job-related tools.
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% for 4 parameters (q, limit, finder, offset), and the description provides no meaning for any of them. The description must compensate for the empty schema but does not even mention that q is a search term or how limit/offset affect results.
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 verb ('Search') and resource ('jobs'), so it is not a pure tautology. However, 'LOV' is unexplained jargon and the description does not explicitly distinguish this tool from related siblings like hcm_get_job or hcm_search_positions.
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 guidance on when to use this tool versus alternatives such as hcm_get_job, hcm_search_positions, or hcm_search_requisitions. The description gives no context about the intended LOV/autocomplete use case or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_learning_enrollmentsCRead-only
Search learning enrollments.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, so the read-only nature is covered by structured data. The description adds no behavioral context beyond the tool name itself, such as pagination behavior, result scope, filtering semantics, or any operational traits. It neither contradicts nor enriches the annotations.
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 extremely concise and front-loaded, with no wasted words. However, it is under-specified for a tool with four undocumented parameters, so brevity comes at the cost of usefulness. It is appropriately short but not appropriately informative.
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 four parameters, no output schema, and only a readOnly hint, a minimal phrase like 'Search learning enrollments' is not enough for an agent to invoke the tool correctly beyond making an unfiltered call. There is no information about supported finders, search query syntax, pagination, or returned data shape.
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%, and the description provides no explanation of q, limit, finder, or offset. The description does absolutely nothing to help an agent understand what values to provide or how the parameters affect the search. This is a critical 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 states a clear verb ('Search') and a specific resource ('learning enrollments'), which distinguishes it from the sibling 'get' tool and from searches over other enrollment types like benefit enrollments. However, it does not explicitly describe the scope of the search or what distinguishes it from related search 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?
No guidance is given about when to use this tool versus alternatives such as hcm_get_learning_enrollment or other search tools. There are no mention of prerequisites, intended use cases, or exclusion criteria. The usage is only implied by the word 'search'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_locationsDRead-only
Search locations LOV.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description does not contradict that. However, the description adds no behavioral context beyond the annotation—no mention of pagination, return format, or how the LOV is structured. With annotations present, the bar is lower, but the description still fails to provide useful extra detail.
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 extremely brief (three words), but brevity here sacrifices clarity. It is not a model of conciseness because the single phrase does not carry enough meaning to earn its place—it is under-specified rather than efficiently informative.
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?
Given the tool has 4 undocumented parameters, no output schema, and many similar siblings, the description is grossly inadequate. An agent cannot determine the tool's purpose, parameters, expected results, or when to choose it, leaving a severe gap in operational understanding.
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 must explain parameters, but it mentions none. The four parameters (q, limit, finder, offset) are entirely undocumented, and the description offers no hints about their semantics or how they interact, making it impossible to use the tool correctly without external knowledge.
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 'Search locations LOV' states a verb and resource, but 'LOV' (List of Values) is unexplained jargon, and the tool is not differentiated from siblings like hcm_find_locations or hcm_get_location. It is nearly a restatement of the name and lacks the specificity needed to understand what makes this search unique.
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 guidance on when to use this tool versus alternatives. With many location-related siblings (hcm_find_locations, hcm_get_location, hcm_lov_finder), the description provides no context for when this search is appropriate, nor any exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_national_identifiersCRead-only
Search national identifiers. SENSITIVE: requires ORACLE_HCM_SENSITIVE=1 + approval (unless SENSITIVE_WRITE).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the sensitive nature requiring ORACLE_HCM_SENSITIVE=1 and approval, which is a critical behavioral trait beyond the readOnlyHint annotation. This adds significant context for an agent to understand access prerequisites. However, it does not describe pagination behavior, return format, or any other side effects beyond read-only, which are partially covered by the readOnlyHint.
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 extremely concise—two sentences with no fluff. The purpose is stated first, and the sensitive warning is front-loaded as the second sentence. Every word earns its place, though it could be slightly more descriptive without losing conciseness.
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 search tool with four undocumented parameters and no output schema, the description is far from complete. It lacks parameter explanations, return value description, and any usage context beyond the sensitive flag. An agent would not know how to construct a valid query or interpret results, making the tool difficult to use correctly without additional external knowledge.
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% and the description does not explain any of the four parameters (q, limit, finder, offset). With no compensation from the description, an agent cannot infer the meaning of 'q' (query string?), 'finder' (a specific finder name?), or the pagination semantics. The description adds zero value for parameter understanding, which is a critical 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 clearly states the verb 'Search' and the resource 'national identifiers', which is a specific resource distinct from other search tools like hcm_search_workers. However, it does not elaborate on what a 'national identifier' refers to (e.g., employee national ID, social security number) or whether it searches across all workers, leaving slight ambiguity. It is distinguishable from the sibling hcm_get_national_identifier by the search vs get verb.
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 guidance is provided on when to use this tool versus alternatives. It does not mention when to prefer this search over hcm_get_national_identifier, hcm_search_public_workers, or other search tools, nor does it describe any preconditions like which finder to use. The only additional info is the sensitive requirement, which is about authorization, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_organizationsCRead-only
Search organizations / departments.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals a safe read operation. The description adds no behavioral detail beyond that, such as whether results are paginated, how the finder parameter affects behavior, or what fields are returned. With annotations covering safety, a 3 is appropriate.
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 short sentence with no wasted words. It is front-loaded with the verb and resource, but it is so terse that it sacrifices useful context.
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 search tool with four undocumented parameters and no output schema, the description is too thin. An agent cannot know what to pass in 'q' or 'finder', what results look like, or how this relates to the many sibling search tools. The readOnlyHint covers safety but not operational semantics.
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 must compensate for the four undocumented parameters (q, limit, finder, offset). It does not explain what 'q' matches against, how 'finder' changes search behavior, or what limit/offset control. This is a significant 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 'Search organizations / departments.' states a clear verb and resource, and the slash suggests it covers both organizations and departments. However, it does not distinguish this from sibling search tools like hcm_search_locations or hcm_get_organization, and the relationship between organizations and departments is ambiguous.
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 guidance is given on when to use this tool versus alternatives such as hcm_get_organization or hcm_search_locations. The description implies a search use case but provides no context about filtering, pagination, or when a direct get would be preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_payment_methodsBRead-only
Search payment methods. SENSITIVE: requires ORACLE_HCM_SENSITIVE=1 + approval (unless SENSITIVE_WRITE).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, so the description's main addition is the sensitive flag requirement, which is useful context beyond the annotation. It doesn't disclose what data is returned or any rate limits, but the sensitive access requirement is the key behavioral trait. No contradiction with annotations.
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 two sentences, with the primary purpose front-loaded and the sensitive access note following. It's efficient and doesn't waste words, though it could be structured with a clearer hierarchy for the sensitive note.
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 4 parameters, no output schema, and no sibling differentiation, the description is incomplete for an agent to use correctly without external knowledge. It doesn't explain the finder parameter, expected return format, or pagination behavior, and it doesn't note that there are no required parameters. The sensitive requirement is highlighted, but operational parameters are left undocumented.
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 must compensate, but it doesn't explain any parameter semantics. The parameter names (q, limit, finder, offset) are somewhat self-explanatory, but 'finder' is ambiguous. The description adds no parameter meaning, so a 3 is generous given the low coverage.
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 clear verb-resource pair ('Search payment methods') and the SENSITIVE note adds specificity. It doesn't explicitly distinguish from other search tools like hcm_search_bank_accounts or hcm_search_contacts, but the resource name is distinct enough. The action is clear for an agent.
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 notes the sensitive requirement (ORACLE_HCM_SENSITIVE=1 and approval unless SENSITIVE_WRITE), which implies when to use it, but doesn't contrast with alternative search tools or provide exclusion criteria. The agent knows it's a sensitive read but not when to prefer this over other search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_payroll_relationshipsCRead-only
Search payroll relationships (read-only).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already tells the agent this is a safe read operation; the description merely repeats that fact. It adds no additional behavioral detail such as pagination behavior, result shape, or data scoping, so it contributes little beyond the annotation.
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 one short sentence and is easy to parse, with the main action and resource front-loaded. However, it is under-specified, and 'read-only' is redundant with the annotation, so it earns only a moderate score.
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 search tool with three undocumented parameters and no output schema, a single sentence is insufficient. The agent is left to infer what q searches, how pagination works, and what a payroll relationship contains. It is minimally viable but incomplete.
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%, yet the description gives no explanation of q, limit, or offset. q is only inferable as a query string from the tool name, and limit/offset semantics are not specified. The description does not compensate for the missing schema descriptions.
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 uses a specific verb ('Search') and a specific resource ('payroll relationships'), so an agent knows what operation is offered. It is clear at a basic level, but it does not explicitly explain the difference from sibling hcm_get_payroll_relationship or the meaning of a payroll relationship.
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 guidance is given about when to choose this search tool over hcm_get_payroll_relationship or other search tools. The 'read-only' qualifier only notes safety, not selection conditions. This is effectively a no-guidance case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_payslipsCRead-only
Search payslips. SENSITIVE: requires ORACLE_HCM_SENSITIVE=1 + approval (unless SENSITIVE_WRITE).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds the sensitive-access and approval requirement, which annotations don't convey. However, the 'unless SENSITIVE_WRITE' exemption is cryptic and unexplained, and no return or pagination behavior is disclosed. No contradiction with annotations.
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 sentences with no filler; the verb and resource are front-loaded. The all-caps SENSITIVE clause is terse to the point of being cryptic, but the overall definition is appropriately 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?
For a search tool with four undocumented optional parameters and no output schema, the description leaves significant gaps: parameter semantics, pagination behavior, and the relationship to hcm_get_payslip. The sensitive-access flag is the only meaningful contextual addition, and even it is confusing due to the SENSITIVE_WRITE reference.
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%, and the description provides no explanation for any of the four parameters. The 'finder' parameter is an Oracle HCM-specific concept that is left undefined, and q, limit, and offset, while conventional, are not confirmed by any descriptive text. The description fails to compensate for the bare 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?
States a specific verb ('Search') and resource ('payslips'), so an agent knows what it does. However, it doesn't differentiate itself from the sibling hcm_get_payslip or clarify the scope of the search (e.g., all employees vs self-service), leaving some ambiguity.
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 guidance on when to use this search versus the sibling hcm_get_payslip or any other alternative. The only usage context is the access prerequisite (ORACLE_HCM_SENSITIVE=1 + approval), which is a precondition but not a tool-selection rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_performance_documentsCRead-only
Search performance documents.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already communicates that this is a safe read operation, and the description adds nothing beyond that. There is no disclosure of pagination behavior, result shape, or whether the finder parameter changes behavior, so the description contributes minimal behavioral context.
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 short, but brevity is under-specification rather than conciseness. It contains no useful structural information and does not earn its place beyond restating the tool's name.
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, undocumented parameters, and a network of search/get siblings, this description is far from complete. It lacks essential context about query syntax, search scope, finder usage, and return behavior, leaving significant ambiguity for an agent.
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% and the description provides no information about q, limit, finder, or offset. The description must compensate for the undocumented schema but does not, leaving the agent to infer semantics from parameter names alone.
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 verb and resource ('Search performance documents'), so an agent can tell this is a search operation over performance documents. However, it is essentially a restatement of the tool name and does not distinguish this from related search tools or from hcm_get_performance_document, leaving the exact scope ambiguous.
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 guidance is given about when to use this tool versus hcm_get_performance_document or other search_* siblings. There is no mention of prerequisites, query strategy, or which parameter combinations are appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_phonesCRead-only
Search worker phones.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already covers that this is a read-only operation, so the description does not need to state that. However, the description adds no additional behavioral context—no mention of what is returned, pagination, or any caveats. Given the annotation, this is acceptable but minimal, hence a 3.
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 extremely concise—a single sentence with no fluff. However, conciseness here borders on under-specification. While it is efficiently short, it lacks substance, making it less useful than a slightly longer description with key details. A score of 3 reflects that it is not verbose but also not informative.
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 search tool with four parameters and no output schema, the description is inadequate. It fails to explain what 'q' refers to, what 'finder' does, or what the response shape is. There is no context about how search works, result ordering, or any limitations. An agent would have to guess or probe to use this effectively. This is clearly incomplete.
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%, meaning the description provides no information about any of the four parameters (q, limit, finder, offset). With zero coverage, the description must compensate by explaining parameter meanings, but it offers nothing. The schema itself gives only types and constraints, leaving semantics entirely unexplained. This is a significant 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 states a specific verb ('Search') and a specific resource ('worker phones'), making the purpose clear. However, it does not differentiate this tool from similar search siblings like hcm_search_workers, hcm_search_contacts, or hcm_search_emails. The resource is distinct enough, but the lack of any distinguishing detail keeps it from 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 guidance on when to use this tool versus alternatives. No mention of when to prefer this over other search tools, nor any context about typical use cases or prerequisites. The description provides no usage direction beyond the basic action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_positionsCRead-only
Search positions LOV.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation already declares readOnlyHint=true, and the description's 'Search' wording is consistent with that. However, the description adds no behavioral context beyond the annotation: it does not explain pagination behavior, how limit/offset interact, whether finder refers to a named LOV finder, or what kind of result set is returned. It therefore adds no meaningful transparency.
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 only three words and contains no fluff, so it is superficially concise. However, it is under-specified for a tool with four parameters and multiple closely related siblings. The brevity is closer to under-specification than to appropriately sized, high-value conciseness.
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?
Given four parameters, no output schema, and an ambiguous acronym, the description is not complete enough for an agent to invoke the tool effectively. It conveys the basic domain and read-only intent, but the agent cannot determine what to put in 'q' or 'finder', what the response shape is, or how this differs from hcm_lov_find and hcm_get_position. Major operational details are absent.
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 has the full burden of explaining q, limit, finder, and offset. It does not mention any of these parameters or add any meaning beyond their names. 'Search positions LOV' gives no hint about the expected query format, finder semantics, or pagination semantics, so the description fails to compensate for the schema's lack of documentation.
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 clearly identifies the operation ('Search') and the target resource ('positions'), so the basic purpose is understandable. However, it does not distinguish itself from related tools such as hcm_get_position, hcm_lov_find, or hcm_search_jobs, and the acronym 'LOV' is left unexplained, leaving some ambiguity about exactly what 'positions LOV' means.
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 provides no guidance on when to use hcm_search_positions versus alternatives. It does not mention hcm_get_position for retrieving a specific position, hcm_lov_find for general LOV lookup, or hcm_describe_finder for understanding finder parameters. An agent must infer usage entirely from the tool name and parameter names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_public_workersCRead-only
Search publicWorkers.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already communicates that this is a read-only operation. The description adds no behavioral information beyond the verb 'Search'—no mention of pagination, result ordering, or any defaults. With annotations covering safety, the description still fails to add useful behavioral context.
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 extremely short and front-loaded, but it borders on under-specification rather than effective conciseness. The single phrase contains no fluff, yet it also contains no substantive content that earns its place. It is adequately concise but not sufficiently informative.
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 four undocumented parameters, no output schema, and a two-word description, the tool definition is severely incomplete. An agent cannot reliably understand the query format, result structure, or how this search differs from its many siblings. The description leaves nearly all essential context 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?
Schema description coverage is 0%, so the description must compensate for the lack of parameter documentation, but it does not. The four parameters (q, limit, finder, offset) are completely unexplained, leaving agents unsure what 'q' or 'finder' mean or how to construct a valid query.
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 'Search publicWorkers.' states a verb and a resource, so it is more than a tautology. However, it does not explain what a 'public worker' is or how this search differs from hcm_search_workers, leaving the agent to guess the scope. It is minimally clear but lacks any distinguishing detail.
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 guidance on when to use this tool versus alternatives like hcm_search_workers, hcm_get_public_worker, or other search tools. No context, prerequisites, or exclusions are provided, so the agent cannot make an informed routing decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_requisitionsCRead-only
Search recruiting job requisitions.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only restates the search behavior and adds no additional behavioral context beyond the readOnlyHint annotation. There is no mention of pagination behavior, default limits, or how the finder parameter affects results, so it provides no deeper transparency than the annotations already provide.
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 redundant words. It efficiently communicates the core operation, though its brevity borders on under-specification for a tool with multiple parameters.
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?
Given the tool has four undocumented parameters fire, no output schema, and only a readOnlyHint annotation, the description is too minimal to be complete. It fails to explain query syntax, the purpose of 'finder', or any result shape, leaving significant gaps for an agent attempting to invoke it correctly.
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 0% schema description coverage and four parameters (q, limit, finder, offset), the description carries the burden of explaining parameter meanings, but it does not mention any of them. The agent is left without any semantic guidance for how to populate these fields.
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 clearly states the verb 'Search' and the resource 'recruiting job requisitions', so an agent knows what entity this tool targets. However, it does not explicitly differentiate it from sibling tools like hcm_search_jobs or hcm_search_candidates beyond the resource name, 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?
The description offers no guidance on when to use this tool versus alternatives such as hcm_search_jobs or hcm_get_requisition. It also does not mention any prerequisites, filtering intent, or contexts where this search is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_schedulesCRead-only
Search work schedules.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers the read-only safety profile, so the description's search wording is consistent. However, the description adds no behavioral context beyond the annotation: it does not mention whether results are paginated, what entities are returned, or any limitations. The bar is lower because annotations exist, but the description contributes almost nothing new.
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 short and free of filler, which is good, but it is under-specified rather than appropriately concise. A single generic sentence does not serve the complexity of the tool, especially given the undocumented parameters and absent output schema.
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, no parameter descriptions, and no usage context, the description carries the full burden of enabling correct invocation. It fails to explain how to construct a search, what the response shape is, or how pagination works. The agent cannot reliably select or call this tool based on the provided information.
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 must compensate for the undocumented parameters q, limit, finder, and offset. It does not mention any of them, leaving the agent with no sense of what values are valid, what q means, or how finder differs from q. This is a critical gap for a 4-parameter tool.
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 clear verb and resource: 'Search work schedules.' It is unambiguous about the operation being a search over schedule data. However, it does not explicitly differentiate itself from siblings like hcm_get_schedule or hcm_search_time_records, so it stops short of the top score.
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 guidance on when to use this tool versus alternatives such as hcm_get_schedule or hcm_search_time_records. The description provides no context about intended search scenarios, prerequisites, or exclusions. An agent must infer usage entirely from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_talent_profilesCRead-only
Search talent person profiles.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers the safety profile, but the description adds no behavioral context beyond restating 'Search'. It does not mention result shape, pagination behavior, what 'talent person profile' means, or any constraints on the search, so there is little disclosure beyond what annotations already provide.
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 short sentence with no filler or redundant explanation. It is front-loaded and easy to parse, though it is arguably so terse that it sacrifices useful 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 search with three optional parameters, this is minimally adequate, but there are clear gaps: no differentiation from sibling search/get tools, no parameter semantics, and no indication of what the response contains despite there being no output schema. An agent could call it, but not with much confidence about results or filtering behavior.
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%, and the description does not explain any of the three parameters. The names q, limit, and offset are somewhat self-explanatory, but 'q' is ambiguous and neither the schema nor the description defines search semantics, defaults, or required combinations.
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 uses a specific verb ('Search') and a resource ('talent person profiles'), so an agent can tell this is a list/query operation rather than a get/update/delete. It does not explicitly differentiate from hcm_search_workers or hcm_get_talent_profile, which prevents a 5, but it is not a tautology.
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 guidance on when to choose this tool over siblings like hcm_get_talent_profile (retrieve a single profile) or hcm_search_workers (search worker records). The description leaves usage entirely to inference from the name, with no context about expected use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_time_recordsCRead-only
Search time records (Fusion timeRecords).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already marks the tool as safe/read-only, and the description's 'Search' verb aligns with that. The description adds minor context by identifying the Fusion timeRecords abstraction, but it does not disclose pagination, result limits, finder requirements, or other behavioral traits beyond the annotation.
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 short and front-loaded, but it is under-specified for a tool with four undocumented parameters and no output schema. It is concise to the point of omitting useful structure, so it only partially satisfies the conciseness and appropriate-sizing criteria.
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, 0% parameter coverage, four optional parameters, and no usage guidance, the description is far from sufficient for an agent to select and invoke this tool correctly among dozens of HCM siblings. The only context provided is the resource name and read-only intent.
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%, and the description provides no explanation of q, limit, finder, or offset. An agent cannot infer what search query syntax is expected, how finders relate to q, or what defaults apply for limit and offset, making the parameter semantics effectively undocumented.
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 action ('Search') and resource ('time records'), with the added context of the underlying Fusion API object ('Fusion timeRecords'). It is clearly a list/search operation, distinct from sibling hcm_get_time_record which implies fetching a single record, though it does not explicitly name the sibling.
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 guidance is provided on when to use this search tool versus alternatives like hcm_get_time_record or hcm_submit_time_card. The description implies a search use case but gives no context on what inputs distinguish it or when a more specific getter would be preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_search_workersCRead-only
Search workers (q / finder / limit / offset). Example: { "q": "PersonNumber=P1001", "limit": 5 }
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ADF q filter, e.g. PersonNumber=123 | |
| limit | No | ||
| finder | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already declares this is a safe read operation, and the description is consistent with that. It adds a small amount of behavioral context through the q-filter example and the mention of limit/offset, but it does not describe pagination defaults, response shape, or what 'finder' means. No contradiction with annotations.
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 compact and front-loaded with 'Search workers', and the example earns its place by showing realistic usage. It is appropriately concise for a simple search tool, though the brevity contributes to missing parameter explanations for finder and offset.
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 search tool with four parameters and no output schema, the description is too thin. It does not explain finder semantics, expected return structure, pagination behavior, or how this search relates to hcm_get_worker and hcm_search_public_workers. The example helps but does not make the tool fully invocable by an agent facing a real choice among many siblings.
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 only 25%, so the description carries the burden of explaining parameters. It lists all four parameter names and gives a useful q-filter example, but 'finder' remains completely unexplained and limit/offset semantics are only implied by their names, not described.
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 ('Search') and resource ('workers'), and names the main query parameters, so an agent can tell this is a list/search operation rather than a single-record get. However, it does not distinguish this from sibling tools like hcm_search_public_workers or hcm_get_worker, so full clarity among closely related tools is missing.
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 gives no guidance on when to use this tool versus alternatives such as hcm_get_worker for fetching a single worker or hcm_search_public_workers for public data. The example implies a q-filter usage pattern, but there are no explicit conditions, exclusions, or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_setup_statusARead-only
Setup status: public config view, write/sensitive flags, tool counts (no secrets).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers the read-only nature, and the description adds useful behavioral context: it is a public config view, includes write/sensitive flags and tool counts, and explicitly excludes secrets. This goes beyond the annotation by clarifying what data is exposed and reassuring about data sensitivity.
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 that packs meaningful specifics into very few words. Every clause—'public config view,' 'write/sensitive flags,' 'tool counts,' and 'no secrets'—adds information without filler or redundancy.
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 status tool, the description is largely complete: it states what kind of information is returned and reassures that no secrets are included. It could be slightly richer about the exact shape or origin of 'write/sensitive flags,' but nothing needed for invoking the tool is 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 tool has zero parameters and the input schema is empty, so there are no parameter semantics for the description to clarify. Following the baseline for zero-parameter tools, the description has no obligation to compensate for undocumented 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 description clearly identifies the tool as exposing setup/configuration status and enumerates its contents: public config view, write/sensitive flags, and tool counts. It is not a tautology because it adds substantive specifics beyond the name, though it lacks an explicit verb and does not explicitly differentiate it from similar siblings like hcm_health or hcm_export_config.
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 implies the tool is a safe, read-only status/config inspection endpoint by calling it a 'public config view' and noting it contains 'no secrets.' However, it does not explicitly state when to prefer this tool over alternatives, nor does it name any siblings for comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_start_webhook_receiverA
Start localhost webhook receiver. When ORACLE_HCM_WEBHOOK_SECRET (or secret arg) is set, requires X-HCM-Signature HMAC-SHA256.
| Name | Required | Description | Default |
|---|---|---|---|
| port | No | ||
| secret | No | Override env secret for this receiver |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only include readOnlyHint=false, which is weak and does not indicate side effects. The description adds that the tool requires HMAC-SHA256 signature verification when a secret is set, which is helpful. However, it does not disclose other behavioral details such as whether it opens a persistent server, how it interacts with ongoing processes, or any cleanup requirements. Given the low annotation coverage, the description carries more burden but still falls short.
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 unnecessary words. The core functionality is stated upfront, followed by the security condition. It is highly concise and well-structured.
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?
The description covers the essential purpose and security requirement, which is likely sufficient for an agent to call the tool. However, it lacks details on return values (no output schema), error handling, what happens after starting the receiver, and how the agent might interact with it after startup. Given the simplicity and that no output schema exists, a bit more detail on expected behavior would improve completeness.
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 50%, with one parameter (secret) documented. The description explicitly mentions the 'secret' parameter and explains its role, which adds value beyond the schema. The 'port' parameter is not described in schema or description, but it is straightforward. The description adequately clarifies the secret parameter's purpose, aligning with the 50% coverage baseline.
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 clearly states the tool starts a localhost webhook receiver, which is a specific action and resource. It also mentions the authentication requirement when a secret is set, adding useful context. However, it does not explicitly differentiate from sibling tools like hcm_list_webhook_events, but the verb and resource are specific enough.
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 implies this tool is used to set up a local webhook receiver for testing or receiving webhooks. It does not explicitly state when to use it versus alternatives, though the sibling list includes webhook-related tools but none with a 'start' action. The absence of explicit context for when to use it makes it less clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_submit_time_cardC
Submit a time card (approval unless --write).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false, so this is known to be a mutating operation. The description adds the behavioral distinction between approval submission and direct write, which is useful beyond the annotation, but it does not explain the approval workflow, side effects, or response 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?
The description is a single short sentence with no wasted words and the main action is front-loaded. However, the phrase 'unless --write' is contextually under-specified, so conciseness comes at the cost of clarity in that 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 mutation tool with one opaque body parameter and no output schema, this description is far too incomplete. An agent cannot know the required payload structure, the exact effect of approval versus '--write', or what the tool returns. It needs substantially more guidance to be invoked correctly.
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 schema has a single required 'body' object with no property descriptions and 0% schema description coverage. The description does not explain what the body should contain, what fields are required, or how the approval/write distinction maps to the body. This is a critical 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 clearly identifies the verb and resource: submit a time card. The parenthetical '(approval unless --write)' adds a mode distinction, though the meaning of '--write' is not explained. It is specific enough to distinguish from the many search/get time-record siblings.
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 gives no guidance about when to use this tool versus alternatives such as hcm_search_time_records or hcm_approve_write. It implies a submission action but provides no exclusions, prerequisites, or decision criteria for choosing this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_test_connectionBRead-only
Probe HCM connectivity via workers?limit=1 (same as hcm_health, explicit setup name).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already signals a safe read operation, and the description adds useful mechanics by revealing that connectivity is probed via a workers?limit=1 call. This is consistent with the annotation and gives a bit beyond it, but it does not disclose what the tool returns, what authentication is needed, or how failures surface. Since the annotation carries the safety burden, 3 is appropriate.
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, short sentence that is easily parseable and front-loads the core action. However, the parenthetical 'same as hcm_health, explicit setup name' is slightly cryptic and packs two ideas into a few words, which costs a bit of clarity. Still, it is appropriately compact with no wasted 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?
For a zero-parameter, read-only connectivity probe, the description covers the essential invocation context: what it does and roughly how. There is no output schema, and the description does not explain the return value (e.g., Boolean, status, or error payload), which an agent would benefit from knowing to interpret success and failure. The simplicity keeps this from being a major gap, so 3 is fair.
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 the schema confirms this with 100% coverage, so there is no parameter meaning for the description to add. Per the baseline for zero-parameter tools, this dimension is trivially satisfied. The mention of workers?limit=1 is a helpful implementation detail rather than a parameter specification.
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 opens with a specific verb and object: 'Probe HCM connectivity', so an agent knows this is a health/connectivity check. It even names the underlying call (workers?limit=1), making the operation concrete. However, the parenthetical 'same as hcm_health, explicit setup name' blurs differentiation with the sibling hcm_health, which slightly weakens clarity.
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 names hcm_health as a sibling but gives no explicit guidance on when to choose this tool over it. 'Same as hcm_health, explicit setup name' implies a setup-related context but does not state it directly. An agent is left to infer the distinguishing condition, so the usage guidance is mostly implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_update_absenceC
Update an absence (approval unless --write).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| absenceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation (false) and the word 'Update' are consistent, but the description adds little beyond that. It does not disclose what the update does, what 'approval unless --write' means, whether it requires special permissions, or what side effects 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 description is very brief with no wasted words, but the cryptic parenthetical undermines clarity. It is short but not well-structured to convey the tool's key behavioral distinction.
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?
Given an opaque body object, no output schema, minimal annotations, and many related siblings, this description is far too thin. Agents cannot determine required body contents, the meaning of '--write', or how this differs from approval-specific tools.
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% and the description adds no meaning to the two parameters. The 'body' is an unconstrained object with no explained fields, and 'absenceId' is not described beyond its name, leaving agents to guess what to provide.
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 phrase 'Update an absence' identifies a specific verb and resource, and it is clearly distinct from create/delete absence siblings. However, the parenthetical '(approval unless --write)' is cryptic and may confuse agents about whether this is an update or an approval action.
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 guidance on when to use this tool versus alternatives like hcm_approve_write, hcm_deny_write, or hcm_update_task_status. The parenthetical hints at a mode distinction but does not explain selection criteria or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_update_aorC
Update AOR (approval unless --write).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| aorId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate readOnlyHint=false, so the description carries the burden of explaining that this is a mutating operation with possible approval gating. It adds the 'approval unless --write' caveat but does not explain the approval mechanism, side effects, or what response to expect, which is insufficient for a mutation tool.
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 text is very short, but that is under-specification rather than effective conciseness. The parenthetical is confusing and does not earn its place because it fails to convey meaningful, actionable 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?
There is no output schema, minimal annotations, an unconstrained body parameter, and a vague approval note. A one-line description is far from enough for an agent to understand what AOR means, what body should contain, and how the approval workflow affects the call.
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 must compensate for the undocumented aorId and body parameters. It does not mention either parameter, leaving especially the body object completely 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 names a specific verb and resource ('Update AOR') and clearly distinguishes this from sibling tools like create/get/delete AOR. However, the parenthetical 'approval unless --write' is cryptic and never explains what AOR is or what the --write flag refers to, which slightly undermines clarity.
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 guidance about when to use this tool versus alternatives such as hcm_create_aor, hcm_get_aor, hcm_delete_aor, or the approval/denial workflow tools. The 'approval unless --write' hint is too vague to serve as actionable selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_update_talent_profileC
Light PATCH of a talent person profile (approval unless --write).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| profileId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint=false annotation already signals write behavior; the description adds that an approval workflow exists ('approval unless --write'), which is useful context beyond the annotations. However, the '--write' caveat is confusing because no such parameter appears in the input schema, leaving the agent unsure how to invoke the bypass.
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 concise with no filler and places the core action early. But it is so terse that 'Light' and '--write' introduce ambiguity, and the sentence does not provide enough operational clarity to be considered well-crafted.
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, sparse annotations, and an undocumented free-form body parameter, the description leaves critical gaps: the meaning of 'Light PATCH', the contents and constraints of body, the approval flow's effects, and the expected response. An agent cannot reliably call this tool correctly with the information given.
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 must explain both parameters. It does not describe profileId (format, where to find it) or body (required fields, allowed properties, patch semantics). The body is a free-form object with no sub-schema, and the description offers no compensation.
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 ('PATCH') and resource ('talent person profile'), which clearly distinguishes it from worker, absence, and AOR update tools in the sibling list. However, the term 'Light' is unexplained, so the precise scope of the patch operation is ambiguous.
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 guidance is provided for when to use this tool versus alternatives, and no sibling tool is named (e.g., hcm_update_worker or hcm_get_talent_profile). The parenthetical 'approval unless --write' describes an operational behavior, not a usage condition, and gives no decision criteria for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_update_task_statusC
Update checklist task status via child/allocatedTasks/.../action/updateTaskStatus.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | ||
| status | Yes | e.g. COMPLETED, IN_PROGRESS | |
| taskId | Yes | ||
| checklistId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide readOnlyHint=false, which aligns with 'Update', but the description adds no behavioral context: no mention of required permissions, irreversibility, side effects on dependent data, or response behavior. With no other annotations, the description carries the full disclosure burden and does not meet it.
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 one compact sentence with no filler. The key action is front-loaded and the endpoint path is additive, though the format is so terse that it reads more like a stub than a polished tool description.
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?
Given four parameters including a nested 'body' object, no output schema, and effective mutation semantics, the description is materially incomplete. An agent cannot determine the body shape, valid status transitions, or what handling is required after invoking this 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?
Schema description coverage is only 25%, with status being the only parameter explained. The description does not compensate: it says nothing about what 'body' should contain, how taskId and checklistId relate to the endpoint path, or what status values beyond the schema example are accepted.
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 verb and resource: 'Update checklist task status', and adds the endpoint path 'child/allocatedTasks/.../action/updateTaskStatus'. This distinguishes it from other hcm_update_* siblings, though the path fragment is cryptic and the wording partly restates the tool name.
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 guidance about when to use this tool versus alternatives. It does not mention related checklist tools like hcm_allocate_checklist or hcm_force_close_checklist, nor does it state any preconditions or scenarios where this status update applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_update_workerC
PATCH a worker (requires approval unless --write).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| workerId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds a useful behavioral nuance beyond the readOnlyHint=false annotation: the operation requires approval unless --write is used. However, it does not disclose side effects, reversibility, required permissions, or what happens after the PATCH is submitted, so the behavioral picture remains partial.
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 short, front-loaded, and free of filler: 'PATCH a worker' states the core action immediately, and the parenthetical approval warning adds a useful constraint without bloat. It is concise, though arguably too terse for the information an agent actually needs.
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, no parameter descriptions, and a generic body schema, the agent is left with very little guidance about request shape, response format, or post-update behavior. The approval note is useful, but it does not compensate for the missing operational and data-shape context of a write operation.
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%, and the description provides no parameter-level information. workerId and body are both undocumented, with body being a fully open additionalProperties object. The agent cannot infer what fields the body should contain, what workerId refers to beyond its name, or how the patch format should be structured.
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 ('PATCH') and a specific resource ('worker'), which clearly distinguishes it from sibling read tools like hcm_get_worker and creation tools like hcm_create_worker. It is less specific about what updating a worker entails, but the core operation is unambiguous.
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 guidance on when to choose this tool over alternatives, such as hcm_get_worker for reading, hcm_update_worker_assignment for assignments, or hcm_update_talent_profile for talent data. The only conditional note is about approval/--write, which is an operational detail, not a usage-selection criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_update_worker_assignmentC
PATCH a worker assignment (approval unless --write).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| assignmentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal readOnlyHint=false, and the description adds that the operation is subject to approval unless --write is used. This is useful extra context, but it is ambiguous: it does not explain what the approval workflow entails, what --write means, or what side effects may 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 description is a single efficient sentence with the core verb and resource front-loaded. The parenthetical is compact, though it introduces ambiguity, so it earns slightly less than a perfect score.
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 two required parameters and no output schema, this description is too thin. It omits parameter semantics, approval workflow details, body structure, and expected return behavior, making it insufficient for correct invocation without additional tool discovery.
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%, and the description does not explain assignmentId or the body object. The agent is left with no information about what fields the body should contain or how assignmentId is used, so the description fails to compensate for the missing schema documentation.
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 clearly states the action ('PATCH') and the resource ('a worker assignment'), so an agent understands what operation this tool performs. It does not explicitly contrast itself with hcm_create_worker_assignment or hcm_update_worker, but the resource noun is specific enough to avoid gross confusion.
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 guidance on when to use this tool versus alternatives like hcm_create_worker_assignment or hcm_update_worker. The parenthetical about approval is process-oriented, not usage-oriented, and fails to state prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hcm_whoamiARead-only
Return local auth/config identity hints (no secrets). HCM RBAC still applies.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint=true annotation, the description adds real behavioral context: it promises no secrets are leaked and warns that HCM RBAC still applies, meaning output may be filtered or denied by authorization. It stops short of explaining what the response looks like or how RBAC denial surfaces, but for a zero-param identity probe this is solid.
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 the primary purpose front-loaded and the caveats in a compact second sentence. Every word earns its place; nothing is redundant or missing for a tool of this simplicity.
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 with no output schema, the description covers purpose and the key safety/authorization caveats. The main gap is that it never clarifies what the returned identity hints concretely contain (e.g., username, tenant, config endpoint), leaving the agent to guess at the response shape.
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; schema coverage is trivially 100% and there is nothing for the description to explain. No parameter documentation is needed or missing.
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 uses a specific verb ('Return') and a clear resource ('local auth/config identity hints'), and the parenthetical '(no secrets)' sharpens the scope. However, it doesn't distinguish itself from very similar-sounding siblings like hcm_rbac_hint or hcm_test_connection, which an agent could plausibly confuse with this 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?
No when-to-use guidance or alternative tools are mentioned. Given a long sibling list full of introspection-style tools (hcm_rbac_hint, hcm_test_connection, hcm_health, hcm_setup_status, hcm_probe_capabilities), the agent receives no help choosing among them.
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.
119 tool updates
v0.4.0- First observed
hcm_absence_balance - First observed
hcm_allocate_checklist - First observed
hcm_approve_write - First observed
hcm_atom_consume - First observed
hcm_atom_get_checkpoint - First observed
hcm_atom_poll - First observed
hcm_atom_reset_checkpoint - First observed
hcm_bulk_approve_notifications - First observed
hcm_bulk_bp_dry_run - First observed
hcm_bulk_deny_notifications - First observed
hcm_create_absence - First observed
hcm_create_aor - First observed
hcm_create_worker - First observed
hcm_create_worker_assignment - First observed
hcm_delete_absence - First observed
hcm_delete_aor - First observed
hcm_deny_write - First observed
hcm_describe_finder - First observed
hcm_describe_resource - First observed
hcm_detect_changes - First observed
hcm_dry_run_mutate - First observed
hcm_emit_mcp_config - First observed
hcm_explain_tool - First observed
hcm_export_config - First observed
hcm_find_locations - First observed
hcm_force_close_checklist - First observed
hcm_get_absence - First observed
hcm_get_absence_type_balance - First observed
hcm_get_aor - First observed
hcm_get_atom_entry - First observed
hcm_get_atom_feed - First observed
hcm_get_bank_account - First observed
hcm_get_benefit_enrollment - First observed
hcm_get_candidate - First observed
hcm_get_checklist - First observed
hcm_get_compensation - First observed
hcm_get_contact - First observed
hcm_get_goal - First observed
hcm_get_grade - First observed
hcm_get_job - First observed
hcm_get_learning_enrollment - First observed
hcm_get_location - First observed
hcm_get_national_identifier - First observed
hcm_get_notification - First observed
hcm_get_org_hierarchy - First observed
hcm_get_organization - First observed
hcm_get_payroll_relationship - First observed
hcm_get_payslip - First observed
hcm_get_performance_document - First observed
hcm_get_plan_balance - First observed
hcm_get_position - First observed
hcm_get_public_worker - First observed
hcm_get_requisition - First observed
hcm_get_schedule - First observed
hcm_get_talent_profile - First observed
hcm_get_time_record - First observed
hcm_get_work_relationship - First observed
hcm_get_worker - First observed
hcm_get_worker_assignments - First observed
hcm_health - First observed
hcm_list_atom_entries - First observed
hcm_list_atom_feeds - First observed
hcm_list_audit_trail - First observed
hcm_list_checklists - First observed
hcm_list_direct_reports - First observed
hcm_list_notifications - First observed
hcm_list_pending_approvals - First observed
hcm_list_resources - First observed
hcm_list_webhook_events - First observed
hcm_lov_find - First observed
hcm_lov_finder - First observed
hcm_perform_bp_action - First observed
hcm_probe_capabilities - First observed
hcm_rbac_hint - First observed
hcm_resolve_uniq_key - First observed
hcm_rest_get - First observed
hcm_rest_mutate - First observed
hcm_search_absence_plans - First observed
hcm_search_absence_types - First observed
hcm_search_absences - First observed
hcm_search_aor - First observed
hcm_search_bank_accounts - First observed
hcm_search_benefit_enrollments - First observed
hcm_search_calculation_cards - First observed
hcm_search_candidates - First observed
hcm_search_compensation - First observed
hcm_search_contacts - First observed
hcm_search_element_entries - First observed
hcm_search_emails - First observed
hcm_search_goals - First observed
hcm_search_grades - First observed
hcm_search_jobs - First observed
hcm_search_learning_enrollments - First observed
hcm_search_locations - First observed
hcm_search_national_identifiers - First observed
hcm_search_organizations - First observed
hcm_search_payment_methods - First observed
hcm_search_payroll_relationships - First observed
hcm_search_payslips - First observed
hcm_search_performance_documents - First observed
hcm_search_phones - First observed
hcm_search_positions - First observed
hcm_search_public_workers - First observed
hcm_search_requisitions - First observed
hcm_search_schedules - First observed
hcm_search_talent_profiles - First observed
hcm_search_time_records - First observed
hcm_search_workers - First observed
hcm_setup_status - First observed
hcm_start_webhook_receiver - First observed
hcm_submit_time_card - First observed
hcm_test_connection - First observed
hcm_update_absence - First observed
hcm_update_aor - First observed
hcm_update_talent_profile - First observed
hcm_update_task_status - First observed
hcm_update_worker - First observed
hcm_update_worker_assignment - First observed
hcm_whoami
TDQS
Scored across 119 tools
While most tools target a distinct resource+action, there are notable overlaps: hcm_health and hcm_test_connection are explicitly the same operation, and hcm_lov_finder/hcm_lov_find plus resource-specific searches blur boundaries. The massive set also includes multiple near-duplicate Atom and balance helpers that make selection error-prone.
All tools share the hcm_ prefix and most follow a consistent verb_noun pattern (search_*, get_*, create_*, update_*, delete_*, list_*). Minor deviations like hcm_health, hcm_lov_finder, hcm_atom_poll, and hcm_test_connection are in the minority and still readable.
119 tools is extreme over-scoping for a single MCP server, far beyond the 1-5 well-scoped range and into the 50+ territory. Even for a broad HCM domain, the surface is bloated with duplicate helpers, generic rest tunnels, and setup/probe tools that could be consolicated.
The tool surface is remarkably broad, covering workers, absences, talent, payroll, recruiting, benefits, organizations, time, notifications, webhooks, audit, and Atom change detection. Minor gaps exist (e.g., no worker delete, no update/delete for several read-only resources), but core HCM workflows are largely represented.
Maintenance
Related MCP Connectors
isolved and ApplicantPro jobs, tenant discovery, and change detection as an MCP server.
- StackOneOAuthcom.stackone
Give AI agents 30,000+ safe, token-optimized actions across Workday, SAP, Oracle + hundreds more.
Authenticated, user-scoped MCP connectors for 30+ business systems.
- OneOAuthai.withone
Search, document and execute authenticated API calls across 700+ apps via one MCP server
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables interaction with Insperity's REST API to access employee data, including employee lists, check details, and profile information for HR management tasks.-
- FlicenseNot gradedqualityDmaintenanceEnables employee information lookup, directory listing, payroll access, and time-off request management with Okta token validation.-
- AlicenseAqualityBmaintenanceAn MCP server that lets AI models interact with Oracle Fusion Cloud HCM across its entire REST surface. It uses generic, schema-aware tools to dynamically discover licensed modules and resources without per-endpoint code.6Apache 2.0
- FlicenseNot gradedqualityCmaintenanceEnables interaction with Oracle Fusion HCM via REST, SOAP, SQL, and BPM, supporting catalog search, operation execution, ESS processes, BI Publisher reports, security diagnostics, and workflow management.-