Skip to main content
Glama
rajuprasad-dev

Keka employee MCP

Keka employee MCP

Read your own Keka employee dashboard from any MCP client. It uses the signed-in session from your browser. It does not use admin API keys, and it does not see other employees.

The server speaks stdio, the transport Cursor, VS Code, Claude, Windsurf, Cline, Continue, Zed, Codex, Gemini CLI, and Goose all start the same way: one npx command. Node.js 20 or newer is the only install requirement.

Add to Cursor · Install in VS Code · Install in VS Code Insiders

Those links open Cursor or VS Code and ask you to add the Keka server. Your Keka login is not in the link. The first tool call asks you to paste one curl command, or you can put that command in the config as shown below.

Windsurf, Claude, Cline, Continue, Zed, Codex, and Gemini CLI do not provide an install link for a custom server. Use the config in that app's section. Each code block has a copy button.

Connect Keka

  1. Sign in at https://company.keka.com.

  2. Open DevTools (F12, or Cmd+Option+I on Mac).

  3. Open Network, enable Fetch/XHR, and refresh.

  4. Right-click a request whose path starts with /k/default/api/me/.

  5. Choose Copy, then Copy as cURL.

Paste that command when the client asks, or set it as KEKA_CURL. The company comes from the URL. The access token comes from the Authorization header. The cookie is kept when the command includes one.

document.cookie is not enough. Keka authorizes dashboard calls with the bearer token on that request.

The token stays on your machine. Do not commit it, and do not paste it into a public issue. It expires. When Keka rejects it, paste a fresh curl or update KEKA_CURL.

Clients that support MCP elicitation show a paste box on the first tool call and remember it in data/session.json next to the installed package. Every other client should set one of these environments:

Variable

Required

What to put

KEKA_CURL

One of these

The full curl command from the steps above.

KEKA_COMPANY

With KEKA_TOKEN

The label in https://company.keka.com.

KEKA_TOKEN

With KEKA_COMPANY

The value after Authorization: Bearer.

KEKA_COOKIE

No

The Cookie header from the same request.

KEKA_SUBDOMAIN is accepted as another name for KEKA_COMPANY. KEKA_BEARER is accepted as another name for KEKA_TOKEN.

Related MCP server: Company Management MCP Server

Cursor

Use the install link above, or add this to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "keka": {
      "command": "npx",
      "args": ["-y", "github:rajuprasad-dev/keka-mcp"]
    }
  }
}

To skip the paste prompt, add the curl in env:

{
  "mcpServers": {
    "keka": {
      "command": "npx",
      "args": ["-y", "github:rajuprasad-dev/keka-mcp"],
      "env": {
        "KEKA_CURL": "paste the curl command here"
      }
    }
  }
}

VS Code

Use the badge above. VS Code writes the server into your user or workspace MCP config. The same JSON as Cursor works in .vscode/mcp.json under a servers key:

{
  "servers": {
    "keka": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "github:rajuprasad-dev/keka-mcp"]
    }
  }
}

From a terminal:

code --add-mcp '{"name":"keka","command":"npx","args":["-y","github:rajuprasad-dev/keka-mcp"]}'

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json on macOS, or %APPDATA%\Claude\claude_desktop_config.json on Windows. Restart Claude after saving.

{
  "mcpServers": {
    "keka": {
      "command": "npx",
      "args": ["-y", "github:rajuprasad-dev/keka-mcp"],
      "env": {
        "KEKA_CURL": "paste the curl command here"
      }
    }
  }
}

On Windows, Claude often cannot spawn npx directly:

{
  "mcpServers": {
    "keka": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "github:rajuprasad-dev/keka-mcp"],
      "env": {
        "KEKA_CURL": "paste the curl command here"
      }
    }
  }
}

Claude Code

claude mcp add keka -- npx -y github:rajuprasad-dev/keka-mcp

With the curl stored in the client config:

claude mcp add keka -e KEKA_CURL='paste the curl command here' -- npx -y github:rajuprasad-dev/keka-mcp

Windsurf, Cline, and Continue

These use the same mcpServers object as Cursor.

  • Windsurf: ~/.codeium/windsurf/mcp_config.json

  • Cline: MCP settings in the extension

  • Continue: ~/.continue/config.yaml or the MCP block in config.json

{
  "mcpServers": {
    "keka": {
      "command": "npx",
      "args": ["-y", "github:rajuprasad-dev/keka-mcp"],
      "env": {
        "KEKA_CURL": "paste the curl command here"
      }
    }
  }
}

Zed

{
  "context_servers": {
    "keka": {
      "command": {
        "path": "npx",
        "args": ["-y", "github:rajuprasad-dev/keka-mcp"],
        "env": {
          "KEKA_CURL": "paste the curl command here"
        }
      }
    }
  }
}

Codex CLI

Add this to ~/.codex/config.toml:

[mcp_servers.keka]
command = "npx"
args = ["-y", "github:rajuprasad-dev/keka-mcp"]

[mcp_servers.keka.env]
KEKA_CURL = "paste the curl command here"

Gemini CLI

Add the Cursor mcpServers block to ~/.gemini/settings.json.

Goose

goose configure

Choose to add an extension command:

npx -y github:rajuprasad-dev/keka-mcp

Set KEKA_CURL in the extension environment.

What you can ask

These tools read the signed-in employee dashboard. A module your company has turned off returns Keka's own error for that call. Nothing here clocks you in, submits leave, or approves a request.

Tool

What it reads

get_profile_info

Profile header.

get_profile_completion

Whether the profile is complete.

get_id_card

ID card.

get_timeline

Timeline events.

get_preferences

Account preferences.

get_probation_policy

Probation policy.

get_exit_status

Resignation and exit details.

get_leave_balance

Remaining time off. Optional forDate (YYYY-MM-DD).

get_leave_requests

Leave requests on one date. Optional forDate.

get_leave_transactions

Leave transactions. Optional fromDate and toDate (YYYY-MM-DD). Defaults to 1 January of this year through today.

get_leave_stats

Leave stats on one date. Optional forDate.

get_holidays

Holiday list.

get_weekly_off_policy

Weekly off policy.

get_leave_plan_status

Whether a leave plan is assigned.

get_pending_leave_encashment

Pending leave encashment.

get_attendance_status

Today's punch, shift, and summaries. Optional fromDate and toDate.

get_attendance_calendar

Attendance calendar. Optional fromDate and toDate.

get_attendance_summary

Current attendance summary.

get_shift_details

Shift and weekly off.

get_shift_policy

Shift policy. Optional forDate (YYYY-MM-DD). Defaults to today.

get_last_week_attendance

Last week's stats.

get_attendance_requests

Regularization requests. Optional fromDate and toDate. Defaults to 1 January of this year through today.

get_adjustment_requests

Adjustment requests. Optional fromDate and toDate. Defaults to 1 January of this year through today.

get_partial_day_requests

Partial-day requests. Optional fromDate and toDate. Defaults to 1 January of this year through today.

get_remote_work_requests

Remote clock-in and work-from-home requests. Optional fromDate and toDate. Defaults to 1 January of this year through today.

get_attendance_policy

Capture scheme and tracking policy.

get_pending_attendance_count

Pending attendance request count. Optional fromDate and toDate. Defaults to 1 January of this year through today.

get_current_shifts

Current shift schedules.

get_expense_policy

Expense policy.

get_pending_expenses

Pending bills.

get_expense_claims

Pending and past claims. Optional fromDate and toDate for past claims. Defaults to 1 January of this year through today.

get_advance_requests

Pending and unclaimed advances.

get_timesheet_profile

Timesheet profile.

get_timesheets

Timesheet summary.

get_timesheets_due

Timesheets due.

get_rejected_timesheets

Rejected timesheets.

get_timesheet_policy

Timesheet policy.

get_my_assets

Assigned assets.

get_asset_requests

Asset requests.

get_payroll_preferences

Payroll preferences.

get_pending_approvals

Inbox items waiting on you.

get_feedback_settings

Feedback settings.

get_praise_badges

Praise badges.

Develop

git clone https://github.com/rajuprasad-dev/keka-mcp.git
cd keka-mcp
npm install
node index.js

Point your client at node and the absolute path of index.js while you are changing it. npx github:rajuprasad-dev/keka-mcp always runs the published main branch.

License

MIT

Available Tools

43 tools
get_adjustment_requestsC

Attendance adjustment requests for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault
toDateNoLast day, YYYY-MM-DD. Defaults to today on this machine.
fromDateNoFirst day, YYYY-MM-DD. Defaults to 1 January of this year.

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not state that results are read-only, whether they are paginated, whether all statuses are returned, or what the default date window yields, all of which are relevant for a list endpoint.

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

Conciseness4/5

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

A single short sentence with no filler. It is efficiently sized, though being a noun fragment rather than a full statement limits how well it leads the reader.

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

Completeness3/5

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

With no output schema and no annotations, the description is the only behavioral source, and it omits return shape, volume, and filtering behavior. The scope statement (signed-in employee) is a useful anchor, but coverage is only minimally adequate for a list tool with this many siblings.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters document their format and defaults, so the schema does the heavy lifting. The description adds nothing about the date window beyond what is already in the schema, making the baseline 3 appropriate.

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

Purpose3/5

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

The description names a specific resource (attendance adjustment requests) and scope (signed-in employee), which is better than a bare restatement of the name. However, there is no verb and no differentiation from near-identical siblings such as get_attendance_requests and get_partial_day_requests, leaving the agent to guess which request type applies.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of the sibling tools it overlaps with. The agent gets no signal for choosing between this and get_attendance_requests or get_partial_day_requests.

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

get_advance_requestsB

Pending and unclaimed advance requests for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It narrows the result set to pending/unclaimed items for the current user, which is useful, but says nothing about permissions, pagination, ordering, or what an empty result means. For a read tool with zero structured behavioral metadata, that leaves real gaps.

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

Conciseness4/5

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

A single tight sentence with the scoping constraints front-loaded and no wasted words. It is efficiently sized, though the missing verb makes it read as a fragment rather than a full definition.

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

Completeness3/5

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

For a zero-parameter, no-annotation, no-output-schema read tool, this is minimally viable: the agent knows what set it returns but not the item shape or volume. Given the tool's low complexity, the omission is tolerable but not complete.

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

Parameters4/5

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

The tool takes no parameters, so the schema has nothing to document and the baseline of 4 applies. The description correctly implies implicit scoping to the signed-in employee rather than exposing a filter parameter.

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

Purpose4/5

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

States the resource ('advance requests') and two scoping qualifiers ('pending and unclaimed', 'for the signed-in employee'), which distinguishes it from siblings like get_adjustment_requests and get_pending_approvals. It lacks an explicit verb ('List'/'Retrieve'), but the resource plus filters make the intent unambiguous.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance, no prerequisites, and does not name any alternative among the ~40 sibling getters. The agent must infer from the resource name alone that this is the tool for advance requests rather than, say, generic pending approvals.

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

get_asset_requestsC

Asset requests made by the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not confirm this is a read-only operation, nor does it disclose pagination, sorting, filtering, or result limits for what could be a large request history.

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

Conciseness4/5

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

A single tight sentence with no filler, and the scope constraint is front-loaded. It is appropriately sized, though extremely terse.

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

Completeness3/5

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

For a no-parameter list tool with no output schema, the description identifies the subject and scope but says nothing about what an asset request record contains or how results are ordered/limited. It is minimally adequate but has clear gaps an agent would want covered.

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

Parameters4/5

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

The tool takes zero parameters, so there are no parameter semantics to document. The description adds nothing beyond the empty schema, but baseline for a no-param tool is 4.

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

Purpose3/5

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

The description names the resource ('asset requests') and the scope ('made by the signed-in employee'), which is more than a tautology. However, it omits an explicit verb and does not distinguish this tool from sibling 'get_my_assets', leaving the agent to infer that this returns requests rather than owned assets.

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

Usage Guidelines2/5

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 'get_my_assets' or the other request-listing siblings. The scope is implied by the phrase 'signed-in employee', but no conditions, exclusions, or alternatives are stated.

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

get_attendance_calendarC

Attendance calendar for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault
toDateNoLast day, YYYY-MM-DD. Defaults to today on this machine.
fromDateNoFirst day, YYYY-MM-DD. Defaults to 6 days before toDate.

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about read-only safety, the default date window, or the shape of the returned calendar. 'Signed-in employee' is the only useful hint, implying no user identifier is needed.

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

Conciseness4/5

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

A single tight sentence with no filler, front-loaded on the resource. It is efficient, though efficiency here shades into under-specification rather than crispness.

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

Completeness2/5

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

With no annotations and no output schema, the description should explain the date-window behavior and what the calendar contains, but it stops at naming the resource. It is not sufficient for an agent to call and interpret this tool confidently.

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

Parameters3/5

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

Schema coverage is 100% and both date parameters already document their formats and defaults, so the description adds nothing. Baseline 3 applies when the schema does the heavy lifting.

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

Purpose3/5

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

Names a specific resource (attendance calendar) scoped to the signed-in employee, so the agent knows what it fetches. However, it does not distinguish this from close siblings like get_attendance_summary, get_last_week_attendance, or get_attendance_status, leaving the agent to guess which calendar-like view is intended.

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

Usage Guidelines2/5

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

There is no when-to-use, when-not-to-use, or alternative routing. Among ~40 attendance/leave siblings, an agent gets no signal about when a calendar view beats a summary or status call.

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

get_attendance_policyC

Attendance capture scheme and tracking policy for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It implies a read-only policy fetch scoped to the signed-in employee but never states that no input is required, what the policy governs, or whether results are static versus per-period. For a tool with zero annotation coverage, this is a real gap.

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

Conciseness4/5

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

A single, front-loaded sentence with no filler or redundancy. It is efficient, though the brevity borders on under-specification rather than true conciseness.

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

Completeness3/5

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

With no annotations, no output schema, and no parameters, the description is the only context available and it says little about what the returned policy contains (capture modes, grace periods, tracking rules). It is minimally viable for a simple getter but leaves the agent guessing at the payload's scope.

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

Parameters4/5

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

The tool takes no parameters, so there are no parameter semantics to explain; the baseline for zero-param tools applies. The description's mention of the 'signed-in employee' correctly signals that no identity argument is needed.

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

Purpose3/5

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

The description identifies the resource (attendance capture scheme and tracking policy) but is a bare noun phrase with no verb, so the action is only inferred from the 'get_' name. It does not differentiate from the many sibling policy fetchers (get_shift_policy, get_timesheet_policy, get_weekly_off_policy, get_probation_policy), leaving the agent to guess which policy applies to which domain.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to call this tool or how it relates to siblings like get_attendance_status or get_shift_policy. The only usage signal is the implicit 'signed-in employee' scoping, which is not framed as a condition or alternative.

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

get_attendance_requestsB

Attendance regularization requests for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault
toDateNoLast day, YYYY-MM-DD. Defaults to today on this machine.
fromDateNoFirst day, YYYY-MM-DD. Defaults to 1 January of this year.

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, but it only discloses the signed-in employee scoping. It does not state that the operation is read-only, mention authentication requirements, pagination, or whether results are filtered by approval status, which would be helpful for a requests-listing tool.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with zero wasted words. It immediately conveys the resource and scope, which is efficient for a simple read tool.

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

Completeness3/5

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

Given the tool's low complexity, 2 optional date parameters with full schema coverage, and no output schema, the description is minimally adequate. It does not explain return format, ordering, or pagination behavior, but those gaps are partially offset by the well-documented schema.

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

Parameters3/5

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

Schema description coverage is 100%, and each parameter has a clear description with format and default. The tool description adds no parameter-specific meaning beyond what the schema already provides, so a baseline 3 is appropriate.

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

Purpose4/5

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

The description identifies the specific resource (attendance regularization requests) and the scope (signed-in employee), which distinguishes it from many sibling tools like get_leave_requests or get_adjustment_requests. However, it lacks an explicit verb such as 'list' or 'retrieve' and does not name a sibling, so it is clear but not maximally differentiated.

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

Usage Guidelines2/5

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, nor any exclusions or prerequisites. The description only states what the tool returns, leaving the agent to infer usage 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.

get_attendance_statusC

Today's punch, current shift clock-in, and attendance summaries for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault
toDateNoLast day, YYYY-MM-DD. Defaults to today on this machine.
fromDateNoFirst day, YYYY-MM-DD. Defaults to 6 days before toDate.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a read-only status lookup via 'get' but discloses nothing about permissions, response shape, or how the default date window behaves. For a zero-annotation tool this is a significant gap.

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

Conciseness4/5

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

One compact sentence with the three returned data categories front-loaded and no filler. It could arguably use one more clause, but the efficiency is appropriate.

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

Completeness3/5

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

With no output schema and no annotations, the description should ideally explain the return structure and date-window behavior more fully. Listing the three data categories (punch, clock-in, summaries) partially compensates, but an agent still cannot predict the response or default range behavior.

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

Parameters3/5

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

Schema description coverage is 100%, so the two date parameters are fully documented in the schema and the baseline is 3. The description adds no date-range semantics of its own and its 'Today's punch' phrasing arguably under-represents the fromDate/toDate range the schema exposes.

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

Purpose4/5

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

States a specific verb (get) and enumerates three concrete resources: today's punch, current shift clock-in, and attendance summaries, all scoped to the signed-in employee. It is clear but does not explicitly differentiate itself from overlapping siblings such as get_attendance_summary, get_last_week_attendance, or get_current_shifts.

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

Usage Guidelines2/5

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 guidance, and no alternatives are named despite several attendance siblings (get_attendance_summary, get_current_shifts, get_attendance_calendar) that an agent could confuse it with. Usage is only implied by the tool name and the 'signed-in employee' scoping.

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

get_attendance_summaryC

Current attendance summary for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. "Get" implies a read, but nothing is said about auth requirements, what the summary contains (counts, hours, status), or whether it reflects a fixed window — the only behavioral hint is the self-scoping phrase "signed-in employee."

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

Conciseness4/5

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

A single front-loaded sentence with no filler — appropriately sized for a zero-param read tool. It is terse rather than padded, though the terseness edges into under-specification.

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

Completeness2/5

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

With no annotations and no output schema, the description is the only source of information, yet it never says what the "summary" actually returns. For a tool whose output an agent must interpret, that omission leaves a real gap.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to clarify beyond what the empty schema already shows. Baseline 4 applies.

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

Purpose3/5

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

The description names the resource (attendance) and the scope (current, signed-in employee), so the agent knows it returns today's attendance picture for the caller. However, "summary" is vague about content, and it makes no attempt to distinguish itself from close siblings like get_attendance_status, get_attendance_calendar, or get_last_week_attendance.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no exclusions, and no routing to alternatives. With five attendance-related siblings in the toolset, the agent is left to guess whether this or get_attendance_status is the right call.

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

get_current_shiftsB

Current shift schedules for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read-only retrieval but says nothing about authentication requirements, rate limits, return format, or whether results are paginated.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler words. Every word earns its place for such a simple retrieval tool.

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

Completeness3/5

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

For a no-param read tool, the description gives a basic but complete-sounding answer about what is returned. However, it lacks specifics on time range (e.g., today vs. the current week) and output structure, which matters since there is no output schema.

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

Parameters4/5

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

The tool takes zero parameters, so there are no parameter semantics to explain. The baseline score of 4 is appropriate for a parameterless tool.

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

Purpose4/5

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

The description states a clear resource (current shift schedules) and scope (for the signed-in employee), so the agent knows exactly what data it returns. However, it does not explicitly distinguish this tool from siblings like get_shift_details or get_shift_policy.

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

Usage Guidelines2/5

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

The description only states what the tool returns, offering no guidance on when to use it versus alternatives such as get_shift_details or get_shift_policy. There are no exclusions or context-setting sentences.

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

get_exit_statusA

Signed-in employee's resignation and exit details, when the module is enabled.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose the notable behavioral trait that the result is conditional on a module being enabled, which is genuinely useful context. What's missing is whether this is a read-only lookup (implied), what happens when disabled, and what the payload contains.

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

Conciseness5/5

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

A single front-loaded sentence with no filler. The scope (signed-in employee) and the precondition (module enabled) are both packed in without wasting words.

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

Completeness3/5

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

For a zero-parameter read with no output schema and no annotations, the description covers what it returns at a high level and flags the module gate. It still leaves the agent guessing about failure behavior when the module is off and about the shape of the returned details.

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

Parameters4/5

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

The tool takes zero parameters, so there is no parameter semantics to explain — the baseline of 4 applies. The description correctly implies the subject is resolved from the signed-in user rather than passed in.

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

Purpose4/5

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

States a specific resource (resignation and exit details) scoped to the signed-in employee, which is a clear verb-less but unambiguous read. It is distinguishable from siblings, none of which cover exit/resignation data. It stops short of a crisp verb+resource phrasing, but the intent is unmistakable.

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

Usage Guidelines3/5

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

"When the module is enabled" is a real availability precondition, which is more than nothing. However, it gives no guidance on when an agent should call this versus other profile/status siblings, and no indication of what to do if the module is disabled (error vs empty). Usage is only implied.

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

get_expense_claimsC

Pending and past expense claims for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault
toDateNoLast day, YYYY-MM-DD. Defaults to today on this machine.
fromDateNoFirst day, YYYY-MM-DD. Defaults to 1 January of this year.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and mostly does not: it does not state that this is a read-only operation, whether results are paginated or ordered, or how the date defaults apply. Only the subject scope (signed-in employee, pending + past) is disclosed.

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

Conciseness4/5

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

A single front-loaded sentence fragment with zero padding. It is efficient, though being a fragment rather than a verb-led statement slightly weakens it.

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

Completeness2/5

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

No annotations and no output schema mean the description must explain behavior and return expectations, and it does neither. For a query tool with two optional date filters, an agent still lacks guidance on result shape, ordering, and how this differs from get_pending_expenses.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters (fromDate, toDate) are fully documented in the schema with format and defaults, so the description adds nothing on parameters. Baseline 3 is appropriate.

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

Purpose4/5

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

The description identifies the resource (expense claims) and scope (pending and past, for the signed-in employee), which lets an agent distinguish it from get_pending_expenses. It omits an explicit verb, but the tool name supplies 'get' and the scope details add real information.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of alternatives, even though siblings like get_pending_expenses and get_expense_policy clearly overlap. The agent must infer that this is the broad date-ranged claim query versus the pending-only one.

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

get_expense_policyB

Expense policy for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries full behavioral burden. It discloses the data scope (signed-in employee), implying auth-context usage, but says nothing about read-only safety, return format, pagination, or 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.

Conciseness4/5

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

A single, front-loaded phrase with no waste. It is appropriately sized for a zero-parameter tool, though it is arguably too terse to be fully self-contained.

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

Completeness3/5

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

For a simple zero-parameter read tool, the description identifies the resource and scope. However, with no annotations or output schema, it does not describe the return shape or confirm read-only nature, leaving minor gaps.

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

Parameters4/5

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

Zero parameters, so baseline is 4. The description adds no parameter meaning because none exist; the empty schema already communicates all invocation requirements.

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

Purpose4/5

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

The description names a specific resource (expense policy) and scope (signed-in employee), making its purpose clear. It does not explicitly differentiate from sibling policy getters like get_timesheet_policy, but the resource noun does the distinguishing.

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

Usage Guidelines2/5

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

No when-to-use guidance, prerequisites, or alternatives are provided. The phrase 'for the signed-in employee' implies context but does not tell an agent when to choose this over get_expense_claims or other policy tools.

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

get_feedback_settingsC

Feedback settings visible to the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It does disclose one useful trait – results are scoped to the signed-in employee, not a passed-in user – but says nothing about permissions, whether settings are read-only, or what a caller should expect.

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

Conciseness4/5

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

A single compact sentence with no filler, though it is arguably under-specified rather than lean. The scoping clause is the only substantive information and it is front-loaded.

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

Completeness3/5

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

For a zero-parameter tool with no output schema and no annotations, the definition should at least characterize what 'feedback settings' contains or when the data is relevant. It states the audience but not the payload, leaving a real gap for an agent deciding whether this tool answers its question.

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

Parameters4/5

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

The input schema defines zero parameters, so the baseline is 4. There is nothing parameter-wise for the description to compensate for.

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

Purpose3/5

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

The description names a resource (feedback settings) and a scope (signed-in employee), implying a read operation, but 'feedback settings' is never defined and the phrase could be parsed as a statement rather than an action. No sibling tool covers feedback, so differentiation is not the issue; the vagueness of the resource is.

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

Usage Guidelines2/5

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

There is no guidance on when to call this tool, what triggers it, or how it relates to siblings like get_preferences or get_timesheets_profile. The agent must infer the use case 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.

get_holidaysB

Holiday list from the signed-in employee's leave plan.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden. It implies a read-only operation scoped to the signed-in employee, but gives no detail on permissions, response format, pagination, or any other behavioral trait.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no wasted words. It is appropriately sized for a zero-parameter tool, though it remains quite sparse.

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

Completeness3/5

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

For a simple getter with no parameters and no output schema, the description states the core resource but does not explain what a 'holiday list' actually contains or when the tool is relevant. It is minimally adequate but leaves a gap.

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

Parameters4/5

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

There are zero parameters, so the baseline is 4. The description does not need to document any parameter semantics.

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

Purpose4/5

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

The description clearly states the resource ('holiday list') and its source ('the signed-in employee's leave plan'), letting an agent know exactly what data it returns. It does not, however, explicitly distinguish itself from other leave-related siblings like get_leave_plan_status.

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

Usage Guidelines2/5

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, nor any conditions or exclusions. The agent is left to infer 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.

get_id_cardB

Signed-in employee's ID card details.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description must carry the full behavioral burden. It does establish that the data is scoped to the authenticated caller ('signed-in employee's') and implies a read-only lookup, but it says nothing about authentication expectations, error behavior, or whether the ID card includes sensitive fields such as government identifiers.

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

Conciseness4/5

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

The description is a single front-loaded phrase with no wasted words. It is appropriately sized for a simple zero-parameter read tool, though it is arguably terse to the point of under-specification.

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

Completeness3/5

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

For a low-complexity, zero-parameter tool with no output schema, the description is adequate but thin. Because no output schema exists, the description could reasonably say more about what 'ID card details' contains, rather than leaving the agent to infer the returned fields.

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

Parameters4/5

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

The tool takes zero parameters, and the schema is empty with 100% coverage. Per the rubric, a zero-parameter tool has a baseline of 4; there are no parameters whose meaning the description could add to.

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

Purpose4/5

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

The description names the resource (ID card details) and the scope (signed-in employee), so the agent knows it returns the caller's own ID card information. However, it does not differentiate this tool from adjacent siblings such as get_profile_info or get_my_assets, which could plausibly return overlapping identity data.

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

Usage Guidelines2/5

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

No guidance is given on when to choose this tool over siblings that also expose employee identity or profile information. The phrase 'signed-in employee's' implies it is the self-scoped variant, but no explicit when-to-use or when-not-to-use condition is stated.

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

get_last_week_attendanceB

Last week's attendance stats for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, and it supplies almost none: it never confirms this is a read-only operation, does not say which week boundary or timezone applies, and does not hint at the shape or size of the returned stats. 'Stats' is left undefined, so an agent must guess what comes back.

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

Conciseness4/5

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

A single short sentence with no filler, and the distinguishing scope ('last week') is stated up front. It is arguably too terse rather than verbose, but nothing is wasted.

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

Completeness3/5

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

For a no-parameter read tool with no output schema, the description is minimally viable but leaves open what the stats contain and how the week is defined. An agent can call it safely, but cannot reason about the result.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4; the description correctly signals that the target is fixed to the signed-in employee with no arguments to supply. Nothing further is needed on this dimension.

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

Purpose4/5

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

Names a concrete resource (attendance stats) with a clear scope (last week) and an implicit subject (signed-in employee), which separates it from broader siblings like get_attendance_summary or get_attendance_calendar. The verb is only implicit ('get' from the name), and the description never explicitly contrasts itself with those siblings.

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

Usage Guidelines2/5

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

There is no statement of when to pick this over the many other attendance tools (get_attendance_status, get_attendance_summary, get_attendance_calendar). The weekly scope is inferable from the name only; no conditions, 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.

get_leave_balanceC

Remaining time-off summary for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault
forDateNoCalendar date in YYYY-MM-DD. Defaults to today on this machine.

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, and it discloses almost nothing: no confirmation that it is a read-only operation, no mention of auth/session requirements, no indication of whether the balance is broken down per leave type or accrued vs. available. For a tool with zero structured safety metadata, this is a significant gap.

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

Conciseness4/5

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

A single short sentence with no waste, front-loading the resource and scope. It is arguably under-specified rather than over-long, but on structure and economy it is efficient.

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

Completeness3/5

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

For a simple one-parameter read tool with no output schema and no annotations, the description is minimally adequate. It leaves open what the 'summary' contains and in what granularity, which is the main missing piece for an agent deciding between this and get_leave_stats.

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

Parameters3/5

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

Schema description coverage is 100% and there is a single optional 'forDate' parameter fully documented in the schema. The description adds no syntax or default behavior beyond that, so the baseline 3 applies.

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

Purpose3/5

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

The description states the resource (time-off balance) and scope (signed-in employee), telling an agent this returns remaining leave rather than requests or transactions. However, it is a noun phrase that largely restates the tool name, and it doesn't distinguish itself from close siblings such as get_leave_stats or get_leave_plan_status.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus the many leave-related siblings (get_leave_stats, get_leave_requests, get_leave_plan_status, get_pending_leave_encashment). The only implicit guidance is that it is scoped to the signed-in employee, leaving the agent to infer the use case.

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

get_leave_plan_statusB

Whether a leave plan is assigned to the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries full behavioral burden, and it does disclose one useful trait: the query is scoped to the signed-in employee. However, it never states the return shape (boolean? status string?), what happens when no plan exists, or any auth/permission requirement, leaving meaningful gaps for a no-annotation tool.

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

Conciseness4/5

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

A single short sentence with no filler, and the key qualifier (signed-in employee) is front-loaded. It is slightly under-specified rather than padded, so it stays efficient.

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

Completeness4/5

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

For a zero-parameter, single-value status query with no output schema, the description covers the essential scope. Only minor gaps remain: the expected return type and behavior when no leave plan is assigned.

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

Parameters4/5

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

The tool takes zero parameters, so the schema has nothing for the description to elaborate on. Per the baseline rule for parameterless tools, 4 is appropriate; there is no parameter semantics gap.

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

Purpose4/5

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

The description names a concrete resource (leave plan assignment) and its scope: the signed-in employee. It is distinguishable from siblings like get_leave_balance or get_leave_requests, though it reads as a noun clause rather than a verb+resource statement, so the action verb is implied rather than stated.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of alternatives among the many leave-related siblings, and no stated prerequisites. An agent must infer when this boolean status check is appropriate versus get_leave_balance or get_leave_requests.

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

get_leave_requestsC

Leave requests for the signed-in employee on one date.

ParametersJSON Schema
NameRequiredDescriptionDefault
forDateNoCalendar date in YYYY-MM-DD. Defaults to today on this machine.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a read operation and scopes results to the signed-in employee, but does not state permission requirements, whether it returns all/pending/approved requests, pagination behavior, or any side effects.

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

Conciseness5/5

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

A single, front-loaded sentence with zero waste. It directly states the resource, scope, and date filter without any filler.

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

Completeness2/5

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

With no annotations and no output schema, the description is too sparse for an agent to call the tool confidently. It does not explain what a leave request record contains, whether results are filtered by status, or how it relates to similar sibling tools.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents the forDate parameter (format, default). The description adds no parameter semantics beyond what the schema already provides, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific resource ('Leave requests'), scope ('signed-in employee'), and filter ('on one date'). It distinguishes from other leave tools (balance, transactions, stats) by focusing on requests. However, it uses a noun phrase rather than an explicit verb and does not name or contrast with siblings.

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

Usage Guidelines2/5

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

Provides no when-to-use guidance, alternatives, or exclusions. The sibling list contains many similar request-retrieval tools (e.g., get_adjustment_requests, get_partial_day_requests) but the description offers no help in choosing among them.

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

get_leave_statsB

Leave stats for the signed-in employee on one date.

ParametersJSON Schema
NameRequiredDescriptionDefault
forDateNoCalendar date in YYYY-MM-DD. Defaults to today on this machine.

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does disclose two behavioral constraints – results are scoped to the authenticated employee and to one date – which implies a safe, read-only, non-mutating call. But it says nothing about what the 'stats' contain or whether any permissions are required beyond being signed in.

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

Conciseness5/5

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

A single tight sentence with the resource and both scope constraints front-loaded. Nothing is wasted and nothing is buried.

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

Completeness3/5

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

For a one-parameter, no-output-schema tool the description covers scope adequately, but with no output schema the meaning of 'leave stats' is never grounded – an agent cannot tell what fields come back. Minimal but serviceable.

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

Parameters3/5

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

Schema coverage is 100%, and the schema already documents the YYYY-MM-DD format and the 'defaults to today' behavior. The description reinforces the single-date semantics ('on one date') but adds no syntax or format detail beyond the schema, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific resource (leave stats) and narrows the scope to the signed-in employee and a single date. It does not, however, distinguish itself from close siblings like get_leave_balance, get_leave_plan_status, or get_leave_requests, and 'stats' remains an abstract noun an agent must interpret.

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

Usage Guidelines2/5

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

No when-to-use guidance, no exclusions, and no mention of the many sibling leave tools. The agent must infer from the name alone when this is preferable to get_leave_balance or get_leave_transactions.

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

get_leave_transactionsC

Leave transactions for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault
toDateNoLast day, YYYY-MM-DD. Defaults to today on this machine.
fromDateNoFirst day, YYYY-MM-DD. Defaults to 1 January of this year.

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden, and it discloses almost nothing. Read-only intent is only implied by the 'get_' prefix; there is no mention of default date behavior, result ordering, pagination, or what a transaction record contains. Defaults for fromDate/toDate live only in the schema.

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

Conciseness3/5

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

It is a single short sentence with no padding, which is efficient, but the brevity comes from under-specification rather than disciplined editing. It reads as an incomplete fragment rather than a front-loaded statement of purpose.

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

Completeness2/5

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

For a simple two-optional-parameter read tool with no output schema and no annotations, the description should at minimum explain what a leave transaction is and how it differs from adjacent leave tools. As written, an agent cannot confidently decide between this and get_leave_requests or get_leave_balance.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters are optional, with the schema already documenting the YYYY-MM-DD format and the default values. The description adds nothing beyond that, so the baseline of 3 applies.

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

Purpose3/5

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

The fragment names the resource (leave transactions) and scopes it to the signed-in employee, which loosely separates it from org-wide siblings. But it is a noun phrase with no verb, and it never clarifies what a 'transaction' is versus the sibling concepts get_leave_requests, get_leave_balance, and get_leave_stats. An agent can guess the topic but not the exact payload.

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

Usage Guidelines2/5

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

There is no when-to-use guidance at all. With close siblings like get_leave_requests, get_leave_balance, and get_leave_stats in the toolset, the definition gives no condition, exclusion, or alternative to route between them.

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

get_my_assetsC

Assets assigned to the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implicitly scopes results to the signed-in employee with no parameters, but never states that this is a read-only operation, whether pagination applies, or what the returned asset records contain.

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

Conciseness4/5

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

A single short fragment with no wasted words and the scoping constraint front-loaded. It is efficient, though it reads as an abbreviated fragment rather than a deliberate, complete statement.

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

Completeness3/5

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

For a zero-parameter read tool with no output schema, this is the minimum viable description. An agent can call it, but it lacks any statement of read-only safety, return shape, or relationship to sibling asset tools.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate. The baseline for a parameterless tool applies, and the implicit 'signed-in employee' scoping is consistent with the empty schema.

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

Purpose3/5

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

The description identifies the resource (assets) and scopes it to the signed-in employee, which separates it from the sibling get_asset_requests. However, it is a bare noun phrase with no verb, so it never explicitly says whether this lists, counts, or retrieves asset records.

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

Usage Guidelines2/5

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, no mention of prerequisites, and no reference to the closely related get_asset_requests sibling. The agent must infer the distinction between assigned assets and asset requests.

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

get_partial_day_requestsC

Partial-day requests for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault
toDateNoLast day, YYYY-MM-DD. Defaults to today on this machine.
fromDateNoFirst day, YYYY-MM-DD. Defaults to 1 January of this year.

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it discloses almost nothing: no statement of read-only-ness, no explanation of how the date defaults interact with results, no indication of whether it returns approvals, pending items, or history, and no output shape. Only the implicit 'get' prefix hints at a read operation.

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

Conciseness3/5

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

It is a single short sentence with zero padding, which is structurally clean. But the brevity reflects under-specification rather than disciplined conciseness, so it lands at minimum viable.

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

Completeness2/5

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

For a tool with no annotations and no output schema, the description should at least say what a partial-day request contains or what the caller gets back. Neither the return content nor any behavioral constraint is covered, leaving the definition thin for its complexity level.

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

Parameters3/5

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

Schema description coverage is 100%, with both fromDate and toDate fully documented including their default values, so the schema does the heavy lifting. The description adds no parameter semantics of its own, which is the expected baseline when coverage is this high.

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

Purpose3/5

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

The description identifies the resource ('partial-day requests') and its scope ('the signed-in employee'), which adds a small amount of information beyond the tool name. However, it is a bare noun phrase with no verb, and it does nothing to distinguish this from the many sibling request-list tools (get_leave_requests, get_attendance_requests, get_adjustment_requests) or explain what a 'partial-day request' actually is.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternative tools for related request types despite a large sibling set of analogous retrieval tools. The agent must 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.

get_payroll_preferencesC

Payroll preferences for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. It implies a read (from the name) and that results are scoped to the caller, but says nothing about return shape, default/fallback behavior, or permissions.

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

Conciseness3/5

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

At six words it is admirably short with no wasted clauses, but the brevity comes from omission rather than tight writing, and it is a sentence fragment rather than a front-loaded statement of action.

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

Completeness2/5

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

The tool is structurally simple (0 params) but has no output schema and no annotations, so the description is the only source of information an agent has. It never says what the payroll preferences contain or what is returned when none are configured, leaving the definition thin for even a simple read.

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

Parameters4/5

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

The schema takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a 0-param tool is 4. The description does at least confirm the implicit scoping (signed-in employee), consistent with an empty input schema.

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

Purpose2/5

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

The text is essentially the tool name expanded into a noun phrase: 'Payroll preferences' restates 'get_payroll_preferences' with no verb describing what the tool actually does. The only added information is the scope qualifier 'for the signed-in employee', which does not distinguish it from siblings like get_preferences or get_timesheet_profile.

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

Usage Guidelines2/5

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

There is no statement of when to call this tool, when not to, or which sibling to prefer for related preference/profile data. The agent must infer usage entirely from the name in a list of ~40 similarly named get_* tools.

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

get_pending_approvalsB

Count of inbox items waiting on the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does disclose the scoping behavior (count is for the signed-in employee), which is useful, but says nothing about what is aggregated, freshness, or whether it is a live read.

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

Conciseness4/5

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

A single short, front-loaded sentence with no filler. It is a fragment rather than a full sentence, but every word carries information and nothing is wasted.

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

Completeness3/5

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

For a zero-parameter read-only count with no output schema, the description is nearly complete, but the key ambiguity — what "inbox items" actually counts relative to the many category-specific pending tools — is left unresolved, which matters for correct tool selection.

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

Parameters4/5

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

The schema has zero parameters, so there is no parameter semantics for the description to add; the baseline of 4 applies. Nothing in the text misrepresents the parameter surface.

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

Purpose3/5

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

The description states it returns a count of pending items scoped to the signed-in employee, which is a clear resource+output shape. However, "inbox items" is vague against a sibling set full of specific pending counts (get_pending_attendance_count, get_pending_expenses, get_pending_leave_encashment), and the description gives no hint of what categories it aggregates.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of alternatives. An agent cannot tell from the text whether this is a superset over the category-specific pending tools or a separate inbox concept, so selection among siblings is 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.

get_pending_attendance_countB

Count of the signed-in employee's pending attendance requests.

ParametersJSON Schema
NameRequiredDescriptionDefault
toDateNoLast day, YYYY-MM-DD. Defaults to today on this machine.
fromDateNoFirst day, YYYY-MM-DD. Defaults to 1 January of this year.

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a read-only count scoped to the signed-in employee, but it does not state auth requirements, what counts as 'pending', or whether the date filters change the count semantics.

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

Conciseness5/5

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

A single front-loaded sentence fragment with no wasted words. It immediately identifies the returned value and its scope.

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

Completeness4/5

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

For a low-complexity count tool with no required parameters and fully documented optional date filters, the description is mostly complete. It implies the return type via 'Count', though it still lacks usage context relative to its many sibling tools.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds no parameter meaning beyond what the schema already documents for the optional fromDate and toDate fields.

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

Purpose4/5

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

States a specific resource and scope: pending attendance requests for the signed-in employee, and signals that it returns a count. It does not distinguish itself from sibling tools like get_attendance_requests or get_pending_approvals, so the agent must infer when an aggregate count is preferred over a request list.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance, prerequisites, or named alternatives. The description implies a summary/dashboard use case but does not say to call this instead of get_attendance_requests or get_pending_approvals when only a number is needed.

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

get_pending_expensesB

Pending expense bills for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden but provides only a minimal scope statement. It does not disclose authentication requirements, return format, pagination, or any other operational behavior beyond the fact that it targets the signed-in employee.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It immediately conveys the resource and its scope.

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

Completeness3/5

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

Given the low complexity (no parameters, no output schema), the description is minimally adequate: it tells the agent what the tool returns and for whom. However, it omits any mention of what 'pending' entails (e.g., status filter), return fields, or ordering, which could matter for correct invocation and interpretation.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline score of 4 applies. The description adds no parameter information, but none is needed given the empty schema.

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

Purpose4/5

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

The description identifies the resource ('pending expense bills') and scope ('for the signed-in employee'), which distinguishes it from siblings like get_expense_claims or get_expense_policy. However, it lacks an explicit verb and does not state the retrieval action, so it is slightly less clear than a full verb+resource phrase.

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

Usage Guidelines2/5

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 get_expense_claims or get_pending_approvals. The description only states what it returns, leaving the agent to infer the appropriate context 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.

get_pending_leave_encashmentA

Pending leave encashment requests for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose one behavioral trait: results are limited to the signed-in employee (implicit auth scope). Beyond that it says nothing about whether this is read-only, ordering, pagination, or handling of an empty pending set.

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

Conciseness5/5

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

One short sentence with zero filler, and the resource is front-loaded before the scope qualifier. Nothing could be trimmed without losing meaning.

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

Completeness4/5

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

For a simple parameterless read with no output schema, the description adequately conveys what comes back and whom it covers. It is thin on return shape and ordering, but the tool's low complexity makes those omissions minor.

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

Parameters4/5

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

The tool takes zero parameters, so per the baseline there is nothing for the description to disambiguate. The schema is fully self-describing for a parameterless call.

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

Purpose4/5

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

Names a specific resource (pending leave encashment requests) and scopes it to the signed-in employee, which distinguishes it from the broader get_leave_requests and get_leave_transactions siblings. The phrase is a noun fragment with no explicit verb, but 'get' is implied by the name and the intent is unambiguous.

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

Usage Guidelines2/5

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

No when-to-use guidance, no conditions, and no pointer to alternatives such as get_leave_requests or get_leave_transactions for non-encashment leave data. The agent must infer the trigger entirely from the resource name.

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

get_praise_badgesC

Praise badges available to the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It implies an authenticated, parameterless read scoped to the current user, but never states that it is read-only, describes the return shape, or notes any constraints. The one useful hint (implicit signed-in user scoping) is thin.

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

Conciseness4/5

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

One short sentence with no padding or redundant clauses. It is front-loaded and wastes nothing, though it is also so terse that it borders on under-specification rather than genuine conciseness.

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

Completeness2/5

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

For a zero-parameter, no-output-schema tool, the description should at least clarify the meaning of the returned badges. It does not, so an agent cannot tell what a 'praise badge' entry represents or why it would call this endpoint.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4. The description's 'signed-in employee' phrasing usefully confirms that no user identifier is required, which is a small positive over an empty schema.

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

Purpose3/5

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

The description identifies the resource (praise badges) and scopes it to the signed-in employee, but it is a bare noun phrase with no verb and leaves the core ambiguity unresolved: whether these are badges the employee has earned or badges available to give to others. It is largely a restatement of the tool name rather than a statement of what the call does.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of alternatives, and no stated context beyond 'signed-in employee'. A caller gets no help deciding when this tool is appropriate relative to the many other employee-data getters in the sibling list.

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

get_preferencesC

Signed-in employee's Keka preferences.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.4/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure, and it delivers none: no indication of what preference categories are returned, whether it is a safe read, auth requirements, or response shape.

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

Conciseness3/5

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

It is a single short fragment with no wasted words, but it is under-specified rather than genuinely concise – there is only one front-loaded clause and no supporting detail.

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

Completeness2/5

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

For a no-param read tool with no output schema, the description still leaves the agent unsure what 'preferences' actually covers (attendance, leave, notifications?) and provides no safety or return context to compensate for the absence of annotations.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to clarify; the baseline of 4 applies. No parameter semantics are needed or missing.

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

Purpose3/5

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

The description names the resource ('Keka preferences') and scopes it to the signed-in employee, but it is a noun fragment with no verb and does not distinguish this tool from close siblings like get_payroll_preferences or get_feedback_settings, which are also 'preferences'.

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

Usage Guidelines2/5

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

There is no statement of when to call this tool, what it is for in a workflow, or how it differs from the many other preference/settings getters in the sibling list. Usage can only be inferred from the name.

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

get_probation_policyB

Signed-in employee's probation policy.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden, and it discloses only that the result is scoped to the signed-in employee (no user parameter). It says nothing about read-only semantics, error behavior when the employee has no probation record, or what the policy payload contains.

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

Conciseness4/5

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

It is a single short, front-loaded fragment with no filler, which is appropriate for a trivial getter. It is terse to the point of being a sentence fragment rather than a sentence, but nothing is wasted.

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

Completeness3/5

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

For a no-parameter, no-output-schema getter the description is minimally sufficient: an agent knows it retrieves the caller's probation policy. It does not describe the returned fields or edge cases (no probation set), leaving some uncertainty about what to expect.

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

Parameters4/5

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

The tool takes zero parameters and schema coverage is 100%, so there is nothing for the description to clarify. Baseline 4 applies for a parameterless tool.

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

Purpose4/5

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

It names a specific resource (probation policy) scoped to the signed-in employee, which distinguishes it from siblings like get_leave_balance or get_attendance_policy. The verb is only implied by the tool name, but the resource and scope are unambiguous.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus alternatives, nor any prerequisite or exclusion. Given a sibling set with many near-identical policy tools, an explicit routing hint (e.g. vs. get_attendance_policy) would have been valuable, and none is present.

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

get_profile_completionB

Whether the signed-in employee has completed their profile.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses scope ('signed-in employee', implying no user-id argument), but does not say whether the result is a boolean, a percentage, or a list of missing fields, nor whether it is a read-only query.

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

Conciseness4/5

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

A single short sentence fragment with zero padding. It is appropriately sized for a trivial query, though the fragmentary phrasing ('Whether...') is slightly less front-loaded than an imperative statement would be.

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

Completeness3/5

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

For a zero-parameter read tool with no output schema, the description is minimally adequate but leaves the critical unknown unresolved: what 'completed' means and what form the answer takes. There are no annotations to fill that gap, so the definition is thin even for its low complexity.

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

Parameters4/5

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

The tool takes zero parameters and the schema has no properties, so there is nothing for the description to clarify. Baseline 4 applies; nothing is misleading.

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

Purpose4/5

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

The description names a specific resource (profile completion status) scoped to the signed-in employee, so an agent knows what it returns. However, it is a noun clause with no explicit verb and gives no hint of how it differs from neighbors like get_profile_info or get_timesheet_profile.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of alternatives, and no precondition stated. The agent must infer that this is the tool for checking profile completeness 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.

get_profile_infoC

Signed-in employee's profile header.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies retrieval for the signed-in employee but does not state read-only status, permission requirements, side effects, or return behavior, leaving meaningful behavioral gaps for an unannotated tool.

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

Conciseness4/5

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

The description is a single concise fragment with no filler and is front-loaded. It is appropriately sized for a zero-parameter getter, though the lack of a verb makes it slightly less structured than a complete sentence.

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

Completeness2/5

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

For a simple zero-parameter getter with no output schema, the description still does not explain what fields are in the 'profile header' or how it differs from adjacent profile-oriented siblings. Given the dense sibling list, the description is too terse to fully orient an agent.

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

Parameters4/5

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

The tool has zero parameters, so parameter semantics are not applicable and the baseline is 4. The empty schema is fully covered, and the description does not need to explain parameter usage.

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

Purpose3/5

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

The description identifies the resource and scope: 'Signed-in employee's profile header.' However, it omits an explicit action verb, relying on the tool name to convey retrieval. Among many profile-related siblings such as get_profile_completion, get_timesheet_profile, and get_id_card, it does not explicitly distinguish what a 'profile header' includes versus those alternatives.

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

Usage Guidelines2/5

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

There is no when-to-use, when-not-to-use, or alternative-tool guidance. The phrase 'Signed-in employee's profile header' only restates the likely target data and does not help an agent choose between this and sibling profile tools.

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

get_rejected_timesheetsB

Rejected timesheets for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no indication of read-only nature, sort order, pagination, time window, or whether rejected items from all periods are returned. It states only the subject, leaving an agent unable to predict the response shape.

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

Conciseness4/5

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

A single front-loaded sentence with no filler. It is efficient, though it is a noun fragment rather than a verb phrase, which slightly weakens the framing.

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

Completeness3/5

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

For a simple zero-parameter read tool with no output schema, the description identifies the resource and audience, which is the minimum viable. It still omits any hint of the returned fields, ordering, or volume, which the missing output schema leaves entirely to inference.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. No parameter meaning is missing or misleading.

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

Purpose4/5

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

Names a specific resource with a status filter ('rejected timesheets') and a scope ('the signed-in employee'), so the agent knows exactly what list it returns. It does not explicitly differentiate itself from the sibling get_timesheets or get_timesheets_due, but the qualifier 'rejected' is distinctive enough to separate it.

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

Usage Guidelines2/5

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

There is no statement of when to call this instead of get_timesheets, get_timesheets_due, or get_timesheet_profile. The only hint is the implicit status filter in the name, so the agent must infer the selection condition.

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

get_remote_work_requestsC

Remote clock-in and working-remotely requests for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault
toDateNoLast day, YYYY-MM-DD. Defaults to today on this machine.
fromDateNoFirst day, YYYY-MM-DD. Defaults to 1 January of this year.

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not state that this is a read-only listing, whether results are paginated, sorted, or scoped by status, nor what permissions are needed. The only behavioral hint is the 'signed-in employee' scope.

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

Conciseness3/5

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

One short sentence with no waste, which is appropriately front-loaded. But brevity here borders on under-specification rather than genuine conciseness — there is only a single clause of content.

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

Completeness2/5

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

With no annotations and no output schema, the description should explain the return shape (list of requests with what fields) and usage constraints. It omits return format, pagination, status filtering, and any relationship to the many sibling request-listing tools.

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

Parameters3/5

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

Schema coverage is 100% and both date parameters carry their own format and default documentation, so the schema does the heavy lifting. The description adds no additional meaning about the date range (inclusive/exclusive boundaries, max span, timezone), so the baseline 3 applies.

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

Purpose3/5

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

The description names the resource (remote clock-in / working-remotely requests) and scopes it to the signed-in employee, which does separate it from siblings like get_leave_requests or get_expense_claims. However, it is a noun fragment with no verb, so it only implicitly conveys that it retrieves these records rather than creating or approving them.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus related siblings such as get_attendance_requests or get_current_shifts. No prerequisites, no exclusions, no indication of what the caller should do with the results.

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

get_shift_detailsB

Shift and weekly-off details for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and does not meet it. It implies a read of the caller's own data but says nothing about authentication/scope (only that it is the 'signed-in employee'), what happens if no shift is assigned, or the shape of 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.

Conciseness4/5

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

A single front-loaded sentence with no filler; the resource and scope are stated immediately. It is terse but nothing is wasted, though it borders on under-specification.

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

Completeness3/5

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

For a simple zero-parameter read this is minimally viable, but with no output schema and no annotations the description should at least sketch what 'details' includes (shift timings, weekly-off days, effective dates). As written, the agent knows the topic but not the payload.

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

Parameters4/5

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

The tool takes zero parameters, so there is no parameter semantics to document and the baseline of 4 applies. Nothing in the schema needs compensating for.

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

Purpose4/5

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

The description names a clear resource (shift and weekly-off details) and scopes it to the signed-in employee, which is specific enough to act on. It does not, however, explicitly distinguish itself from adjacent siblings such as get_current_shifts, get_shift_policy, or get_weekly_off_policy, leaving the boundary to inference.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of prerequisites, and no routing to any alternative tool. The agent must guess whether this is the right sibling when it wants current shift vs. policy vs. personal shift detail.

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

get_shift_policyC

Shift policy for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault
forDateNoCalendar date in YYYY-MM-DD. Defaults to today on this machine.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a read-only lookup but does not explicitly state safety, authentication requirements, error behavior, or what happens when no policy exists.

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

Conciseness4/5

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

The description is a single short, front-loaded sentence with no filler, which is appropriate for a simple lookup tool. It could be marginally more helpful with a few words clarifying the resource boundary, but it is not bloated.

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

Completeness3/5

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 lookup with no output schema, the description identifies the resource and subject but does not describe the policy contents or return shape. With no annotations or output schema to fill those gaps, the definition is only minimally complete.

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

Parameters3/5

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

Schema coverage is 100%; the sole parameter (forDate) is fully documented in the schema, including its default of today. The description adds no meaning beyond that, so the baseline score of 3 applies.

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

Purpose4/5

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

States a specific resource ('Shift policy') and scope ('signed-in employee'), which distinguishes it from generic policy siblings such as get_attendance_policy or get_expense_policy. However, it does not clarify the boundary with get_shift_details or explicitly identify itself as a read-only lookup.

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

Usage Guidelines2/5

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 like get_shift_details, nor are any prerequisites mentioned. Usage is only implied by the tool name and the short noun phrase.

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

get_timelineC

Signed-in employee's timeline events.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a signed-in user context but discloses nothing about read-only semantics, auth requirements beyond the implication, ordering, pagination, or return format.

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

Conciseness3/5

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

The single sentence is front-loaded and free of waste, but it is under-specified rather than genuinely concise. It lacks any structure to guide the agent, similar to a minimal restatement of the tool name.

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

Completeness2/5

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

For a no-parameter read tool with no annotations and no output schema, the description is too thin. It does not explain what timeline events contain, when they are relevant, or how they relate to the many sibling endpoints.

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

Parameters4/5

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

The tool has zero parameters and an empty input schema, so parameter semantics are not applicable. Per the baseline rule for zero-parameter tools, this scores 4.

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

Purpose2/5

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

The description 'Signed-in employee's timeline events.' largely restates the tool name get_timeline. It adds the scope 'signed-in employee's' but gives no verb and does not clarify what a 'timeline event' is (activity feed, attendance events, etc.), leaving the purpose vague against many sibling getters.

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

Usage Guidelines1/5

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

The description provides no when-to-use guidance, no prerequisites, and no mention of alternatives. With 41 sibling get_* tools, the agent receives no signal for selecting this one over any other.

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

get_timesheet_policyC

Timesheet policy for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden and does not meet it. It implies a read of configuration data but says nothing about whether the policy is org-wide or employee-specific, whether it can vary by location, or what the policy object contains.

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

Conciseness4/5

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

A single short fragment with no filler, and the scope qualifier is placed first among the only two ideas present. It is efficient but is a noun phrase rather than a sentence, so it conveys a little less than it could in the same space.

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

Completeness3/5

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

With no input parameters and no output schema, the description is the sole source of information about what this tool returns, and it does not describe the shape or contents of the policy. Adequate to identify the call, insufficient to set expectations about the response.

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

Parameters4/5

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

The tool takes zero parameters, so per the rubric the baseline is 4. There is nothing for the description to add or omit on this dimension.

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

Purpose3/5

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

The description names the resource (timesheet policy) and adds a scope qualifier (signed-in employee), so an agent knows it returns a policy object. However, it is largely a restatement of the tool name and offers no differentiation from the several other policy getters in the sibling list (get_attendance_policy, get_shift_policy, get_weekly_off_policy, get_expense_policy). Purpose is inferable but not sharpened.

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

