Skip to main content
Glama

WatheeqaHR Attendance Analyzer

Server Details

Analyzes biometric attendance exports (ZKTeco, BioTime, Hikvision, Dahua, Anviz, Suprema, FingerTec, eSSL) and returns per-employee lateness, absence and missing punches. Accepts CSV, Excel or text with Arabic or English headers; free, no signup.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4.1/5.0

Scored across 3 tools

Disambiguation4/5

The core action (analyze_attendance_file) is clearly distinct from the two informational tools. However, get_product_facts and list_supported_attendance_formats are both static lookup tools, and an agent asked 'will this vendor's export work?' could plausibly reach for either, creating mild overlap.

Naming Consistency5/5

All three tools follow a clean verb_noun snake_case pattern (analyze_, get_, list_) with descriptive object nouns. No convention mixing.

Tool Count4/5

Three tools is on the thin side but each serves a distinct purpose in a narrow, single-purpose server (analyze files, check format support, answer product questions). Nothing feels redundant.

Completeness3/5

The upload-and-analyze workflow plus format pre-check is covered, but there is no tool to retrieve a previously generated result summary or revisit the stored analysis, leaving a dead end after the initial call. Per-file analysis also has no comparison or export operation.

Available Tools

3 tools
analyze_attendance_fileAnalyze an attendance device exportA
Read-only
Inspect

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.

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.

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.

get_product_factsWatheeqaHR product factsA
Read-only
Inspect

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.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

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 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.

Purpose4/5

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.

Usage Guidelines4/5

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 formatsA
Read-only
Inspect

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.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

  1. 3 tool updates
    • First observedanalyze_attendance_file
    • First observedget_product_facts
    • First observedlist_supported_attendance_formats

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    18 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources