Taghvim
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
**Deterministic temporal reasoning engine for AI agents.**
LLMs are surprisingly bad at dates, timezones, business days, holidays, and recurring schedules. Taghvim gives agents deterministic temporal primitives they can call instead of guessing.
Why Taghvim
When a user asks an agent to "schedule the report for the last business day of next month at 9 AM London time", the agent needs to:
1. Resolve "next month" → deterministic date range
2. Find the last business day → skip weekends + holidays
3. Attach "9 AM London" → timezone-aware timestamp
4. Return a structured result, not a guess
Taghvim provides the tools that make this possible.
Install
Or run directly:
MCP Configuration
Claude Desktop / Claude Code
Or with a local installation:
Tools
now
Return the current deterministic time. Never let the LLM guess the current date.
resolve_time
Resolve natural-language date/time expressions into ISO timestamps.
calculate_date
Deterministic date arithmetic with correct month-end and leap-year handling.
convert_time
Convert datetimes between IANA timezones with DST correctness.
timezone_info
Deterministic timezone metadata: UTC offset, DST status, abbreviation, and next/previous DST transitions.
business_days
Business-calendar calculations with configurable weekends and holidays by country.
holidays
Public holiday intelligence for 100+ countries.
recurrence
RFC 5545 RRULE recurrence with natural-language parsing.
calendar
Calendar-system operations: Gregorian ↔ Persian/Jalali, date validation, weekday, month info, month calendar generation.
format_time
Deterministic formatting: ISO 8601, RFC 3339, locale-aware, Jalali, human-readable.
temporal_verify
Verify temporal claims deterministically to prevent hallucinations.
jalali_persian
Persian/Jalali calendar operations: convert dates, look up events, get month overviews, calculate days until Jalali dates.
Architecture
Standards Used
- **ISO 8601 / RFC 3339** — datetime representation
- **IANA Timezone Database** — timezone identifiers via Luxon
- **RFC 5545 / iCalendar RRULE** — recurrence rules via rrule library
- **BCP 47** — locale identifiers
Core Dependencies
| Library | Purpose | License |
|---------|---------|---------|
| luxon | Timezone-aware date/time | MIT |
| rrule | RFC 5545 recurrence | MIT |
| chrono-node | Natural language date parsing | MIT |
| date-holidays | Holiday data for 100+ countries | MIT |