WatheeqaHR Attendance Analyzer

Analyze biometric attendance exports (ZKTeco, Hikvision...): lateness, absence, missing punches.

Should I use this

Quality & Safety

B
Description quality
100%
Schema completeness
50%
Naming quality
93%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'list_supported_attendance_formats' name length outside 3-30 rangein list_supported_attendance_formats

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,002Tokens (tool definitions)
~2.1 KBTypical response size
Moderate attention impact (0.78% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "attendance-analyzer": {
      "url": "https://www.watheeqahr.com/api/v1/mcp"
    }
  }
}

Remote endpoints

https://www.watheeqahr.com/api/v1/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢analyze_attendance_file(filename, content_base64, csv_text, country, shift_start, ...)

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

{
  "type": "object",
  "properties": {
    "filename": {
      "type": "string",
      "description": "Original file name with extension (.csv, .xlsx, .xls, .txt, .tsv, .dat). Required with content_base64."
    },
    "content_base64": {
      "type": "string",
      "description": "The attendance export file, base64-encoded. At most 5 MB decoded. Use this OR csv_text."
    },
    "csv_text": {
      "type": "string",
      "description": "The attendance export pasted as CSV/TSV text, header row first. Use this OR content_base64."
    },
    "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."
    },
    "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)."
    },
    "shift_end": {
      "type": "string",
      "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
      "description": "Shift end, HH:mm 24-hour."
    },
    "weekend_days": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 6
      },
      "maxItems": 7,
      "description": "Weekly off days as weekday numbers, Sunday=0 ... Saturday=6 (for example [5,6] for Friday and Saturday)."
    },
    "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."
    },
    "schedule_mode": {
      "type": "string",
      "enum": [
        "fixed",
        "flex_window",
        "hours_only"
      ],
      "description": "fixed (default): late after shift_start. flex_window: late after flex_window_end. hours_only: only required hours matter."
    },
    "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."
    },
    "required_hours": {
      "type": "number",
      "minimum": 1,
      "maximum": 16,
      "description": "Required daily hours for the flex modes."
    },
    "calendar": {
      "type": "string",
      "enum": [
        "gregorian",
        "hijri"
      ],
      "description": "Set only if the analyzer asks to confirm the date calendar."
    },
    "sheet": {
      "type": "string",
      "description": "Worksheet name for multi-sheet Excel files."
    }
  },
  "additionalProperties": false
}
🟢list_supported_attendance_formats

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.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢get_product_facts

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.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools