祈祷时间计算服务

一个基于AlAdhan API的伊斯兰祈祷时间计算服务,提供全球范围内的精确祈祷时间,支持多种计算方法和日期查询,适用于AI助手和MCP客户端集成。

  • by mustafamjumaah
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 mustafamjumaah/prayer-times-mcp-server

使用说明

MCP服务器祷告时间

模型上下文协议(MCP)服务器,使用AlAdhan API提供伊斯兰祈祷时间。该服务器允许AI助手和其他MCP客户端访问全球任何地点的准确祈祷时间。

特性

  • 🌍 全球覆盖:获取全球任何地点的祈祷时间
  • 📅 多日期支持:获取特定日期或完整月历的祈祷时间
  • 🕌 22计算方法:支持不同的伊斯兰当局和计算方法
  • ⏰ 下一个祷告检测:查找下一个即将到来的祈祷时间
  • 🎯 精确调谐:通过自定义调整微调祈祷时间
  • 📚 丰富的资源:访问文档和方法信息
  • 🤖 AI就绪:专为与AI助手和MCP客户端集成而设计

安装

  1. 安装所需的依赖项:
pip install mcp aiohttp
  1. 克隆或下载服务器文件:
git clone <repository-url>
cd mcp-test

用法

运行服务器

启动MCP服务器:

python server.py

服务器使用stdio传输运行,并等待MCP客户端连接。

可用工具

1. get_prayer_times_by_address

获取特定地址的祈祷时间。

参数:

  • address (必填):完整地址(例如,“阿联酋迪拜”、“英国伦敦”)
  • method (可选):计算方法ID(1-22),默认为8(海湾地区)
  • date (可选):日期格式为DD-MM-YYYY,默认为今天
  • tune (可选):每个祈祷时间的逗号分隔的调整值

例子:

{
  "address": "Dubai, UAE",
  "method": 8,
  "date": "15-01-2024"
}

2. get_prayer_times_by_city

获取特定城市和国家的祈祷时间。

参数:

  • city (必填):城市名称
  • country (必填):国家名称
  • method (可选):计算方法ID(1-22),默认为8
  • date (可选):日期格式为DD-MM-YYYY

例子:

{
  "city": "London",
  "country": "UK",
  "method": 2
}

3. get_monthly_calendar

获取一个月的祈祷时间日历。

参数:

  • address (必填):完整地址
  • month (必填):月份编号(1-12)
  • year (必填):年份(例如2024年)
  • method (可选):计算方法ID(1-22),默认为8

例子:

{
  "address": "Mecca, Saudi Arabia",
  "month": 1,
  "year": 2024,
  "method": 4
}

4. get_next_prayer

获取下一个即将到来的祈祷时间。

参数:

  • address (必填):完整地址
  • method (可选):计算方法ID(1-22),默认为8

例子:

{
  "address": "New York, USA",
  "method": 2
}

可用资源

1. prayer://methods

列出所有可用的祈祷时间计算方法及其说明。

2. prayer://current-times

阿联酋迪拜的当前祈祷时间(默认地点)。

3. prayer://documentation

关于如何使用祈祷时间API的综合文档。

可用提示

1. daily_prayer_reminder

为特定地点生成格式化的每日祈祷时间提醒。

参数:

  • location (必填):城市和国家(例如“英国伦敦”)
  • method (可选):计算方法ID(1-22)

祷告计算方法

该服务器支持全球各种伊斯兰当局使用的22种不同计算方法:

  1. 世界穆斯林联盟
  2. 北美伊斯兰协会
  3. 埃及测量总局
  4. 麦加乌姆库拉大学
  5. 卡拉奇伊斯兰科学大学
  6. 德黑兰大学地球物理研究所
  7. 什叶派Ithna Ashari,Leva研究所,库姆
  8. 海湾地区 (默认)
  9. 科威特
  10. 卡塔尔
  11. 新加坡伊斯兰教理事会,新加坡
  12. 法兰西伊斯兰联盟组织
  13. 土耳其食品事务总局
  14. 俄罗斯穆斯林的精神管理
  15. 月球观测委员会
  16. 阿联酋迪拜
  17. 马来西亚伊斯兰发展部(JAKIM)
  18. 突尼斯
  19. 阿尔及利亚
  20. 印度尼西亚阿加马共和国政府
  21. 摩洛哥
  22. 里斯本伊斯兰共同体(葡萄牙)

调谐参数

您可以通过使用以下命令从每个祈祷时间中增减分钟来微调祈祷时间 tune 参数:

格式: Imsak,Fajr,Sunrise,Dhuhr,Asr,Maghrib,Sunset,Isha,Midnight

例子: 0,0,0,0,0,0,0,0,0 (无调整)

API集成

此服务器使用 AlAdhan API公司 获取准确的祈祷时间。API提供:

  • 基于天文数据的精确祈祷时间计算
  • 支持多种计算方法
  • 地理编码覆盖全球
  • 回历日期信息
  • 日出、日落和其他太阳时间

错误处理

服务器提供全面的错误处理:

  • 网络错误:妥善处理API连接问题
  • 无效参数:验证输入参数并提供清晰的错误消息
  • API错误:处理API响应错误并提供有意义的反馈
  • 资源未找到:清除未知资源或工具的错误消息

测试

运行测试脚本以验证服务器功能:

python simple_test.py

贡献

欢迎通过以下方式为该项目做出贡献:

  1. 报告错误
  2. 建议新功能
  3. 添加对其他计算方法的支持
  4. 改进错误处理
  5. 添加更全面的测试

许可证

这个项目是开源的,可以在MIT许可证下使用。

致谢


注: 此服务器专为教育和实际使用而设计。对于关键应用程序,请确保您有适当的错误处理和回退机制。