# date_calc

Calendar-correct date arithmetic in any IANA zone: add or subtract durations (ISO 8601 or plain English, months clamp to month end so Jan 31 + 1 month = Feb 28/29), exact difference between two dates (years / months / days breakdown plus total days / weeks / hours / seconds and ISO 8601), start / end of day / week / month / quarter / year, the Nth weekday of a month ("4th Thursday of November") and age / countdown. DST-aware. Offline. Price: $0.001 USDC per successful call (x402, Solana). Same tool over HTTPS: GET https://scorptech.it.com/api/x402/v1/date-calc

Agent View of the PolicyLayer registry record for `date_calc`. HTML page: https://policylayer.com/tools/com-it-scorptech-x402/date-calc

## Facts

- Tool: `date_calc`
- Server: ScorpTech x402 API (`https://scorptech.it.com/api/x402/mcp`) — https://policylayer.com/tools/com-it-scorptech-x402.md
- Homepage: https://github.com/https://scorptech.it.com/api/x402/mcp
- Risk category: Execute (High risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server CORS policy: *
- Server rate-limited: no
- Parameters: 10
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `n` | integer | no | For nthWeekday: 1..5, or -1 for last |
| `op` | string | no |  |
| `to` | string | no | Second date for op=diff |
| `tz` | string | no |  |
| `date` | string | no | Base date / time (ISO 8601, epoch, or text like "2026-03-01 09:00"); default now |
| `unit` | string | no | For startOf / endOf |
| `clamp` | boolean | no | Clamp month / year additions to the last valid day (false = overflow like PHP / JavaScript) |
| `weekday` | string | no | For nthWeekday |
| `duration` | string | no | For add / subtract: P1M2D, "3 weeks 2 days", "-90 minutes" |
| `weekStart` | string | no |  |

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": "date_calc",
    "arguments": {}
  }
}
```

## Why date_calc is rated High

date_calc triggers real processes with real consequences. An agent gone sideways doesn't fire it once. It starts dozens of builds, sends mass notifications, or burns through compute before anyone looks up.

Risk signals: High parameter count (10 properties)

## Use case

AI agents invoke date_calc to trigger actions in ScorpTech x402 API. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches ScorpTech x402 API:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "date_calc": {
      "limits": [
        {
          "counter": "date_calc_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on ScorpTech x402 API (1011)

- `collatz_drop` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/collatz-drop.md
- `dedupe_records` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/dedupe-records.md
- `evm_selector_decode` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/evm-selector-decode.md
- `frames_timecode` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/frames-timecode.md
- `ip_reputation` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/ip-reputation.md
- `led_resistor` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/led-resistor.md
- `ruler_odd` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/ruler-odd.md
- `sql_format` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/sql-format.md
- `timecode_diff` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/timecode-diff.md
- `timecode_duration` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/timecode-duration.md
- `timecode_frames` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/timecode-frames.md
- `abi_encode` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/abi-encode.md
- `apery_term` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/apery-term.md
- `ballot` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/ballot.md
- `baum_sweet` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/baum-sweet.md
- `binom` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/binom.md
- `bit_subset` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/bit-subset.md
- `biunitary_sigma` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/biunitary-sigma.md
- `champernowne_start` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/champernowne-start.md
- `clinical_trials` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/clinical-trials.md
- `coin_min` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/coin-min.md
- `coin_ways` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/coin-ways.md
- `color_palette` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/color-palette.md
- `compound_interest` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/compound-interest.md
- `cron_explain` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/cron-explain.md
- `curl_to_code` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/curl-to-code.md
- `delannoy` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/delannoy.md
- `delannoy_sum` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/delannoy-sum.md
- `dmarc_report_parse` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/dmarc-report-parse.md
- `dockerfile_lint` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/dockerfile-lint.md
- …and 981 more: https://policylayer.com/tools/com-it-scorptech-x402.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-it-scorptech-x402 · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/com-it-scorptech-x402
