Click on "Install 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., "@mcp-chronoConvert 9 AM tomorrow in New York to Shanghai time and tell me the lunar date."
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.
mcp-chrono
MCP server providing time, calendar, timezone, Chinese lunar calendar, almanac, and date utilities for AI agents.
Quick Start
Using npx (no installation needed)
Global install
Usage with MCP Clients
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Claude Code
Or with a custom data directory:
Cursor
Add to .cursor/mcp.json in your project root:
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
Generic MCP client (mcp.json)
Any MCP-compatible client can use the standard mcp.json format:
With custom data directory:
Data Directory
Holiday API responses are cached locally to avoid repeated network requests. Default location: ~/.mcp-chrono/
Override with --data-dir:
Tools
Time & Timezone
get_current_time
Get current time in any IANA timezone with detailed components (timestamp, weekday, week of year, day of year, UTC offset, etc.)
Parameter | Type | Required | Default | Description |
| string | No |
| IANA timezone (e.g. |
| string | No |
| Output format: |
convert_timezone
Convert a datetime between two IANA timezones.
Parameter | Type | Required | Description |
| string | Yes | ISO 8601 datetime (e.g. |
| string | Yes | Source IANA timezone |
| string | Yes | Target IANA timezone |
list_timezones
Search IANA timezones with current offsets and Chinese city names.
Parameter | Type | Required | Description |
| string | No | Search by timezone name, city, or Chinese name |
| string | No | Filter by continent (e.g. |
parse_timestamp
Parse Unix timestamps (seconds/milliseconds) or ISO 8601 strings into date components.
Parameter | Type | Required | Default | Description |
| string | number | Yes | - | Unix timestamp (seconds or milliseconds) or ISO 8601 string |
| string | No |
| IANA timezone for output |
Date Calculation
calculate_time
Add/subtract time from a date. Returns a new date after applying the offset.
Three modes: gregorian (standard date arithmetic), lunar (Chinese calendar arithmetic), anchor (offset from a named festival like 春节 or Thanksgiving).
Parameter | Type | Required | Default | Description |
| string | No |
| Calculation mode: |
| string | No | now | Base date in ISO format. Defaults to current time if omitted |
| string | No |
| IANA timezone for the base date |
| integer | No | - | Years to add (negative to subtract) |
| integer | No | - | Months to add (negative to subtract) |
| integer | No | - | Days to add (negative to subtract) |
| integer | No | - | Hours to add (negative to subtract) |
| integer | No | - | Minutes to add (negative to subtract) |
| string | No | - | Festival name for |
| integer | No | - | Year to resolve festival date for |
date_diff
Calculate the difference between two dates in years, months, days, hours, minutes, and total counts.
Parameter | Type | Required | Default | Description |
| string | Yes | - | Start date in ISO 8601 format |
| string | Yes | - | End date in ISO 8601 format |
| string | No |
| IANA timezone for parsing dates |
countdown
Countdown from now to a target date with remaining days/hours/minutes/seconds.
Parameter | Type | Required | Default | Description |
| string | Yes | - | Target date/time in ISO 8601 format |
| string | No |
| IANA timezone for the target date |
calculate_business_days
Count or add business days, skipping weekends and optionally public holidays (supports CN makeup workdays).
Parameter | Type | Required | Default | Description |
| string | Yes | - |
|
| string | Yes | - | Start date in |
| string | No | - | End date in |
| integer | No | - | Number of business days to add (required for |
| string | No | - | Country code for public holidays (e.g. |
| string | No |
| IANA timezone |
Calendar & Festivals
convert_calendar
Convert between Gregorian and Chinese Lunar calendar. Returns Ganzhi (干支), zodiac, solar terms, festivals, constellation.
Parameter | Type | Required | Default | Description |
| string | Yes | - |
|
| integer | Yes | - | Year |
| integer | Yes | - | Month (1–12) |
| integer | Yes | - | Day (1–31) |
| boolean | No |
| For |
get_festivals
List festivals, solar terms, and public holidays within a date range. Filterable by type.
Parameter | Type | Required | Default | Description |
| string | Yes | - | Start date in |
| string | Yes | - | End date in |
| string | No |
| Country code for public holidays (e.g. |
| string[] | No | - | Filter by type: |
get_month_info
Month details: day count, first/last weekday, leap year, quarter, week count.
Parameter | Type | Required | Description |
| integer | Yes | Year (e.g. 2024) |
| integer | Yes | Month (1–12) |
Chinese Almanac
get_almanac
Chinese almanac (黄历) for a date: 宜/忌 activities, lucky directions (喜神/财神/福神), conflict zodiac, 彭祖百忌, 吉神宜趋, 凶煞宜忌, 天神, 纳音, and more.
Parameter | Type | Required | Default | Description |
| string | No | today | Date in |
Persistent Countdowns
manage_countdown
CRUD for persistent countdown timers, stored as JSON on disk.
Parameter | Type | Required | Default | Description |
| string | Yes | - |
|
| string | No | - | Countdown ID (required for |
| string | No | - | Name/description (required for |
| string | No | - | Target date in ISO 8601 format (required for |
| string | No |
| IANA timezone |
Supported Regions
Region | Festivals | Public Holiday API |
CN | 27 festivals (lunar + solar) | timor.tech (includes makeup workdays) |
US | 10 federal holidays | |
HK | 17 public holidays (lunar, Easter, Ching Ming, fixed) |
License
MIT