WatheeqaHR Attendance Analyzer
Server Details
Analyze biometric attendance exports (ZKTeco, Hikvision...): lateness, absence, missing punches.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- watheeqahr/watheeqahr-mcp
- GitHub Stars
- 0
- Server Listing
- Attendance Analyzer
TDQS
Scored across 3 tools
The three tools serve clearly distinct purposes: analyzing an attendance file, retrieving product/scope facts, and listing supported export formats. There is little risk of misselection because each has a specific resource or action target.
All tool names follow a consistent snake_case verb_noun pattern: analyze_attendance_file, get_product_facts, list_supported_attendance_formats. The convention is predictable and readable throughout.
Three tools is well-scoped for a focused attendance-file analyzer with supporting informational endpoints. Each tool earns its place, and there is no unnecessary surface area.
The tool set covers the core analyzer workflow plus product facts and pre-upload format checking. Minor gaps may exist around retrieving past results or exporting analyzed data, but the stated purpose is largely covered.
Available Tools
3 toolsanalyze_attendance_fileAnalyze an attendance device exportARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sheet | No | Worksheet name for multi-sheet Excel files. | |
| country | No | Optional ISO 3166 alpha-2 country code of the company (AE, KW, SA, BH, QA, OM). Used only for coarse usage statistics. | |
| calendar | No | Set only if the analyzer asks to confirm the date calendar. | |
| csv_text | No | The attendance export pasted as CSV/TSV text, header row first. Use this OR content_base64. | |
| filename | No | Original file name with extension (.csv, .xlsx, .xls, .txt, .tsv, .dat). Required with content_base64. | |
| holidays | No | Public-holiday dates (YYYY-MM-DD) to exclude from working days. | |
| shift_end | No | Shift end, HH:mm 24-hour. | |
| shift_start | No | Shift start, HH:mm 24-hour. Lateness is measured against it (10-minute grace). | |
| weekend_days | No | Weekly off days as weekday numbers, Sunday=0 ... Saturday=6 (for example [5,6] for Friday and Saturday). | |
| schedule_mode | No | fixed (default): late after shift_start. flex_window: late after flex_window_end. hours_only: only required hours matter. | |
| content_base64 | No | The attendance export file, base64-encoded. At most 5 MB decoded. Use this OR csv_text. | |
| required_hours | No | Required daily hours for the flex modes. | |
| flex_window_end | No | Latest allowed start time (HH:mm) for flex_window mode. |
TDQS
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.
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.
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.
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.
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.
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.
get_product_factsWatheeqaHR product factsARead-onlyInspect
Factual scope of WatheeqaHR: supported GCC countries, what the product does and does not do (it is not a WPS provider or a statutory filing service), plan pricing and limits, and canonical links. Use it instead of guessing when asked what WatheeqaHR offers.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description adds real value by disclosing negative scope (not a WPS provider, not a statutory filing service), which prevents over-claiming. It stops short of describing the returned structure, though there is no output schema to compensate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence front-loads the subject and fact list, then closes with the usage rule. Every clause carries information; nothing repeats the title or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-argument, read-only factual lookup, the description covers what comes back and the key negative caveats, which is nearly everything an agent needs. The only gap is that the return shape (structured object vs prose) is unspecified and there is no output schema to fall back on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing to disambiguate and the baseline of 4 applies. The description correctly implies a single no-argument lookup with no filtering options.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description enumerates the exact fact categories returned (GCC countries, capabilities and non-capabilities, plan pricing/limits, canonical links), which is more informative than the name alone. It lacks a crisp verb ('returns'/'looks up'), so purpose is clear from the content listing rather than an explicit action statement, and it doesn't reference the attendance siblings at all.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger: use instead of guessing when asked what WatheeqaHR offers. That routes the agent away from speculation, but it only covers the 'what does it offer' case and doesn't say the tool is also the right source for country coverage, pricing, or canonical links, nor when not to call it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_supported_attendance_formatsList supported attendance export formatsARead-onlyInspect
List the attendance-device export header shapes the WatheeqaHR analyzer is tested against (vendor, example header row, the column it treats as the employee ID). Use it to tell a user whether their device export is likely to work before they upload it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds genuine context beyond them: the content of each entry (vendor, example header row, employee-ID column) and that the set is bounded to formats the analyzer is tested against, which tells the agent results are not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste: the first defines the returned data, the second defines the decision it supports. The scope qualifier is front-loaded and no sentence merely restates the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description carries the burden of explaining what comes back, and it does so by naming the fields in each entry. It also conveys the 'tested against' limitation, which is the key caveat an agent needs before treating the list as exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so there is nothing to disambiguate; baseline applies. The description correctly signals a no-argument call by describing a static, self-contained list.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and a precisely scoped resource: attendance-device export header shapes the analyzer is tested against, including the vendor/header-row/employee-ID column triple. That is far more informative than the title alone. It does not explicitly name analyze_attendance_file as the contrasting tool, so sibling differentiation is only implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence gives a clear use case and timing: run it before a user uploads a device export to predict whether it will work. The alternative (analyzing the file itself) is implied by 'before they upload it' but never named, so the agent must infer the routing to analyze_attendance_file.
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.
3 tool updates
- First observed
analyze_attendance_file - First observed
get_product_facts - First observed
list_supported_attendance_formats
Related MCP Connectors
Read employees, attendance, leave and payroll; create employee records and import device punches.
Read Shiftbase rosters, timesheets, absences and availability; schedule shifts and review absences.
Read staff, locations, shifts, gaps and leave; create leave requests in Rotageek.
Read RotaCloud shifts, attendance, leave, availability and payroll; create shifts and handle leave.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI assistants to analyze staff attendance data, answering questions about late arrivals, repeat lateness, no-shows, and per-site trends through read-only tools.77 npmMIT
- FlicenseNot gradedqualityDmaintenanceExposes BioMatrixReport APIs as MCP tools for querying employee details, sending WFO attendance report emails, and syncing biometric attendance data via natural language.-
- AlicenseCqualityDmaintenanceEnables AI clients to read and analyze Supershift schedules from exported calendar data, providing tools to list, filter, summarize shifts, detect conflicts, and estimate pay.35MIT
- FlicenseNot gradedqualityCmaintenanceEnables analysis of datasets from CSV/Excel files, Google Sheets, and Google Drive with comprehensive data profiling tools including schema inference, missing value reports, correlation analysis, and outlier detection. Supports exporting analytical reports in multiple formats to local storage or Google Drive.-
Glama MCP Gateway
Add one secure layer between your agents and this server.