# get_total_hours

Get total hours registered for an employee in a date range.

Agent View of the PolicyLayer registry record for `get_total_hours`. HTML page: https://policylayer.com/tools/adriantr-tripletex-mcp/get-total-hours

## Facts

- Tool: `get_total_hours`
- Server: Tripletex MCP Server (`adriantr/tripletex-mcp`) — https://policylayer.com/tools/adriantr-tripletex-mcp.md
- Homepage: https://github.com/adriantr/tripletex-mcp
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Allowed

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_total_hours",
    "arguments": {}
  }
}
```

## Why get_total_hours is rated Low

This tool queries and retrieves historical time tracking data for reporting purposes. It performs no mutations, deletions, approvals, or external operations—only data retrieval. The blast radius of misuse is minimal, as an attacker could only access employment records already visible to the assistant's access level.

From the tool's own definition: "Tool name 'get_total_hours' and description 'Get total hours registered for an employee in a date range' indicate a read-only query operation that retrieves aggregated timesheet data without modification or side effects."

## Use case

AI agents call get_total_hours to retrieve information from Tripletex MCP Server without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Tripletex MCP Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "get_total_hours": {}
  }
}
```

## Other tools on Tripletex MCP Server (30)

- `delete_timesheet_entry` — Destructive — https://policylayer.com/tools/adriantr-tripletex-mcp/delete-timesheet-entry.md
- `approve_supplier_invoice` — Financial — https://policylayer.com/tools/adriantr-tripletex-mcp/approve-supplier-invoice.md
- `get_current_time_clock` — Read — https://policylayer.com/tools/adriantr-tripletex-mcp/get-current-time-clock.md
- `get_invoice` — Read — https://policylayer.com/tools/adriantr-tripletex-mcp/get-invoice.md
- `get_recent_activities` — Read — https://policylayer.com/tools/adriantr-tripletex-mcp/get-recent-activities.md
- `get_recent_projects` — Read — https://policylayer.com/tools/adriantr-tripletex-mcp/get-recent-projects.md
- `get_supplier_invoice` — Read — https://policylayer.com/tools/adriantr-tripletex-mcp/get-supplier-invoice.md
- `get_supplier_invoices_for_approval` — Read — https://policylayer.com/tools/adriantr-tripletex-mcp/get-supplier-invoices-for-approval.md
- `get_timesheet_entry` — Read — https://policylayer.com/tools/adriantr-tripletex-mcp/get-timesheet-entry.md
- `get_timesheet_month` — Read — https://policylayer.com/tools/adriantr-tripletex-mcp/get-timesheet-month.md
- `search_activities` — Read — https://policylayer.com/tools/adriantr-tripletex-mcp/search-activities.md
- `search_invoices` — Read — https://policylayer.com/tools/adriantr-tripletex-mcp/search-invoices.md
- `search_projects` — Read — https://policylayer.com/tools/adriantr-tripletex-mcp/search-projects.md
- `search_supplier_invoices` — Read — https://policylayer.com/tools/adriantr-tripletex-mcp/search-supplier-invoices.md
- `search_timesheet_entries` — Read — https://policylayer.com/tools/adriantr-tripletex-mcp/search-timesheet-entries.md
- `search_timesheet_weeks` — Read — https://policylayer.com/tools/adriantr-tripletex-mcp/search-timesheet-weeks.md
- `whoami` — Read — https://policylayer.com/tools/adriantr-tripletex-mcp/whoami.md
- `approve_supplier_invoices` — Write — https://policylayer.com/tools/adriantr-tripletex-mcp/approve-supplier-invoices.md
- `approve_timesheet_month` — Write — https://policylayer.com/tools/adriantr-tripletex-mcp/approve-timesheet-month.md
- `approve_timesheet_week` — Write — https://policylayer.com/tools/adriantr-tripletex-mcp/approve-timesheet-week.md
- `complete_timesheet_month` — Write — https://policylayer.com/tools/adriantr-tripletex-mcp/complete-timesheet-month.md
- `complete_timesheet_week` — Write — https://policylayer.com/tools/adriantr-tripletex-mcp/complete-timesheet-week.md
- `create_timesheet_entry` — Write — https://policylayer.com/tools/adriantr-tripletex-mcp/create-timesheet-entry.md
- `reject_supplier_invoice` — Write — https://policylayer.com/tools/adriantr-tripletex-mcp/reject-supplier-invoice.md
- `reject_supplier_invoices` — Write — https://policylayer.com/tools/adriantr-tripletex-mcp/reject-supplier-invoices.md
- `reopen_timesheet_month` — Write — https://policylayer.com/tools/adriantr-tripletex-mcp/reopen-timesheet-month.md
- `reopen_timesheet_week` — Write — https://policylayer.com/tools/adriantr-tripletex-mcp/reopen-timesheet-week.md
- `start_time_clock` — Write — https://policylayer.com/tools/adriantr-tripletex-mcp/start-time-clock.md
- `stop_time_clock` — Write — https://policylayer.com/tools/adriantr-tripletex-mcp/stop-time-clock.md
- `update_timesheet_entry` — Write — https://policylayer.com/tools/adriantr-tripletex-mcp/update-timesheet-entry.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=adriantr-tripletex-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/adriantr-tripletex-mcp
