ChronoGuard
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ChronoGuardWhat date is 5 US business days after Friday, September 11, 2026?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ChronoGuard
Deterministic date, time, timezone, holiday, and business-day arithmetic for AI agents via MCP.
LLMs are good at language. They should not have to guess whether a deadline lands on a holiday, whether five business days crosses a weekend, or what a timestamp means across a daylight-saving transition. ChronoGuard moves that work into a small deterministic tool with a stable contract.
Why ChronoGuard exists
AI agents are good at language, but they should not have to guess deterministic time logic.
Instead of asking a model:
What is 5 US business days after September 11, 2026?
have the agent call ChronoGuard:
{ "operation": "business_day_offset", "timezone": "America/Chicago", "reference_timestamp": "2026-09-11T10:00:00", "value": 5, "country_code": "US" }
ChronoGuard returns the deterministic result:
{ "resolved_datetime_iso": "2026-09-18T10:00:00-05:00", "day_of_week": "Friday", "is_business_day": true, "is_holiday": false }
This removes date arithmetic, holiday logic, timezone conversion, and DST edge cases from the LLM's reasoning path.
Related MCP server: Chrono MCP
Free vs Paid Use
ChronoGuard is free for evaluation and non-production use.
You may use ChronoGuard for free for personal projects, education, research, demos, prototypes, proof-of-concept work, internal evaluation, and non-production development and testing.
A paid commercial license is required for production business use.
This includes using ChronoGuard:
in a live business workflow in a production application or service to support paying customers inside software you sell inside a SaaS product as a hosted or managed service for ongoing commercial operations
Production use means use in a live system, workflow, product, service, or operational process that supports a business, organization, customer, or revenue-generating activity.
Redistribution, resale, commercial bundling, or offering ChronoGuard as a paid hosted service is not permitted without a separate commercial agreement.
Commercial licensing options will be announced separately.
Status
v0.1.1 — public validation prototype
Validated in Replit on September 11, 2026 with:
28 automated tests passing
FastMCP 4.0.3
MCP 2.2.0
Real
holidayspackage integrationSuccessful real stdio MCP client discovery of
chronoguard_resolve_timeSuccessful end-to-end MCP tool invocation through the stdio server
Successful FastMCP inspector discovery
ChronoGuard is ready for developer testing, but it is not yet positioned as production-grade global business-calendar infrastructure.
What ChronoGuard solves
ChronoGuard gives an agent a deterministic answer for temporal questions that are easy for an LLM to get subtly wrong.
Example workflows:
SLA deadlines — “What is 4 US business days after this support ticket opened?”
Billing and finance cutoffs — “What is the previous business day before month-end?”
Rolling data windows — “Give me the exact timestamps for the last 30 days.”
Timezone-safe scheduling — “Convert this timestamp to America/Chicago and preserve the correct date.”
Holiday-aware automation — “What date is 5 business days after Friday, September 11, 2026?”
Supported operations
The MCP tool is named:
chronoguard_resolve_timeSupported operations:
current_timeadd_durationsubtract_durationbusiness_day_offsetcalculate_span
Supported units:
minuteshoursdaysweeksbusiness_days
Other inputs:
IANA timezone such as
America/ChicagoorUTCISO-8601 reference timestamp
Country code such as
USOptional holiday-calendar subdivision such as a state or region when supported by the
holidayspackage
Temporal semantics
ChronoGuard deliberately distinguishes different meanings of “add time”:
Minutes / hours: elapsed-time arithmetic. Calculation happens through UTC and converts back to the requested timezone.
Days / weeks: local calendar arithmetic, preserving wall-clock time across DST changes.
Business days: local calendar arithmetic that skips weekends and supported official holidays.
Naive local timestamps: accepted only when they map to one unambiguous real instant. Nonexistent spring-forward times and ambiguous fall-back times are rejected unless an explicit UTC offset is supplied.
Important v0.1 limitation
ChronoGuard currently assumes Saturday and Sunday are weekends for business-day calculations.
The holidays dependency supports many countries and subdivisions, but that does not mean v0.1 correctly models every country's weekend convention, banking calendar, exchange calendar, or company-specific business calendar.
Do not describe v0.1 as universally correct for global business calendars.
Install
Requires Python 3.11+.
python -m pip install -r requirements.txtRun the tests
From the project root:
python -m pytest -vExpected result for this release:
28 passedInspect the MCP server
fastmcp inspect server.pyA successful inspection should show one registered tool.
Run locally over stdio
python server.pyChronoGuard currently uses MCP stdio transport for local clients.
Example MCP client call
import asyncio
from fastmcp import Client
from server import mcp
async def main():
async with Client(mcp) as client:
result = await client.call_tool(
"chronoguard_resolve_time",
{
"operation": "business_day_offset",
"timezone": "America/Chicago",
"reference_timestamp": "2026-09-11T10:00:00",
"value": 5,
"country_code": "US",
},
)
print(result.data)
asyncio.run(main())Expected resolved date:
2026-09-18Example MCP configuration
For an MCP client that launches local stdio servers, use a configuration shaped like this and replace the path with the absolute location of server.py on your machine:
{
"mcpServers": {
"chronoguard": {
"command": "python",
"args": ["/absolute/path/to/server.py"]
}
}
}Depending on the client and Python environment, you may need to use the absolute path to the Python executable for the environment where ChronoGuard's dependencies are installed.
Example response
A successful business-day call returns structured data such as:
{
"resolved_datetime_iso": "2026-09-18T10:00:00-05:00",
"timezone": "America/Chicago",
"day_of_week": "Friday",
"is_business_day": true,
"is_holiday": false,
"holiday_name": null,
"date_range": null
}Error behavior
ChronoGuard fails explicitly rather than silently guessing when it encounters inputs such as:
Invalid IANA timezone names
Invalid ISO timestamps
Unsupported holiday calendars
Nonexistent DST-local times
Ambiguous DST-local times without an explicit offset
That behavior is intentional: a deterministic agent tool should prefer a clear error to a plausible but wrong date.
What is not in v0.1
Not yet supported:
Non-Saturday/Sunday weekend conventions
NYSE or other exchange calendars
Federal Reserve settlement calendars
Custom company holiday calendars
Remote HTTP transport
Authentication or rate limiting
Hosted commercial API
Billing or usage metering
Those should be added only after developer demand justifies them.
Why this exists
The experiment behind ChronoGuard is simple:
When an AI workflow has a narrow deterministic failure mode, move that task out of LLM reasoning and into a small tool with a strict contract.
ChronoGuard is the first test of that idea.
Feedback wanted
This release is intentionally small. Useful feedback includes:
Where your agent currently gets date/time logic wrong
Which calendar rules you actually need
Whether local stdio is enough or remote HTTP matters
Which operations you expected but did not find
Whether you would adopt a shared temporal utility instead of maintaining date logic inside each agent
Available Tools
1 toolchronoguard_resolve_timeChronoguard Resolve TimeB
Deterministic temporal resolution and business-date arithmetic. Use for current time, elapsed or calendar offsets, rolling spans, business-day offsets, SLAs, and financial cutoffs. v0.1 business-day calendars assume a Saturday/Sunday weekend.
| Name | Required | Description | Default |
|---|---|---|---|
| unit | No | ||
| value | No | ||
| timezone | No | UTC | |
| operation | Yes | ||
| subdivision | No | ||
| country_code | No | US | |
| reference_timestamp | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose a meaningful behavioral limitation ('v0.1 business-day calendars assume a Saturday/Sunday weekend') and asserts determinism, but says nothing about output shape, timezone handling, or failure behavior. One good disclosure against several missing traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loading the what before the when and the caveat. No filler, no repetition of the title or schema. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 7-parameter, complex temporal tool with 0% schema coverage and no annotations requires strong parameter guidance, which is absent. The output schema does relieve the description of explaining return values, and the use-case list helps route intent, but an agent still cannot tell from this text how timezone, reference_timestamp, subdivision, or value/unit interact per operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 parameters, so the description must compensate and it largely does not. The listed use cases loosely hint at the operation values, but unit, value, timezone, reference_timestamp, subdivision, and country_code are never explained. The one sentence about S/S weekends only faintly implies the country_code/calendar dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific domain and capability: 'temporal resolution and business-date arithmetic' with concrete coverage of current time, offsets, spans, business days, SLAs, and cutoffs. The verb is abstract ('resolve') but the resource and scope are clear. No siblings exist, so no differentiation is needed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence enumerates the situations the tool is for (current time, elapsed/calendar offsets, rolling spans, business-day offsets, SLAs, financial cutoffs), which maps well onto the operation enum. It gives clear context but no explicit exclusions or conditions under which it is wrong to use, and there are no alternatives to route to.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.1- First observed
chronoguard_resolve_time
TDQS
Scored across 1 tool
With only one tool, there is no possibility of overlap or misselection. The single tool has a clearly stated purpose (deterministic temporal resolution and business-date arithmetic).
The lone name follows a clean snake_case server-prefixed convention (chronoguard_resolve_time). No mixing of styles is possible, so consistency is trivially satisfied.
A single tool for an entire temporal domain is borderline thin; a server covering current time, offsets, spans, business days, and SLAs could reasonably expose separate operations. It is not trivial, so it is not an extreme mismatch, but the surface is minimal.
The tool claims broad coverage (current time, elapsed/calendar offsets, rolling spans, business-day offsets, SLAs, financial cutoffs), but notable gaps remain: no timezone conversion, no date parsing/formatting, and business-day calendars are hardcoded to Sat/Sun weekends with no holiday calendar support.
Maintenance
Related MCP Connectors
Deterministic time tools for AI agents: timezone conversion, business-day math, cron interpretation.
Time and date math for AI agents: Unix timestamp conversion, DST-correct time zone conversion, durations, epoch arithmetic, cron schedules, and holiday countdowns. Eight tools, no key.
Current time, timezone conversion & date math for AI agents. On Cloudflare Workers.
Deterministic calendars and cosmic date JSON for AI agents via MCP (Gregorian 1900-2100).
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides comprehensive time manipulation capabilities including timezone conversions, date arithmetic, business day calculations, duration calculations, and recurring event handling. Enables natural language time queries with high performance and intelligent caching.113MIT
- AlicenseAqualityBmaintenanceProvides comprehensive date, time, timezone, and calendar operations powered by Luxon, enabling AI agents to perform time calculations, timezone conversions, and temporal data handling across 400+ IANA timezones.26 npmMIT
- AlicenseAqualityCmaintenanceEnables timezone conversion, astronomical calculations, and date utilities through natural language, supporting sunrise/sunset, moon phases, business days, and more.9153 npm1ISC
- AlicenseAqualityDmaintenanceMCP server providing 10 date and time tools including timezone conversion, date math, cron explanation, business days calculation, and more, enabling LLMs to handle datetime operations.1012 npmMIT