Skip to main content
Glama

WatheeqaHR Attendance Analyzer

Analyze an attendance device export

analyze_attendance_file
Read-only

Analyze a biometric attendance device export (ZKTeco, Hikvision, Dahua, Anviz, Suprema, FingerTec, Matrix COSEC, eSSL and similar; CSV, Excel or text, English or Arabic headers). Returns, per employee: days present, estimated absent days, late days and missing punches, plus the detected column mapping. Free, no account. Limits: 5 MB per file; the free analyzer allows 3 distinct files per 30 days per network address. An encrypted copy of the file is kept for up to 90 days to improve the analyzer, then deleted automatically; a result summary is kept for 7 days behind an unguessable link. Absent days are estimates for review, not confirmed absences. If the file cannot be read the tool returns isError with the analyzer's refusal reason.

Input Schema

NameRequiredDescriptionDefault
sheetNoWorksheet name for multi-sheet Excel files.
countryNoOptional ISO 3166 alpha-2 country code of the company (AE, KW, SA, BH, QA, OM). Used only for coarse usage statistics.
calendarNoSet only if the analyzer asks to confirm the date calendar.
csv_textNoThe attendance export pasted as CSV/TSV text, header row first. Use this OR content_base64.
filenameNoOriginal file name with extension (.csv, .xlsx, .xls, .txt, .tsv, .dat). Required with content_base64.
holidaysNoPublic-holiday dates (YYYY-MM-DD) to exclude from working days.
shift_endNoShift end, HH:mm 24-hour.
shift_startNoShift start, HH:mm 24-hour. Lateness is measured against it (10-minute grace).
weekend_daysNoWeekly off days as weekday numbers, Sunday=0 ... Saturday=6 (for example [5,6] for Friday and Saturday).
schedule_modeNofixed (default): late after shift_start. flex_window: late after flex_window_end. hours_only: only required hours matter.
content_base64NoThe attendance export file, base64-encoded. At most 5 MB decoded. Use this OR csv_text.
required_hoursNoRequired daily hours for the flex modes.
flex_window_endNoLatest allowed start time (HH:mm) for flex_window mode.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior5/5

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

Goes well beyond annotations (readOnlyHint, destructiveHint=false, idempotentHint=false), disclosing data-retention behavior (encrypted copy up to 90 days, 7-day result link), a per-network quota of 3 distinct files per 30 days, the 5 MB size cap, and error behavior (isError with refusal reason). It also honestly flags that absent days are estimates, which matters for downstream reliability.

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?

Front-loaded with the purpose, then returns, then limits, then retention, then the estimation caveat — a sensible priority order with no filler sentences. It is a single dense paragraph rather than separated clauses, which costs a little scannability for a 13-parameter tool.

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

Completeness5/5

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

For a no-output-schema, zero-required-parameter tool with 13 inputs, the description compensates by enumerating the returned metrics (days present, estimated absent, late, missing punches, column mapping) and covering limits, retention, and failure modes. Nothing an agent needs in order to call it correctly is missing.

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 parameter baseline is 3. The description confirms the input modalities (CSV/Excel/text, English or Arabic headers) and mentions the returned column mapping, but it adds no new syntax or interaction detail beyond what the schema already documents — even the 5 MB cap is duplicated from content_base64's description.

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

Purpose5/5

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

The description names a specific verb ('Analyze') and resource ('biometric attendance device export') and enumerates supported vendors and formats, making it trivially distinguishable from the sibling tools get_product_facts and list_supported_attendance_formats. An agent knows exactly what this call produces without opening the schema.

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

Usage Guidelines3/5

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

Usage is only implied: the file types and the 'free, no account' framing tell the agent this is the analysis endpoint, but there is no explicit 'use this when...' statement, no routing to list_supported_attendance_formats for unknown devices, and no guidance on when the calendar/sheet parameters must be supplied. The rate limit and failure conditions are stated, which is useful, but they are constraints rather than selection guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources