MCPサーバー

HourProof — volunteer/service hour ledger (no AI)

app.rowb.hourproof/hours
生産性 公開・接続可能 MCP 2026-07-28

このMCPでできること

Maintains student volunteer-hour ledgers and deterministically checks dates, totals, duplicates, missing organizations, and unusually long service days.

add_entries
Append logged hours to an existing record. Requires a bearer key.
入力スキーマ
{'type': 'object', 'required': ['record_id', 'entries'], 'properties': {'entries': {'type': 'array', 'items': {'type': 'object'}}, 'record_id': {'type': 'string'}}}
check_hours
Check a list of logged service/volunteer hours for internal consistency: bad dates, non-positive or impossible day totals, missing organization, and days above this service's 8-hour flag. Deterministic arithmetic only - no AI. It does NOT decide whether the hours satisfy any school or award requirement.
入力スキーマ
{'type': 'object', 'required': ['entries'], 'properties': {'as_of': {'type': 'string', 'description': 'Treat this date as "today" (YYYY-MM-DD) when rejecting future dates. Defaults to the server date.'}, 'entries': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Entries to check. Each: {date:"YYYY-MM-DD", hours:number, activity:"what was done", organization:"where", category?:"tutoring", notes?}.'}}}
create_record
Open an hour ledger for one student (returns a record id). Requires a bearer key.
入力スキーマ
{'type': 'object', 'required': ['student_name'], 'properties': {'program': {'type': 'string', 'description': 'School, honor society, or program the hours are being collected for.'}, 'period_end': {'type': 'string'}, 'period_start': {'type': 'string'}, 'student_name': {'type': 'string'}}}
get_record_summary
Totals, per-category breakdown, and every issue found, for one record. Requires a bearer key.
入力スキーマ
{'type': 'object', 'required': ['record_id'], 'properties': {'record_id': {'type': 'string'}}}
get_rules
The exact rule table this service checks against, with the reason each rule is checkable, plus what it explicitly does not claim. Quote it if you need to explain a result.
入力スキーマ
{'type': 'object', 'properties': {}}
request_signoff
Create a one-time URL a supervisor can open to confirm the recorded hours. Requires a bearer key. The token is single use.
入力スキーマ
{'type': 'object', 'required': ['record_id'], 'properties': {'record_id': {'type': 'string'}, 'supervisor_name': {'type': 'string'}, 'supervisor_email': {'type': 'string'}}}
追加
request_signoff
2026年10月2日2:40
追加
get_record_summary
2026年10月2日2:40
追加
add_entries
2026年10月2日2:40
追加
create_record
2026年10月2日2:40
追加
get_rules
2026年10月2日2:40
追加
check_hours
2026年10月2日2:40