README
🚀 Zmanim MCP Server
Zmanim MCP Server是一个全面的MCP服务器,用于计算犹太祈祷时间(zmanim)。它借助python - zmanim库,能够为全球任意地点计算各类犹太祈祷时间和天文时间。
🚀 快速开始
此MCP服务器提供了计算世界各地犹太祈祷时间和天文时间的工具。它利用python - zmanim库(KosherJava项目的Python移植版本),基于NOAA算法实现精确的天文计算。
✨ 主要特性
可用工具
- zmanim_get_sunrise_sunset - 获取日出和日落时间
- zmanim_get_shema_times - 获取晨祷经文(Shema)的最晚诵读时间(依据GR"A和MG"A观点)
- zmanim_get_tefila_times - 获取晨祷(Shacharis)的最晚时间(依据GR"A和MG"A观点)
- zmanim_get_mincha_times - 获取下午祈祷时间,包括大祈祷时间(Mincha Gedola)、小祈祷时间(Mincha Ketana)和祈祷间隔时间(Plag HaMincha)
- zmanim_get_shabbat_times - 获取安息日蜡烛点燃和哈夫达拉(Havdalah)时间
- zmanim_get_daily_times - 获取所有每日祈祷时间的综合信息
关键特性
- ✅ 支持多种犹太律法观点(GR"A、MG"A)
- ✅ 基于NOAA的精确天文计算
- ✅ 支持任意经纬度的全球地点
- ✅ 支持时区感知计算
- ✅ 可选日期指定(默认今天)
- ✅ 多种输出格式(Markdown和JSON)
- ✅ 可自定义蜡烛点燃时间偏移量
- ✅ 全面的错误处理
📦 安装指南
通过PyPI(推荐)
# 用于Claude Desktop或其他MCP客户端
uvx zmanim-mcp-server
Claude Desktop配置
添加到claude_desktop_config.json:
{
"mcpServers": {
"zmanim": {
"command": "uvx",
"args": ["zmanim-mcp-server"]
}
}
}
💻 使用示例
基础用法
获取日出和日落时间
获取纽约市今天的日出和日落时间:
- 地点:纽约,纽约州
- 纬度:40.7128
- 经度:-74.0060
- 时区:America/New_York
获取晨祷经文(Shema)的最晚诵读时间
在耶路撒冷,我最晚什么时候可以诵读晨祷经文(Shema)?
- 地点:耶路撒冷
- 纬度:31.7683
- 经度:35.2137
- 时区:Asia/Jerusalem
获取安息日时间
获取芝加哥本周五的安息日蜡烛点燃和哈夫达拉(Havdalah)时间:
- 地点:芝加哥,伊利诺伊州
- 纬度:41.8781
- 经度:-87.6298
- 时区:America/Chicago
- 蜡烛点燃时间偏移量:18分钟(可自定义)
获取完整的每日祈祷时间表
给我伦敦今天的所有祈祷时间:
- 地点:伦敦
- 纬度:51.5074
- 经度:-0.1278
- 时区:Europe/London
📚 详细文档
犹太祈祷时间解释
早晨时间
- Alos HaShachar(黎明):日出前72分钟的第一缕光线
- Sunrise(Hanetz HaChama):太阳升起在地平线之上的时间
- Sof Zman Krias Shema:晨祷经文(Shema)的最晚诵读时间
- GR"A:日出后3小时
- MG"A:从黎明(日出前72分钟)起3个临时小时(通常更早)
- Sof Zman Tefila:晨祷(Shacharis)的最晚时间
- GR"A:日出后4小时
- MG"A:从黎明起4个临时小时(通常更早)
下午时间
- Chatzos:太阳正午,日出和日落的中点
- Mincha Gedola:下午祈祷的最早时间(中午后30分钟)
- Mincha Ketana:下午祈祷的首选最早时间(日落前2.5小时)
- Plag HaMincha:日落前1.25小时(某些观点认为的最晚时间)
晚上时间
- Sunset(Shkiah):太阳落下地平线以下的时间
- Tzeis HaKochavim:夜幕降临,星星出现的时间(日落后72分钟)
安息日和节日
- Candle Lighting:通常在日落前18 - 40分钟(因社区而异)
- Havdalah:安息日结束的时间,通常在夜幕降临(日落后72分钟)
犹太律法观点
服务器支持根据不同犹太律法权威进行计算:
- GR"A(维尔纳加昂):从日出到日落计算一天
- MG"A(马根·亚伯拉罕):从黎明(日出前72分钟)到夜幕降临计算一天
响应格式
Markdown格式(默认)
具有清晰标题和有序章节的人类可读格式,非常适合展示。
JSON格式
包含ISO 8601时间戳的机器可读结构化数据,适用于编程使用。
输入参数
所有工具接受以下参数:
- location(必需):地点名称(例如,"纽约,纽约州")
- latitude(必需):十进制纬度(-90到90)
- longitude(必需):十进制经度(-180到180)
- time_zone(必需):IANA时区标识符(例如,"America/New_York")
- date(可选):YYYY - MM - DD格式的日期(默认今天)
- response_format(可选):"markdown"或"json"(默认markdown)
对于安息日时间,还有一个额外参数:
- candle_lighting_offset(可选):日落前的分钟数(1 - 60,默认18)
🔧 技术细节
计算方式
- 使用NOAA(美国国家海洋和大气管理局)算法
- 考虑大气折射
- 使用IANA时区数据库进行时区感知计算
- 计算中可纳入海拔信息
依赖项
- mcp:模型上下文协议SDK
- zmanim:KosherJava zmanim库的Python移植版本
- pydantic:输入验证和数据建模
📚 常见地点示例
| 属性 | 详情 | |------|------| | 地点 | 纬度 | 经度 | 时区 | | 耶路撒冷 | 31.7683 | 35.2137 | Asia/Jerusalem | | 纽约 | 40.7128 | -74.0060 | America/New_York | | 洛杉矶 | 34.0522 | -118.2437 | America/Los_Angeles | | 伦敦 | 51.5074 | -0.1278 | Europe/London | | 巴黎 | 48.8566 | 2.3522 | Europe/Paris | | 悉尼 | -33.8688 | 151.2093 | Australia/Sydney | | 多伦多 | 43.6532 | -79.3832 | America/Toronto | | 迈阿密 | 25.7617 | -80.1918 | America/New_York |
📚 故障排除
服务器未在MCP客户端中显示
- 检查配置中的路径是否正确
- 确保Python和所有依赖项已安装
- 验证配置文件语法是否为有效的JSON
- 配置更改后重启MCP客户端
时间显示为"N/A"
这种情况通常发生在极地附近的地点,某些日子太阳不会升起或落下。计算会优雅地返回"N/A"。
时区错误
确保使用有效的IANA时区标识符。你可以在以下链接找到列表:https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
📄 许可证
此MCP服务器使用python - zmanim库,该库根据GNU Lesser General Public License v2或更高版本(LGPLv2 +)许可,源自KosherJava项目。
📚 致谢
- 基于pinnymz的python - zmanim库
- 原始Java库:Eliyahu Hershfeld的KosherJava
- NOAA天文计算
📚 支持
此MCP服务器相关问题
请详细说明配置和问题并提交问题报告。
犹太祈祷时间计算问题
犹太律法问题
请咨询当地拉比或律法专家。
📚 未来增强功能
可考虑的潜在新增功能:
- 希伯来日期计算
- 斋戒日时间
- 新月计算
- 节日确定
- 自定义观点配置
- 多日范围查询
- 导出到日历格式(iCal)
⚠️ 重要提示
此服务器仅用于信息参考。如需实际的犹太律法决策,请咨询合格的拉比。
微信扫一扫