About calendar-mcp
calendar-mcp provides Chinese public holiday and makeup-workday schedules for 2025–2026, along with solar-to-lunar date conversion. It is intended for AI agents needing calendar details, zodiac signs, or ganzhi data.
Key features
- 01Holiday and makeup-workday lookup
- 02Solar-to-lunar date conversion
- 03Zodiac and ganzhi results
- 04Yearly statutory holiday schedules
- 05Bundled local holiday data
Use cases
- 01Check whether a date is a public holiday
- 02Convert a solar date to its lunar date
- 03Review a year's holiday and makeup-workday schedule
MCP support
The server exposes holiday lookup, solar-to-lunar conversion, and yearly holiday listing tools to MCP clients over Streamable HTTP. A public endpoint is available without an API key.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://mcp.pianam.cn/calendar-mcp/mcpclaude mcp add --transport http cn-pianam-mcp-calendar https://mcp.pianam.cn/calendar-mcp/mcp{"mcpServers":{"cn-pianam-mcp-calendar":{"type":"http","url":"https://mcp.pianam.cn/calendar-mcp/mcp"}}}Open in Cursor{"servers":{"cn-pianam-mcp-calendar":{"type":"http","url":"https://mcp.pianam.cn/calendar-mcp/mcp"}}}Open in VS Code{"mcpServers":{"cn-pianam-mcp-calendar":{"type":"http","url":"https://mcp.pianam.cn/calendar-mcp/mcp"}}}{"mcpServers":{"cn-pianam-mcp-calendar":{"serverUrl":"https://mcp.pianam.cn/calendar-mcp/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMEChina Calendar & Lunar MCP
Chinese calendar tools for AI agents: statutory public holidays & makeup-workday schedules (2025–2026, per the State Council of China) plus accurate solar-to-lunar calendar conversion (lunar date, zodiac animal, ganzhi / heavenly-stems-earthly-branches).
- Try it in 30 seconds: a free public MCP endpoint is already running — just paste the URL into your MCP client (no install, no API key).
- Or self-host: a small FastMCP server; holiday data is bundled locally, lunar conversion uses the
sxtwlephemeris library (pure-Pythonlunardatefallback supported).
⚡ Use the hosted endpoint (no setup)
https://mcp.pianam.cn/calendar-mcp/mcp
Transport: Streamable HTTP (MCP 2025-03-26 compatible). No authentication required.
🔌 Client configuration
Add this to your MCP client's mcpServers configuration (Claude Desktop claude_desktop_config.json, Cursor mcp.json, Cline, Cherry Studio, etc.):
{
"mcpServers": {
"calendar": {
"type": "http",
"url": "https://mcp.pianam.cn/calendar-mcp/mcp"
}
}
}
Clients that do not accept
"type": "http"accept the same entry with just"url".
🧰 Tools
| Tool | Parameters | Returns | |
---|---|---|
| query_holiday(date) | date: solar date YYYY-MM-DD, e.g. "2026-10-01". | Weekday, holiday name (if any), day type — public holiday off-day / makeup workday / normal workday / weekend — plus the lunar date for that day. |
| solar_to_lunar(year, month, day) | year/month/day: solar date integers. | Lunar year/month/day, leap-month flag, lunar date string (Chinese), zodiac animal, and year/month/day ganzhi (干支). |
| list_holidays(year) | year: integer year, e.g. 2026. | All statutory holidays of the year: name, off-day count, date ranges, exact off dates and makeup-workday dates. |
Examples
- "2026-10-01 是节假日吗?" → National Day holiday, with lunar date attached.
- "2026-02-17 农历是多少?" → lunar date, zodiac, ganzhi.
- "列出 2026 年全部法定节假日和调休安排" → full year schedule.
📡 Data
- Holidays: official holiday-arrangement notices issued by the General Office of the State Council of China (国务院办公厅). Bundled locally for 2025 and 2026; extend
HOLIDAY_DATAto add more years. - Lunar conversion:
sxtwl(ShouWang calendar ephemeris, C extension). Ifsxtwlis unavailable the server automatically falls back to the pure-Pythonlunardatelibrary (install it separately). - No external HTTP API and no API key is required.
🐢 Self-hosting
git clone https://github.com/boy-373/calendar-mcp.git
cd calendar-mcp
pip install -r requirements.txt
python server.py
# listens on 127.0.0.1:8000 by default; override with:
# MCP_HOST=0.0.0.0 MCP_PORT=9000 python server.py
# behind a reverse proxy, allow your public hostname:
# MCP_ALLOWED_HOSTS="your-domain.com,your-domain.com:*" python server.py
Then point your MCP client at http://127.0.0.1:8000/mcp.
You can also run the server with uv:
uv venv && uv pip install -r requirements.txt
uv run python server.py
🗂️ Files
calendar_server.py— the MCP server: holiday data, lunar conversion, FastMCP tool definitions.server.py— standalone Streamable HTTP entry point (binds host/port, serves the MCP app at/mcp).requirements.txt— Python dependencies.LICENSE— MIT.
🇨🇳 中文说明
中国万年历 MCP:法定节假日 / 调休安排查询(2025–2026,依据国务院办公厅通知)与公历转农历(农历年月日、闰月、生肖、干支)。
在线直连(免费、无需 Key):https://mcp.pianam.cn/calendar-mcp/mcp
工具:
query_holiday(date):查询某公历日期的节假日 / 调休安排,附带农历信息。solar_to_lunar(year, month, day):公历转农历,返回农历日期、闰月、生肖、干支。list_holidays(year):列出某年全部法定节假日放假与调休上班日期。
节假日数据内置本地(2025、2026,可逐年扩展);农历转换使用 sxtwl 历库,缺失时自动降级到纯 Python 的 lunardate;全程无需外部 API 与密钥。
📄 License
MIT © 2026 boy-373 (刘扶阳)
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.