使用说明
农历日历MCP服务器
中文 | 英语
一个用于中国传统历法功能的模型上下文协议(MCP)服务器,采用Python 3.12和lunar-python构建。
🚀 快速入门(推荐)
使用UVX一键启动
uvx bach-lunar-mcp
就是这个! 无需安装,无需设置虚拟环境,无需管理依赖项。UVX 将自动下载并运行服务器。
在您的MCP客户端中进行配置
Cursor 集成开发环境(IDE)
{
"mcpServers": {
"lunar-calendar": {
"command": "uvx",
"args": ["bach-lunar-mcp"]
}
}
}
Claude 桌面版
{
"mcpServers": {
"lunar-calendar": {
"command": "uvx",
"args": ["bach-lunar-mcp"]
}
}
}
Cherry Studio(樱桃工作室)
{
"mcpServers": {
"lunar-calendar": {
"command": "uvx",
"args": ["bach-lunar-mcp"]
}
}
}
📦 PyPI 包https://pypi.org/project/bach-lunar-mcp/ 的中文翻译可以是:“https://pypi.org 上的项目:bach-lunar-mcp”。不过,通常我们不会直接翻译网址,而是直接使用原网址,或者在需要说明时简单提及。如果非要给出一个类似“标题”的翻译,可以是“PyPI 上的 bach-lunar-mcp 项目”,但具体还是根据上下文来决定如何表述
📖 快速入门指南: QUICKSTART_UVX.md 翻译为中文是:“快速入门_UVX.md”
特点/功能
🎋(这个符号本身在中文中没有直接对应的翻译,它通常代表日本的千纸鹤或某种装饰性图案,根据上下文可能需要具体解释或保留原样) 八字算命 - 计算八个字符以进行算命
📅 日历 日历转换 - 在阳历和阴历之间进行转换
🌙 月亮(或:月光) 黄历查询 - 中国黄历,每日推荐
🔮(这个符号本身在中文中没有直接对应的翻译,它通常代表神秘、魔法或预知等概念,可以理解为“神秘之眼”或“魔法水晶球”等意象,但具体翻译需根据上下文来确定。) 每日运势 - 每日运势与建议
⭐ 节气 - 查询任意年份的24个节气
计算器 五行分析 - 根据出生信息进行五行分析
安装
先决条件
- Python 3.12及以上版本
- UV包管理器
设置
- 克隆仓库:
git clone <repository-url>
cd lunar-mcp-server
- 安装 uv(如果尚未安装):
curl -LsSf https://astral.sh/uv/install.sh | sh
- 安装项目及其依赖项:
uv sync
这将自动:
- 使用Python 3.12创建一个虚拟环境
- 从 pyproject.toml 安装所有依赖项
- 生成 uv.lock 以确保构建过程的可重复性
使用方法
作为MCP服务器
在您的MCP客户端中进行配置(例如,Claude桌面版):
{
"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_calculate(八字计算)
计算八字(四柱)以占卜命运。
参数:
birth_date出生日期格式为YYYY-MM-DDbirth_time出生时间,格式为HH:MM
示例:
{
"birth_date": "1990-01-01",
"birth_time": "08:30"
}
2. 日历转换器
在阳历和阴历之间进行转换。
参数:
date日期格式为YYYY-MM-DDconvert_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. jieqi查询
查询特定年份的24个节气。
参数:
year查询年份
示例:
{
"year": 2024
}
6. 五行分析
根据出生信息分析五行(金木水火土)。
参数:
birth_date出生日期格式为YYYY-MM-DDbirth_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/
依赖项
- mcp模型上下文协议实现
- **lunar-python(可译为“月球之Python”或根据上下文意译为“用于月球任务的Python”等,具体取决于该术语在特定语境中的含义)**中国农历库
- **pydantic(一个用于数据验证和设置管理的Python库)**数据验证和设置管理
贡献
- 为仓库创建分支(或“克隆仓库”)
- 创建你的特性分支
- 提交您的更改
- 推送至分支
- 创建拉取请求
许可证
此项目采用MIT许可证授权——详见 许可证 文件中有详细信息。
致谢
- lunar-python 翻译为中文是“月球-Python”或“针对月球应用的Python(库/项目)”,具体含义可能根据上下文有所调整。这里,“lunar”通常指的是与月球相关的,而“python”则指的是编程语言Python - 卓越的中国农历库
- MCP(Multi-Channel Protocol) - 模型上下文协议规范
注: 这是一个用于教育和娱乐目的的传统日历工具。请负责任地使用。