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

@formosa-mcp/taiwan-calendar

v1.0.1

Published

Taiwan MCP server: taiwan-calendar

Readme

Taiwan Calendar MCP Server

查詢台灣國定假日、判斷工作日、國曆農曆轉換、計算工作天數。結合 data.gov.tw 假日 API 與農曆查表演算法。

Tools

| Tool | Description | Required Params | |------|-------------|-----------------| | get_holidays | 查詢指定年度國定假日 | year | | is_business_day | 判斷指定日期是否為工作日 | date | | convert_to_lunar | 國曆轉農曆(含生肖、天干地支) | date | | convert_to_solar | 農曆轉國曆 | lunarYear, lunarMonth, lunarDay | | count_business_days | 計算兩日期間工作天數 | startDate, endDate |

Tool Parameters

get_holidays

  • year (number, required) — 年度(西元),如 2026

is_business_day

  • date (string, required) — 日期,YYYY-MM-DD 格式

convert_to_lunar

  • date (string, required) — 國曆日期,YYYY-MM-DD 格式

convert_to_solar

  • lunarYear (number, required) — 農曆年(西元)
  • lunarMonth (number, required) — 農曆月(1-12)
  • lunarDay (number, required) — 農曆日
  • isLeapMonth (boolean, optional) — 是否為閏月(預設 false)

count_business_days

  • startDate (string, required) — 起始日期,YYYY-MM-DD 格式
  • endDate (string, required) — 結束日期,YYYY-MM-DD 格式

Endpoints

| Path | Transport | Description | |------|-----------|-------------| | POST /mcp | MCP Streamable HTTP | Claude Desktop / Cursor / MCP clients | | POST / | JSON-RPC 2.0 | Legacy — Composer backward compatible | | GET / | HTTP | Server info |

Quick Start

Prerequisites

  • None (data.gov.tw Open Data API does not require an API key)

Development

npm install
npm run dev    # http://localhost:8787
npm test       # 72 tests

Environment Variables

| Variable | Required | Description | |----------|----------|-------------| | SERVER_NAME | Auto | Set in wrangler.toml (taiwan-calendar) | | SERVER_VERSION | Auto | Set in wrangler.toml (1.0.0) |

Usage Example

# MCP Streamable HTTP — list tools
curl -X POST http://localhost:8787/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

# Get holidays for 2026
curl -X POST http://localhost:8787/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_holidays","arguments":{"year":2026}}}'

# Convert solar to lunar
curl -X POST http://localhost:8787/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"convert_to_lunar","arguments":{"date":"2026-01-01"}}}'

Data Sources

Holidays API

  • API: data.gov.tw Open Data (https://data.gov.tw/api/v2/rest/datastore)
  • Dataset: 382000000A-000077-001 (行政院人事行政總處)
  • Auth: None
  • Rate Limit: No documented rate limit

Lunar Calendar

  • Algorithm: Lookup table (1900-2100)
  • Encoding: Each year encoded as a number representing month lengths, leap month info
  • Features: Solar-Lunar conversion, Zodiac (生肖), Heavenly Stems & Earthly Branches (天干地支)

File Structure

src/
  index.ts           — Hono HTTP entry + /mcp route
  mcp-server.ts      — McpServer factory (Zod schemas)
  mcp-handler.ts     — Legacy JSON-RPC handler
  client.ts          — data.gov.tw holiday fetcher
  lunar-data.ts      — Lunar calendar lookup table (1900-2100)
  types.ts           — TypeScript types
  tools/             — Tool implementations
    holidays.ts        — get_holidays
    business-day.ts    — is_business_day
    lunar-convert.ts   — convert_to_lunar
    solar-convert.ts   — convert_to_solar
    count-days.ts      — count_business_days
tests/               — Vitest tests (72 tests)
wrangler.toml        — Worker config
package.json         — Dependencies