HourProof — volunteer/service hour ledger (no AI)

Deterministic check of logged service hours: bad dates, impossible totals, duplicates. No AI.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
76%
Calidad de los nombres
97%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~526Tokens (definiciones de herramientas)
~556 BTamaño de respuesta típico
Impacto mínimo en la atención (0.41% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "hours": {
      "url": "https://hourproof.rowb.app/mcp"
    }
  }
}

Puntos de conexión remotos

https://hourproof.rowb.app/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (6)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢check_hours(entries, as_of)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "entries": {
      "type": "array",
      "description": "Entries to check. Each: {date:\"YYYY-MM-DD\", hours:number, activity:\"what was done\", organization:\"where\", category?:\"tutoring\", notes?}.",
      "items": {
        "type": "object"
      }
    },
    "as_of": {
      "type": "string",
      "description": "Treat this date as \"today\" (YYYY-MM-DD) when rejecting future dates. Defaults to the server date."
    }
  },
  "required": [
    "entries"
  ]
}
🟢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.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟡create_record(student_name, program, period_start, period_end)

Open an hour ledger for one student (returns a record id). Requires a bearer key.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "student_name": {
      "type": "string"
    },
    "program": {
      "type": "string",
      "description": "School, honor society, or program the hours are being collected for."
    },
    "period_start": {
      "type": "string"
    },
    "period_end": {
      "type": "string"
    }
  },
  "required": [
    "student_name"
  ]
}
🟡add_entries(record_id, entries)

Append logged hours to an existing record. Requires a bearer key.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "record_id": {
      "type": "string"
    },
    "entries": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "record_id",
    "entries"
  ]
}
🟢get_record_summary(record_id)

Totals, per-category breakdown, and every issue found, for one record. Requires a bearer key.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "record_id": {
      "type": "string"
    }
  },
  "required": [
    "record_id"
  ]
}
🟡request_signoff(record_id, supervisor_name, supervisor_email)

Create a one-time URL a supervisor can open to confirm the recorded hours. Requires a bearer key. The token is single use.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "record_id": {
      "type": "string"
    },
    "supervisor_name": {
      "type": "string"
    },
    "supervisor_email": {
      "type": "string"
    }
  },
  "required": [
    "record_id"
  ]
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada6 herramientas