A comprehensive Chinese Lunar Calendar MCP server providing traditional Chinese lunar calendar information, auspicious date checking, and festival data
Project description
๐ Lunar Calendar MCP Server
Traditional Chinese Lunar Calendar for AI Applications
18 Tools | Chinese Zodiac | Five Elements | Moon Phases | Festivals | Auspicious Dates
๐ Overview
A comprehensive Model Context Protocol (MCP) server providing traditional Chinese lunar calendar information, auspicious date checking, and festival data based on Chinese cultural traditions.
Perfect for integrating ancient Chinese wisdom into modern AI applications through the Model Context Protocol.
โจ Features
- ๐ฏ Auspicious Date Analysis - Check favorable dates, find good dates, daily fortune, zodiac compatibility
- ๐ Festival Information - Chinese festivals, next festival, festival details, annual calendars
- ๐ Moon Phase Analysis - Accurate moon phases, location-aware, activity influence, monthly calendars
- ๐ Calendar Conversions - Solar-lunar conversion, zodiac information, cultural integration
- โก Advanced Tools - Batch checking, date comparison, lucky hours
๐ Complete Features List โ
๐ Quick Start
Installation
# Using pip
pip install lunar-mcp-server
# Using uvx (no installation needed)
uvx lunar-mcp-server
# From source
git clone https://github.com/AngusHsu/lunar-mcp-server.git
cd lunar-mcp-server
uv sync
Running the Server
# Using uv
uv run lunar-mcp-server
# Using uvx
uvx lunar-mcp-server
# After pip install
lunar-mcp-server
Claude Desktop Integration
Add to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": {
"lunar-calendar": {
"command": "uvx",
"args": ["lunar-mcp-server"]
}
}
}
๐ ๏ธ Available Tools
๐ฏ Auspicious Date Tools (4)
check_auspicious_date- Check if date is favorablefind_good_dates- Find optimal datesget_daily_fortune- Daily fortune infocheck_zodiac_compatibility- Zodiac compatibility
๐ Festival Tools (4)
get_lunar_festivals- Festivals on dateget_next_festival- Next upcoming festivalget_festival_details- Festival informationget_annual_festivals- Annual calendar
๐ Moon Phase Tools (4)
get_moon_phase- Moon phase infoget_moon_calendar- Monthly calendarget_moon_influence- Activity influencepredict_moon_phases- Phase predictions
๐ Calendar Conversion Tools (3)
solar_to_lunar- Solar to lunar conversionlunar_to_solar- Lunar to solar conversionget_zodiac_info- Zodiac information
โก Advanced Tools (3)
batch_check_dates- Check multiple datescompare_dates- Compare datesget_lucky_hours- Lucky hours of day
๐ Complete API Reference โ
๐ฎ Cultural Traditions
Based on traditional Chinese calendar systems:
- Lunar Calendar - Traditional lunar-solar calendar
- 12 Zodiac Animals - Rat, Ox, Tiger, Rabbit, Dragon, Snake, Horse, Goat, Monkey, Rooster, Dog, Pig
- Five Elements - Wood, Fire, Earth, Metal, Water
- 28 Lunar Mansions - Traditional stellar divisions
- Traditional Festivals - Spring Festival, Mid-Autumn, Dragon Boat, and more
๐ Cultural Traditions Guide โ
๐ Example Usage
import asyncio
from lunar_mcp_server import LunarMCPServer
async def main():
server = LunarMCPServer()
# Check if date is auspicious for wedding
result = await server._check_auspicious_date(
date="2024-03-15",
activity="wedding",
culture="chinese"
)
print(f"Auspiciousness: {result['auspicious_level']}")
print(f"Score: {result['score']}/10")
asyncio.run(main())
๐งช Testing
# Run comprehensive MCP server tests
./scripts/test_mcp_final.sh
# Run unit tests
uv run pytest --cov
๐ฆ Publishing
This server is published to:
- PyPI:
pip install lunar-mcp-server - Smithery.ai:
npx @smithery/cli install lunar-mcp-server(coming soon)
๐ ๏ธ Development
# Clone and setup
git clone https://github.com/AngusHsu/lunar-mcp-server.git
cd lunar-mcp-server
uv sync --dev
# Code quality
uv run black src/ tests/
uv run ruff check src/ tests/
uv run mypy src/
๐ Documentation
- ๐ Usage Examples - Practical examples and integration guides
- ๐ Tools Reference - Complete API documentation
- ๐ Cultural Traditions - Understanding Chinese calendar systems
- ๐ Testing Guide - Running and writing tests
- ๐ Development Guide - Contributing to the project
- ๐ Smithery Publishing - Publishing to MCP registry
๐ License
MIT License - see LICENSE file for details.
๐ Acknowledgments
Built with dedication for preserving and sharing traditional calendar wisdom.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lunar_mcp_server-1.0.1.tar.gz.
File metadata
- Download URL: lunar_mcp_server-1.0.1.tar.gz
- Upload date:
- Size: 38.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
258f16e5a2b8b755014209f497e7c35872f2d3c629759896bbcd0f95e5fcc38c
|
|
| MD5 |
cfc9623ca9157c7f9ab2f34410d1b23d
|
|
| BLAKE2b-256 |
e14ee1e12b93c9bbeddc993bb3e8c66948def68d2bb4e7e8bd2c174121751b55
|
Provenance
The following attestation bundles were made for lunar_mcp_server-1.0.1.tar.gz:
Publisher:
publish.yaml on AngusHsu/lunar-mcp-server
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lunar_mcp_server-1.0.1.tar.gz -
Subject digest:
258f16e5a2b8b755014209f497e7c35872f2d3c629759896bbcd0f95e5fcc38c - Sigstore transparency entry: 584045004
- Sigstore integration time:
-
Permalink:
AngusHsu/lunar-mcp-server@7e526fa234af6488f7b8448fd91be565aaf5ea7d -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/AngusHsu
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@7e526fa234af6488f7b8448fd91be565aaf5ea7d -
Trigger Event:
release
-
Statement type:
File details
Details for the file lunar_mcp_server-1.0.1-py3-none-any.whl.
File metadata
- Download URL: lunar_mcp_server-1.0.1-py3-none-any.whl
- Upload date:
- Size: 41.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ccf5a7e912834434a1d15b59bec9fa707e51e6f4bd31dc52f7f7ca379196f85f
|
|
| MD5 |
4502466da6ebaf30a8195ace92f0cf25
|
|
| BLAKE2b-256 |
3133bbb49711d9320a709da61bba703e1a5e7ca347aaa4b37679c202321c738d
|
Provenance
The following attestation bundles were made for lunar_mcp_server-1.0.1-py3-none-any.whl:
Publisher:
publish.yaml on AngusHsu/lunar-mcp-server
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lunar_mcp_server-1.0.1-py3-none-any.whl -
Subject digest:
ccf5a7e912834434a1d15b59bec9fa707e51e6f4bd31dc52f7f7ca379196f85f - Sigstore transparency entry: 584045005
- Sigstore integration time:
-
Permalink:
AngusHsu/lunar-mcp-server@7e526fa234af6488f7b8448fd91be565aaf5ea7d -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/AngusHsu
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@7e526fa234af6488f7b8448fd91be565aaf5ea7d -
Trigger Event:
release
-
Statement type: