Skip to main content
Glama

Jisr MCP by usefulapi

Import attendance punches

jisr_create_attendance_punches

WRITE: send a batch of raw clock-in/out punches (at most 100) from a punch device into Jisr attendance. Jisr processes them asynchronously; check the result with jisr_list_attendance_punches. Each punch carries the unique id its device generated; do not invent ids. POST /openapi/v1/attendance_logs.

Input Schema

NameRequiredDescriptionDefault
punchesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already disclose that this is a non-readonly, open-world, non-idempotent, non-destructive write. The description adds useful behavior beyond the annotations: the batch limit, asynchronous processing, and the requirement to use device-generated punch ids rather than inventing them. It does not cover permissions, partial failures, or duplicate handling, which keeps it below a 5.

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?

The description is three tight sentences, front-loaded with 'WRITE' and the core action. Every sentence carries useful information, and the endpoint reference is short without distracting from the operational guidance.

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 an asynchronous write tool with no output schema, the description gives the essential operational context: batch size, id constraints, and how to check the result. It still leaves the immediate response shape and error behavior unspecified, so it is strong but not fully complete.

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 reported as 0%, so the description must compensate for parameter meaning. It adds important semantics for the batch limit and the id field, but it does not explain emp_code, terminal_sn, or punch_time formatting beyond what the nested schema already states.

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 and resource: send a batch of raw clock-in/out punches into Jisr attendance. It distinguishes the write operation from the sibling read tool jisr_list_attendance_punches by framing that tool as the way to check results.

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?

It gives clear usage context: import device-generated punches, at most 100, and verify asynchronously with jisr_list_attendance_punches. It stops short of explicitly stating when not to use this tool or naming any alternative import route.

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.