npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

mcp-chrono

v1.0.1

Published

MCP server for time, calendar, timezone, Chinese lunar calendar, almanac, and date utilities

Readme

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)

npx mcp-chrono

Global install

npm install -g mcp-chrono
mcp-chrono

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):

{
  "mcpServers": {
    "chrono": {
      "command": "npx",
      "args": ["-y", "mcp-chrono"]
    }
  }
}

Claude Code

claude mcp add chrono -- npx -y mcp-chrono

Or with a custom data directory:

claude mcp add chrono -- npx -y mcp-chrono --data-dir /path/to/data

Cursor

Add to .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "chrono": {
      "command": "npx",
      "args": ["-y", "mcp-chrono"]
    }
  }
}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "chrono": {
      "command": "npx",
      "args": ["-y", "mcp-chrono"]
    }
  }
}

Generic MCP client (mcp.json)

Any MCP-compatible client can use the standard mcp.json format:

{
  "mcpServers": {
    "chrono": {
      "command": "npx",
      "args": ["-y", "mcp-chrono"],
      "transportType": "stdio"
    }
  }
}

With custom data directory:

{
  "mcpServers": {
    "chrono": {
      "command": "npx",
      "args": ["-y", "mcp-chrono", "--data-dir", "/path/to/data"],
      "transportType": "stdio"
    }
  }
}

Data Directory

Holiday API responses are cached locally to avoid repeated network requests. Default location: ~/.mcp-chrono/

Override with --data-dir:

npx mcp-chrono --data-dir /tmp/mcp-chrono-data

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 | |-----------|------|----------|---------|-------------| | timezone | string | No | UTC | IANA timezone (e.g. Asia/Shanghai, America/New_York) | | format | string | No | iso | Output format: iso, human, or relative |

convert_timezone

Convert a datetime between two IANA timezones.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | datetime | string | Yes | ISO 8601 datetime (e.g. 2024-01-15T10:30:00) | | from_timezone | string | Yes | Source IANA timezone | | to_timezone | string | Yes | Target IANA timezone |

list_timezones

Search IANA timezones with current offsets and Chinese city names.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | query | string | No | Search by timezone name, city, or Chinese name | | continent | string | No | Filter by continent (e.g. Asia, Europe, America) |

parse_timestamp

Parse Unix timestamps (seconds/milliseconds) or ISO 8601 strings into date components.

| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | input | string | number | Yes | - | Unix timestamp (seconds or milliseconds) or ISO 8601 string | | timezone | string | No | UTC | 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 | |-----------|------|----------|---------|-------------| | mode | string | No | gregorian | Calculation mode: gregorian, lunar, or anchor | | base_date | string | No | now | Base date in ISO format. Defaults to current time if omitted | | timezone | string | No | UTC | IANA timezone for the base date | | years | integer | No | - | Years to add (negative to subtract) | | months | integer | No | - | Months to add (negative to subtract) | | days | integer | No | - | Days to add (negative to subtract) | | hours | integer | No | - | Hours to add (negative to subtract) | | minutes | integer | No | - | Minutes to add (negative to subtract) | | festival | string | No | - | Festival name for anchor mode (e.g. 春节, Christmas, Thanksgiving) | | festival_year | integer | No | - | Year to resolve festival date for anchor mode |

date_diff

Calculate the difference between two dates in years, months, days, hours, minutes, and total counts.

| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | start | string | Yes | - | Start date in ISO 8601 format | | end | string | Yes | - | End date in ISO 8601 format | | timezone | string | No | UTC | IANA timezone for parsing dates |

countdown

Countdown from now to a target date with remaining days/hours/minutes/seconds.

| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | target | string | Yes | - | Target date/time in ISO 8601 format | | timezone | string | No | UTC | 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 | |-----------|------|----------|---------|-------------| | action | string | Yes | - | count (count business days between two dates) or add (add business days to a date) | | from | string | Yes | - | Start date in YYYY-MM-DD format | | to | string | No | - | End date in YYYY-MM-DD format (required for count) | | business_days | integer | No | - | Number of business days to add (required for add, negative to subtract) | | country | string | No | - | Country code for public holidays (e.g. CN, US) | | timezone | string | No | UTC | 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 | |-----------|------|----------|---------|-------------| | direction | string | Yes | - | gregorian_to_lunar or lunar_to_gregorian | | year | integer | Yes | - | Year | | month | integer | Yes | - | Month (1–12) | | day | integer | Yes | - | Day (1–31) | | isLeapMonth | boolean | No | false | For lunar_to_gregorian: whether the month is a leap month (闰月) |

get_festivals

List festivals, solar terms, and public holidays within a date range. Filterable by type.

| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | start_date | string | Yes | - | Start date in YYYY-MM-DD format | | end_date | string | Yes | - | End date in YYYY-MM-DD format | | country | string | No | CN | Country code for public holidays (e.g. CN, US, HK) | | types | string[] | No | - | Filter by type: lunar_festival, solar_festival, solar_term, public_holiday |

get_month_info

Month details: day count, first/last weekday, leap year, quarter, week count.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | year | integer | Yes | Year (e.g. 2024) | | month | 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 | |-----------|------|----------|---------|-------------| | date | string | No | today | Date in YYYY-MM-DD format |


Persistent Countdowns

manage_countdown

CRUD for persistent countdown timers, stored as JSON on disk.

| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | action | string | Yes | - | set, get, list, or delete | | id | string | No | - | Countdown ID (required for get / delete; auto-generated for set if omitted) | | name | string | No | - | Name/description (required for set) | | target_date | string | No | - | Target date in ISO 8601 format (required for set) | | timezone | string | No | UTC | IANA timezone |

Supported Regions

| Region | Festivals | Public Holiday API | |--------|-----------|-------------------| | CN | 27 festivals (lunar + solar) | timor.tech (includes makeup workdays) | | US | 10 federal holidays | date.nager.at | | HK | 17 public holidays (lunar, Easter, Ching Ming, fixed) | date.nager.at |

License

MIT