Skip to main content
Glama

Attendance sheet PDF

doc_attendance_sheet
Read-onlyIdempotent

Generate printable attendance and sign-in sheet PDFs with names, date columns, weekday skips, tick or signature cells, totals, and extra rows; also returns a blank register CSV.

Instructions

Make a printable attendance / sign-in sheet PDF: names down the side, one column per date for a month (skipping chosen weekdays, e.g. Fri+Sat or Sat+Sun), a run of N sessions from a start date, or N blank columns; tick boxes or wide signature cells; row numbers, a total column, extra empty rows, title, group and teacher. Same page maths as the website: rows that don't fit continue on more pages, and too many date columns are split across pages with the same names. Also returns a blank register CSV. English labels, Latin text only for now. Web version: https://s3eidat.github.io/attendance-sheet/

Input Schema

NameRequiredDescriptionDefault
cellNobox = tick boxes, sign = wide cells for signatures.box
modeNomonth = every day of a month; sessions = N dates from a start date; blank = N unnamed columns.month
skipNoWeekdays to skip, 0 = Sunday … 6 = Saturday (default [0, 6] = weekends Sat+Sun; use [5, 6] for Fri+Sat).
countNosessions/blank: number of columns.
groupNoClass / group, shown under the title.
monthNomonth mode: YYYY-MM (default this month).
namesYesNames, one per line (leading "1." numbering and anything after a tab are removed), or a list.
paperNoA4
startNosessions mode: first date YYYY-MM-DD (default today).
titleNoTitle (default "Attendance").
totalNoTotal column.
outputNoWhere to write the result: a file path, or a folder ending in "/". Default: the server output folder (a temp folder unless --out-dir is set).
numbersNoRow number column.
teacherNoTeacher, shown under the title.
extraRowsNoEmpty rows after the names.
rowHeightNoRow height in mm (default 8, or 13 for signature cells).
orientationNolandscape
returnBase64NoAlso return the output as base64 in the result (only for small files). Default false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Goes well past the readOnly/idempotent annotations by disclosing the pagination behaviour (rows that don't fit continue on more pages, wide column sets split with names repeated), the secondary CSV output, and a real constraint ('English labels, Latin text only for now'). These are exactly the traits an agent cannot infer from structured fields.

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?

Compact single paragraph that front-loads the core output and then layers on layout, pagination and caveats in order of importance. It is dense and runs long for one sentence-chain, but each clause adds usable information and nothing is filler.

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 18-parameter generator with no output schema, the description covers the output artifacts (PDF plus blank register CSV), pagination, and language limits, which is enough to invoke it correctly. Minor gaps remain around how the `output` path and `returnBase64` behave in practice, though the schema documents those individually.

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?

Schema coverage is already 89%, so the baseline is 3, but the description adds cross-parameter meaning the schema cannot: what 'skipping chosen weekdays' means in practice (Fri+Sat vs Sat+Sun), how 'sign' widens cells, and that row numbers/total/extra rows are layout toggles. Combined-effect semantics push it just above baseline.

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?

States a specific verb and artifact: 'Make a printable attendance / sign-in sheet PDF', followed by the exact layout produced (names down the side, one column per date). This is clearly distinguishable from the other document siblings (doc_calendar, doc_labels, doc_invoice).

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 three generation modes (a month of dates, N sessions from a start date, N blank columns) are laid out in the description, giving an agent a clear picture of when each shape applies. It stops short of naming an alternative tool or an explicit 'use X instead' exclusion, which keeps it at 4.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools