Analyze biometric attendance exports (ZKTeco, Hikvision...): lateness, absence, missing punches.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
Worksheet name for multi-sheet Excel files.
Optional ISO 3166 alpha-2 country code of the company (AE, KW, SA, BH, QA, OM). Used only for coarse usage statistics.
Set only if the analyzer asks to confirm the date calendar.
The attendance export pasted as CSV/TSV text, header row first. Use this OR content_base64.
Original file name with extension (.csv, .xlsx, .xls, .txt, .tsv, .dat). Required with content_base64.
Public-holiday dates (YYYY-MM-DD) to exclude from working days.
Shift end, HH:mm 24-hour.
Shift start, HH:mm 24-hour. Lateness is measured against it (10-minute grace).
Weekly off days as weekday numbers, Sunday=0 ... Saturday=6 (for example [5,6] for Friday and Saturday).
fixed (default): late after shift_start. flex_window: late after flex_window_end. hours_only: only required hours matter.
The attendance export file, base64-encoded. At most 5 MB decoded. Use this OR csv_text.
Required daily hours for the flex modes.
Latest allowed start time (HH:mm) for flex_window mode.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http attendance-analyzer https://www.watheeqahr.com/api/v1/mcp
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.
| Argument | Type | Description |
|---|---|---|
| sheet | string | Worksheet name for multi-sheet Excel files. |
| country | string | Optional ISO 3166 alpha-2 country code of the company (AE, KW, SA, BH, QA, OM). Used only for coarse usage statistics. |
| calendar | string | Set only if the analyzer asks to confirm the date calendar. |
| csv_text | string | The attendance export pasted as CSV/TSV text, header row first. Use this OR content_base64. |
| filename | string | Original file name with extension (.csv, .xlsx, .xls, .txt, .tsv, .dat). Required with content_base64. |
| holidays | array | Public-holiday dates (YYYY-MM-DD) to exclude from working days. |
| shift_end | string | Shift end, HH:mm 24-hour. |
| shift_start | string | Shift start, HH:mm 24-hour. Lateness is measured against it (10-minute grace). |
| weekend_days | array | Weekly off days as weekday numbers, Sunday=0 ... Saturday=6 (for example [5,6] for Friday and Saturday). |
| schedule_mode | string | fixed (default): late after shift_start. flex_window: late after flex_window_end. hours_only: only required hours matter. |
| content_base64 | string | The attendance export file, base64-encoded. At most 5 MB decoded. Use this OR csv_text. |
| required_hours | number | Required daily hours for the flex modes. |
| flex_window_end | string | Latest allowed start time (HH:mm) for flex_window mode. |
{
"type": "object",
"properties": {
"sheet": {
"type": "string",
"description": "Worksheet name for multi-sheet Excel files."
},
"country": {
"type": "string",
"description": "Optional ISO 3166 alpha-2 country code of the company (AE, KW, SA, BH, QA, OM). Used only for coarse usage statistics."
},
"calendar": {
"enum": [
"gregorian",
"hijri"
],
"type": "string",
"description": "Set only if the analyzer asks to confirm the date calendar."
},
"csv_text": {
"type": "string",
"description": "The attendance export pasted as CSV/TSV text, header row first. Use this OR content_base64."
},
"filename": {
"type": "string",
"description": "Original file name with extension (.csv, .xlsx, .xls, .txt, .tsv, .dat). Required with content_base64."
},
"holidays": {
"type": "array",
"items": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"maxItems": 120,
"description": "Public-holiday dates (YYYY-MM-DD) to exclude from working days."
},
"shift_end": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Shift end, HH:mm 24-hour."
},
"shift_start": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Shift start, HH:mm 24-hour. Lateness is measured against it (10-minute grace)."
},
"weekend_days": {
"type": "array",
"items": {
"type": "integer",
"maximum": 6,
"minimum": 0
},
"maxItems": 7,
"description": "Weekly off days as weekday numbers, Sunday=0 ... Saturday=6 (for example [5,6] for Friday and Saturday)."
},
"schedule_mode": {
"enum": [
"fixed",
"flex_window",
"hours_only"
],
"type": "string",
"description": "fixed (default): late after shift_start. flex_window: late after flex_window_end. hours_only: only required hours matter."
},
"content_base64": {
"type": "string",
"description": "The attendance export file, base64-encoded. At most 5 MB decoded. Use this OR csv_text."
},
"required_hours": {
"type": "number",
"maximum": 16,
"minimum": 1,
"description": "Required daily hours for the flex modes."
},
"flex_window_end": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Latest allowed start time (HH:mm) for flex_window mode."
}
},
"additionalProperties": false
}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.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}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.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 1, 2026.