农历日历服务

一个基于Python 3.12和lunar-python构建的中国传统农历日历功能服务,提供八字计算、日历转换、黄历查询等功能。

  • by AlbertHuangKSFO
  • Python
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 AlbertHuangKSFO/lunar_mcp_server

使用说明

农历MCP服务器

中文 | 英语 | 语言选择/Language

一个用于中国传统日历函数的模型上下文协议(MCP)服务器,使用Python 3.12和lunar Python构建。

特性

🎋 八子计算 -计算算命的八个字符
📅 日历转换 -在阳历和阴历之间转换
🌙 黄梨查询 -每日推荐的中国年历
🔮 《每日财富》 -每日财富和推荐
⭐ 节气 -查询任意年份的24个节气
🧮 吴星分析 -出生信息五要素分析

安装

先决条件

  • Python 3.12+
  • uv包管理器

设置

  1. 克隆存储库:
git clone <repository-url>
cd lunar-mcp-server
  1. 安装uv(如果尚未安装):
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 安装具有依赖关系的项目:
uv sync

这将自动:

  • 使用Python 3.12创建虚拟环境
  • 从pyproject.toml安装所有依赖项
  • 为可复制的构建生成uv.lock

用法

作为MCP服务器

在MCP客户端(例如Claude Desktop)中配置:

{
  "mcpServers": {
    "lunar-calendar": {
      "command": "uv",
      "args": ["run", "python", "-m", "src.server"],
      "cwd": "/path/to/lunar-mcp-server"
    }
  }
}

直接使用

您也可以直接使用辅助函数:

# Run with uv
uv run python -c "
from src.utils import LunarHelper
result = LunarHelper.solar_to_lunar(2024, 1, 1)
print(result['lunar_date_chinese'])  # 二〇二三年冬月二十
"

# Calculate BaZi
uv run python -c "
from src.utils import LunarHelper
result = LunarHelper.get_bazi(1990, 1, 1, 8, 30)
print(result['bazi_string'])  # 己巳 丙子 丙寅 壬辰
"

可用工具

1.bazi_compute

计算八字算命。

参数:

  • birth_date:YYYY-MM-DD格式的出生日期
  • birth_time:出生时间,HH:MM格式

例子:

{
  "birth_date": "1990-01-01",
  "birth_time": "08:30"
}

2.日历_转换

在阳历和阴历之间转换。

参数:

  • date:YYYY-MM-DD格式的日期
  • convert_to:“月球”或“太阳”
  • is_leap:是闰月(可选)

例子:

{
  "date": "2024-01-01",
  "convert_to": "lunar"
}

3.黄力_查询

查询特定日期的中文年历信息。

参数:

  • date:YYYY-MM-DD格式的日期

例子:

{
  "date": "2024-01-01"
}

4.幸运日

获取每日财富和推荐。

参数:

  • date:YYYY-MM-DD格式的日期

例子:

{
  "date": "2024-01-01"
}

5.解气_查询

查询特定年份的24个节气。

参数:

  • year:要查询的年份

例子:

{
  "year": 2024
}

6.五星分析

从出生信息分析五行。

参数:

  • birth_date:YYYY-MM-DD格式的出生日期
  • birth_time:出生时间,HH:MM格式

例子:

{
  "birth_date": "1990-01-01",
  "birth_time": "08:30"
}

发展

运行测试

# Quick functionality test
uv run python quick_test.py

# Run MCP server
uv run python run_server.py

# Test specific functionality
uv run python -c "from src.utils import LunarHelper; print('✅ Import works!')"

# Install dev dependencies (optional)
uv add --dev pytest black mypy

代码格式化

# Format code
black src/
isort src/

# Type checking
mypy src/

依赖项

  • 主控程序:模型上下文协议实现
  • 月球蟒蛇:中国农历图书馆
  • 媒染剂:数据验证和设置管理

贡献

  1. 分叉存储库
  2. 创建功能分支
  3. 提交您的更改
  4. 推到分支
  5. 创建拉取请求

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

致谢


注: 这是一个用于教育和娱乐目的的传统日历工具。请负责任地使用。