mrfelfel/taghvim
БесплатноПоддерживаетсяDeterministic temporal reasoning engine for AI agents. 12 tools for date/time arithmetic, timezone conversion with DST, business days across 100+ countries, pub
Описание
Deterministic temporal reasoning engine for AI agents. 12 tools for date/time arithmetic, timezone conversion with DST, business days across 100+ countries, public holidays, RFC 5545 recurrence, Gregorian/Persian calendar conversion, and temporal claim verification. npx taghvim-mcp
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.
npx taghvim-mcp
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:
- Resolve "next month" → deterministic date range
- Find the last business day → skip weekends + holidays
- Attach "9 AM London" → timezone-aware timestamp
- Return a structured result, not a guess
Taghvim provides the tools that make this possible.
Install
npm install taghvim-mcp
Or run directly:
npx taghvim-mcp
MCP Configuration
Claude Desktop / Claude Code
{
"mcpServers": {
"taghvim": {
"command": "npx",
"args": ["taghvim-mcp"]
}
}
}
Or with a local installation:
{
"mcpServers": {
"taghvim": {
"command": "node",
"args": ["/absolute/path/to/taghvim/dist/index.js"]
}
}
}
Tools
now
Return the current deterministic time. Never let the LLM guess the current date.
Parameters: timezone (IANA), calendar (gregorian|persian|iso-week)
Returns: UTC, local, date, time, weekday, UTC offset, DST status
resolve_time
Resolve natural-language date/time expressions into ISO timestamps.
Expression examples:
"tomorrow at 3pm"
"next Friday"
"in 3 weeks"
"January 15, 2027"
"the first Monday of next month"
calculate_date
Deterministic date arithmetic with correct month-end and leap-year handling.
Operations: add, subtract, diff, start_of, end_of, next_weekday, previous_weekday
Examples:
2026-01-31 + 1 month → 2026-02-28 (handled correctly)
start_of month for 2026-09-04 → 2026-09-01
convert_time
Convert datetimes between IANA timezones with DST correctness.
Parameters: datetime, from_timezone, to_timezone (string or array)
Convert to multiple targets at once.
Never hardcodes UTC offsets.
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.
Operations: is_business_day, next, previous, add, count, last_of_month, range
Supported countries: US, UK, DE, JP, IR, UAE, and 100+ more.
Weekend definitions: Sat-Sun (US/UK), Fri-Sat (Iran/Saudi), Sun-Mon (Maldives).
holidays
Public holiday intelligence for 100+ countries.
Operations: list, is_holiday, next, between, countries
Distinguishes between actual and observed holiday dates.
recurrence
RFC 5545 RRULE recurrence with natural-language parsing.
Natural language patterns:
"every Monday"
"every weekday"
"first Friday of every month"
"every 90 days"
Always generates bounded results. Never produces infinite recurrences.
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.
Locales supported: en-US, en-GB, de-DE, fr-FR, ja-JP, fa-IR, ar, es-ES, and any valid BCP 47 locale.
temporal_verify
Verify temporal claims deterministically to prevent hallucinations.
Claims:
"Is 2026-12-31 a Thursday?"
"Is 2024 a leap year?"
"Are 2026-01-01 and 2026-01-01 the same?"
jalali_persian
Persian/Jalali calendar operations: convert dates, look up events, get month overviews, calculate days until Jalali dates.
Architecture
LLM / Agent
│
│ natural language
▼
Taghvim MCP
│
├── resolve / parse
│
▼
Canonical temporal representation (ISO 8601 + IANA TZ)
│
▼
Deterministic temporal engine
│
▼
Structured JSON result
Standards Used
- ISO 8601 / RFC 3339 — datetime representation
- IANA Timezone Database — timezone identifiers via Luxon
- RFC 5545 / iCalendar RRULE — recurrence rules via
rrulelibrary - 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 |
jalali-moment |
Persian/Jalali calendar | MIT |
@modelcontextprotocol/sdk |
MCP server | MIT |
Development
npm install
npm run build # compile TypeScript
npm test # run test suite
npm run lint # type-check without emit
npm run dev # watch mode
Testing
npm test
70 tests covering:
- Date arithmetic (leap years, month boundaries, DST transitions)
- Timezone conversion (UTC, DST zones, non-DST zones, half-hour offsets)
- Business days (US, UK, Iran, Japan weekends; holiday interactions)
- Holidays (multiple countries, observed dates)
- Recurrence (weekly, monthly, yearly, DST-crossing)
- Calendar systems (Gregorian ↔ Persian round-trips)
- Natural language parsing
- Input validation
- Invariant/property tests
License
MIT
Установка mrfelfel/taghvim
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/mrfelfel/taghvimFAQ
mrfelfel/taghvim MCP бесплатный?
Да, mrfelfel/taghvim MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для mrfelfel/taghvim?
Нет, mrfelfel/taghvim работает без API-ключей и переменных окружения.
mrfelfel/taghvim — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить mrfelfel/taghvim в Claude Desktop, Claude Code или Cursor?
Открой mrfelfel/taghvim на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Notion
Read and write pages in your workspace
автор: NotionLinear
Issues, cycles, triage — from Claude
автор: LinearGoogle Drive
Search and read your Drive files
автор: Googlemindsdb/mindsdb
Connect and unify data across various platforms and databases with [MindsDB as a single MCP server](https://docs.mindsdb.com/mcp/overview).
автор: mindsdbfulcradynamics/fulcra-context-mcp
MCP server for accessing personal health and biometric data including sleep stages, heart rate, HRV, glucose, workouts, calendar, and location via the Fulcra Li
автор: fulcradynamicsaymericzip/intlayer
A MCP Server that enhance your IDE with AI-powered assistance for Intlayer i18n / CMS tool: smart CLI access, access to the docs.
автор: aymericziprinadelph/Agent-MCP
A framework for creating multi-agent systems using MCP for coordinated AI collaboration, featuring task management, shared context, and RAG capabilities.
автор: rinadelphWhenLabs-org/when
Developer toolkit: auto-detect stack for AI context files, catch port conflicts, validate .env schemas, spot docs drift, audit dependency licenses, and time cod
автор: WhenLabs-orgBeltran12138/wecom-docs-mcp-server
WeCom (Enterprise WeChat) document operations via MCP: create, read, and edit Docs and Smartsheets (9 tools). Fills the doc-CRUD gap — existing WeCom MCP server
автор: Beltran12138madbonez/caldav-mcp
Universal MCP server for CalDAV protocol integration. Works with any CalDAV-compatible calendar server including Yandex Calendar, Google Calendar (via CalDAV),
автор: madbonezCompare mrfelfel/taghvim with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории productivity
