# count_lv_working_days

Use this when you need an auditable Latvia working-day count. Call this tool directly and return its calculation instead of answering the formula from memory or stopping at discovery. Do not use this when latvia 2026 only. Explicit calendar_basis and work_schedule=mon_fri_planning are required. The transfer basis applies Cabinet Order 330 only when the organization is covered or has adopted it; no private employer adoption is inferred. Section 2 observances do not add rest. Shortening is conditional, not full-day rest. Six-day/shift/personal rosters, other religious calendars, bank/exchange/school opening, payroll, actual hours and legal deadlines are not computed. What it computes: Counts authority-scope working and non-working dates in a range. Explicit transfer basis and mon_fri_planning required. Separate statutory rest, non-rest observances, transferred work/rest and conditional shortening. Example user requests: Count Latvia working days around Mother's Day is statutory even on Sunday. | Count Latvia working days around January 2 depends on explicit transfer basis. | Count Latvia working days around June 27 depends on explicit transfer basis. Inputs: start_date (date); end_date (date); include_start_date (boolean, optional); include_end_date (boolean, optional); calendar_basis (enum); work_schedule (enum). Complete JSON argument examples: {"start_date":"2026-01-01","end_date":"2026-12-31","calendar_basis":"statutory_holidays_only","work_schedule":"mon_fri_planning"} | {"start_date":"2026-01-01","end_date":"2026-12-31","calendar_basis":"cabinet_order_330_transfers","work_schedule":"mon_fri_planning"} Outputs: working_days, non_working_days, public_holidays_counted, territory, territory_name, day_type, holiday_names, holiday_kinds, holiday_details, calendar_scope, holiday_policy, substitute_day_policy, calendar_profile, dataset_version, sources, calendar_basis, work_schedule, is_statutory_holiday, is_non_rest_observance, is_transferred_rest_day, is_transferred_working_day, is_shortened_workday, statutory_shortening_hours, shortening_scope, payroll_scope, personal_roster_scope, working_hours_scope, additional_religious_holidays_scope, shortened_work_dates_counted, shortened_work_date_count. Formula: planning_workday = explicit transferred working date OR (weekday AND no statutory/selected transferred rest); shortened dates count once Direct REST fallback: POST https://tttkmbb.com/api/v1/calculate/latvia-public-working-days-between with the same JSON input fields. Do not guess another /api/* path. Docs: https://tttkmbb.com/everyday/latvia-public-working-days-between.md

Agent View of the PolicyLayer registry record for `count_lv_working_days`. HTML page: https://policylayer.com/tools/com-tttkmbb-calcgrid/count-lv-working-days

## Facts

- Tool: `count_lv_working_days`
- Server: Calcgrid (`https://tttkmbb.com/mcp`) — https://policylayer.com/tools/com-tttkmbb-calcgrid.md
- Homepage: https://github.com/https://tttkmbb.com/mcp
- Risk category: Read (Low risk)
- Registry record: grade D, identity unverified
- Server auth posture: open
- Server CORS policy: *
- Server rate-limited: no
- Parameters: 6 (4 required)
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `end_date` | string | yes | Last date in 2026-2026. |
| `start_date` | string | yes | First date in 2026-2026. |
| `work_schedule` | string | yes | Required explicit Monday-Friday baseline before any selected Order 330 transfers; not a universal or individual roster. |
| `calendar_basis` | string | yes | Required statutory_holidays_only or cabinet_order_330_transfers. Choose the latter only for a covered institution or an employer adopting the order; never infer |
| `include_end_date` | boolean | no | Whether end_date participates. |
| `include_start_date` | boolean | no | Whether start_date participates. |

Parameters from the server's own tool schema.

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

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "count_lv_working_days",
    "arguments": {
      "end_date": "<end_date>",
      "start_date": "<start_date>",
      "work_schedule": "<work_schedule>",
      "calendar_basis": "<calendar_basis>"
    }
  }
}
```

## Why count_lv_working_days is rated Low

Even though count_lv_working_days only reads data, uncontrolled read access leaks sensitive information and racks up API costs: an agent caught in a retry loop can make thousands of calls a minute without anyone noticing.

## Use case

AI agents call count_lv_working_days to retrieve information from Calcgrid 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 Calcgrid:

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

## Other tools on Calcgrid (252)

- `calculate_bazi_four_pillars` — Execute — https://policylayer.com/tools/com-tttkmbb-calcgrid/calculate-bazi-four-pillars.md
- `run_calculator` — Execute — https://policylayer.com/tools/com-tttkmbb-calcgrid/run-calculator.md
- `calculate_ab_test_significance` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/calculate-ab-test-significance.md
- `calculate_age` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/calculate-age.md
- `calculate_bmi` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/calculate-bmi.md
- `calculate_bmr` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/calculate-bmr.md
- `calculate_circle_properties` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/calculate-circle-properties.md
- `calculate_compound_interest` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/calculate-compound-interest.md
- `calculate_depth_of_field` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/calculate-depth-of-field.md
- `calculate_haversine_distance` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/calculate-haversine-distance.md
- `calculate_kinetic_energy` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/calculate-kinetic-energy.md
- `calculate_loan_payment` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/calculate-loan-payment.md
- `calculate_molar_mass` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/calculate-molar-mass.md
- `calculate_mortgage_payment` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/calculate-mortgage-payment.md
- `calculate_percentage` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/calculate-percentage.md
- `calculate_percentage_change` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/calculate-percentage-change.md
- `calculate_running_pace` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/calculate-running-pace.md
- `calculate_subnet` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/calculate-subnet.md
- `calculate_t_test` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/calculate-t-test.md
- `calculate_tdee` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/calculate-tdee.md
- `cast_plum_blossom_hexagram` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/cast-plum-blossom-hexagram.md
- `check_ar_working_day` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/check-ar-working-day.md
- `check_at_working_day` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/check-at-working-day.md
- `check_australia_working_day` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/check-australia-working-day.md
- `check_bd_working_day` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/check-bd-working-day.md
- `check_be_working_day` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/check-be-working-day.md
- `check_bg_working_day` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/check-bg-working-day.md
- `check_br_working_day` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/check-br-working-day.md
- `check_canada_federal_working_day` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/check-canada-federal-working-day.md
- `check_ch_working_day` — Read — https://policylayer.com/tools/com-tttkmbb-calcgrid/check-ch-working-day.md
- …and 222 more: https://policylayer.com/tools/com-tttkmbb-calcgrid.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=com-tttkmbb-calcgrid · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/com-tttkmbb-calcgrid