Usage Guidelines2/5

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

No when-to-use guidance and no routing to alternatives, despite a sibling set containing at least four other *_policy tools that an agent must disambiguate between. The phrase 'for the signed-in employee' is the only usage signal, and it merely restates the implicit scope of an authenticated API.

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

get_timesheet_profileC

Timesheet profile for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. The 'get_' prefix weakly implies a read, but the description says nothing about what a 'timesheet profile' contains, whether it can be empty, or what auth/scope it requires. With no annotations and no behavioral detail, this is a significant gap.

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

Conciseness4/5

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

A single short fragment with no waste and the key scoping qualifier ('signed-in employee') placed immediately. It is terse to the point of under-specification, but that is a completeness issue rather than a conciseness one.

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

Completeness2/5

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

For a tool with no parameters, no annotations, and no output schema, the description is the only source of information and it supplies almost none. Nothing tells the agent what fields come back or how this differs from the many get_timesheet*/get_profile* siblings, leaving selection ambiguous.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description's mention of 'the signed-in employee' correctly confirms the implicit identity scoping.

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

Purpose3/5

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

It names a resource ('Timesheet profile') and scopes it to the signed-in employee, but the phrasing is a bare noun fragment rather than a verb+resource statement. It does nothing to separate itself from close siblings like get_timesheets, get_timesheet_policy, or get_profile_info, which an agent could easily confuse it with.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus get_timesheets, get_timesheet_policy, or get_profile_info. The only implied condition is 'signed-in employee', which is a scope note, not a usage rule.

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

get_timesheetsC

Timesheet summary for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full behavioral burden, but it only states the subject scope and says nothing about what the summary returns, whether it is read-only, pagination, date-range defaults, or error behavior. This is insufficient for a read tool with no structured safety hints.

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

Conciseness4/5

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

A single front-loaded sentence with no filler. It is appropriately sized for a one-line description, though its brevity reflects omission of guidance rather than compression of useful detail.

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

Completeness2/5

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

With no annotations, no output schema, and many similar timesheet siblings, the description is too thin to tell an agent what to expect or how to choose this tool. It should at minimum clarify what the summary contains and how it differs from get_timesheets_due and get_rejected_timesheets.

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

Parameters4/5

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

The tool takes no parameters, so the baseline is 4; the empty schema already covers the input surface and the description cannot add parameter meaning. No penalty applies because there are no parameters to document.

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

Purpose3/5

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

States the resource (timesheets) and scopes it to the signed-in employee, but 'summary' is vague and does not distinguish this from siblings like get_timesheets_due, get_rejected_timesheets, or get_timesheet_profile. An agent cannot tell what data the summary contains or when this is the right timesheet endpoint.

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

Usage Guidelines2/5

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

No when-to-use guidance and no mention of alternatives such as get_timesheets_due or get_rejected_timesheets. Usage is only implied by the name and the phrase 'signed-in employee', leaving selection among many sibling endpoints to inference.

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

get_timesheets_dueC

Timesheets due for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing beyond the read implication of the 'get_' prefix. It does not explain what 'due' means, whether results are filtered by date/policy, or whether an empty set is possible.

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

Conciseness4/5

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

A single front-loaded fragment with no filler or repetition. It is efficient, though the terseness edges into under-specification rather than serving as genuine concision.

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

Completeness2/5

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

With no annotations and no output schema, the description must supply the context an agent needs, and it does not: the meaning of 'due', the time window, and the relationship to sibling timesheet tools are all absent.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate; the schema is trivially complete. Baseline 4 applies for a no-argument tool.

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

Purpose3/5

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

The fragment identifies a resource ('timesheets') and a scope qualifier ('due for the signed-in employee'), which is more than a tautology. However, 'due' is undefined (due today? overdue? due this pay period?), so an agent cannot confidently describe what is returned, and it does not distinguish itself from the sibling get_timesheets/get_rejected_timesheets.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of alternatives, despite several closely related siblings (get_timesheets, get_rejected_timesheets, get_timesheet_profile). The agent is left to infer the distinction from the word 'due' alone.

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

get_weekly_off_policyC

Weekly off policy for the signed-in employee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden, and it discloses almost nothing: no read-only nature, no permission requirements, no indication of what the policy record contains (weekly-off days, rotation, accrual rules). Only the signed-in-employee scoping adds any 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.

Conciseness4/5

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

A single short, front-loaded sentence with no filler. However, the brevity is closer to under-specification than to disciplined concision for a tool with no annotations or output schema.

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

Completeness3/5

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

With no parameters, no annotations, and no output schema, the description is the only source of information, and it leaves the return contents entirely undefined. It is minimally viable for a zero-argument read but does not tell the agent what it will actually receive.

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

Parameters4/5

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

The tool takes zero parameters, so per the rubric the baseline is 4. There are no parameter semantics the description could usefully add.

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

Purpose3/5

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

The description names the resource (weekly off policy) and its scope (signed-in employee), but supplies no verb and reads as a restatement of the tool name rather than a statement of what it does. It does not distinguish itself from adjacent policy getters like get_shift_policy, get_attendance_policy, or get_timesheet_policy.

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

Usage Guidelines2/5

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

There is no indication of when to call this versus the many sibling policy tools, nor any prerequisite or exclusion. The only implicit cue is that it applies to the signed-in employee, which the agent could infer 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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 43 tool updatesv1.0.0
    • First observedget_adjustment_requests
    • First observedget_advance_requests
    • First observedget_asset_requests
    • First observedget_attendance_calendar
    • First observedget_attendance_policy
    • First observedget_attendance_requests
    • First observedget_attendance_status
    • First observedget_attendance_summary
    • First observedget_current_shifts
    • First observedget_exit_status
    • First observedget_expense_claims
    • First observedget_expense_policy
    • First observedget_feedback_settings
    • First observedget_holidays
    • First observedget_id_card
    • First observedget_last_week_attendance
    • First observedget_leave_balance
    • First observedget_leave_plan_status
    • First observedget_leave_requests
    • First observedget_leave_stats
    • First observedget_leave_transactions
    • First observedget_my_assets
    • First observedget_partial_day_requests
    • First observedget_payroll_preferences
    • First observedget_pending_approvals
    • First observedget_pending_attendance_count
    • First observedget_pending_expenses
    • First observedget_pending_leave_encashment
    • First observedget_praise_badges
    • First observedget_preferences
    • First observedget_probation_policy
    • First observedget_profile_completion
    • First observedget_profile_info
    • First observedget_rejected_timesheets
    • First observedget_remote_work_requests
    • First observedget_shift_details
    • First observedget_shift_policy
    • First observedget_timeline
    • First observedget_timesheet_policy
    • First observedget_timesheet_profile
    • First observedget_timesheets
    • First observedget_timesheets_due
    • First observedget_weekly_off_policy

TDQS

C2.7/5.0

Scored across 43 tools

Disambiguation3/5

Many tools cluster around attendance and leave with subtle distinctions (e.g., get_attendance_status vs get_attendance_summary vs get_last_week_attendance; get_attendance_requests vs get_adjustment_requests vs get_partial_day_requests). Descriptions help but overlap remains, making misselection likely for similar queries. Other areas like profile, assets, and expenses are clearer and distinct.

Naming Consistency5/5

All 43 tools follow a consistent get_<snake_case_noun_phrase> pattern with no deviations or mixed conventions. The naming is predictable and readable throughout the entire set.

Tool Count2/5

43 tools is excessive for a single-employee self-service surface, effectively exposing one endpoint per granular data point. Many could be consolidated into parameterized or grouped queries, and the count is well beyond the typical 3-15 range for a well-scoped server.

Completeness2/5

The surface is entirely read-only; there are no tools to clock in/out, apply for leave, submit timesheets, file expense claims, request assets, or perform approvals despite pending approval counts being exposed. Core employee self-service actions are missing, making the toolset incomplete for its domain.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Read-only MCP server for Workday that fetches your tasks and data cards (pay, benefits, compensation) via your existing browser session, returning structured JSON.
    10
    805 npm
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables read-only access to Benepass employee-web API, allowing users to view HSA accounts, investments, transactions, documents, and benefits without write operations.
    13
    7 npm
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables read-only access to Workday HCM data such as workers, organizations, locations, job profiles, and cost centers through MCP tools an LLM can call.
    -